@font-face { font-family:"Manrope"; src:url("./assets/fonts/Manrope-Variable.ttf") format("truetype"); font-weight:200 800; font-display:swap; }
:root { --deep:#171717; --night:#1d1f20; --navy:#292b2c; --sage:#6b7f6b; --sand:#d4c3a1; --sunset:#f4a261; --offwhite:#f8f6f3; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:var(--deep); color:var(--offwhite); font-family:"Manrope",sans-serif; }
body { min-height:100svh; display:grid; grid-template-rows:auto 1fr; }
a { color:inherit; text-decoration:none; }
header { display:flex; justify-content:space-between; align-items:center; min-height:5rem; padding:1rem clamp(1.25rem,4vw,4rem); border-bottom:1px solid rgba(248,246,243,.16); }
header > a:first-child { display:flex; align-items:center; gap:.65rem; font-size:1rem; font-weight:800; letter-spacing:-.04em; }
header img { width:2.2rem; height:2.2rem; }
header > a:last-child { font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
main { display:grid; grid-template-columns:46% 54%; min-height:calc(100svh - 5rem); }
.copy { align-self:center; position:relative; z-index:2; padding:clamp(3rem,7vw,7rem) clamp(1.25rem,5vw,5rem); }
.eyebrow { color:var(--sage); font-size:.68rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
h1 { margin:1.8rem 0; font-size:clamp(4.5rem,9.5vw,10rem); font-weight:800; line-height:.8; letter-spacing:-.08em; }
p { max-width:31rem; color:rgba(248,246,243,.7); font-size:1.05rem; line-height:1.65; }
.release-jump { display:inline-block; margin-top:1.5rem; padding-bottom:.3rem; border-bottom:1px solid rgba(244,162,97,.8); color:var(--offwhite); font-size:.72rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; transition:color .2s ease,border-color .2s ease; }
.release-jump:hover { color:var(--sunset); border-color:var(--sunset); }
.media { position:relative; min-height:calc(100svh - 5rem); }
.media img { width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.04); }
body.valheim-route main { grid-template-columns:1fr; min-height:auto; }
body.valheim-route .copy { display:flex; min-height:44svh; flex-direction:column; justify-content:center; align-items:flex-start; }
body.astronot { background:var(--deep); color:var(--offwhite); }
body.astronot header { border-color:rgba(248,246,243,.18); }
body.astronot .eyebrow { color:var(--sunset); }
body.astronot p { color:rgba(248,246,243,.72); }
body.astronot h1 { font-size:clamp(3.8rem,8vw,8rem); }
.astronot-library { display:block; min-height:0; background:#101112; }
.astronot-intro { padding:clamp(4rem,7vw,7rem) clamp(1.25rem,5vw,5rem); border-bottom:1px solid rgba(248,246,243,.14); }
.astronot-intro h1 { margin:1.5rem 0 1.6rem; max-width:12ch; }
.astronot-intro p { margin:0; }
.set-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid rgba(248,246,243,.14); }
.set-card { min-width:0; background:#141516; }
.set-card + .set-card { border-left:1px solid rgba(248,246,243,.14); }
.set-preview { position:relative; display:block; overflow:hidden; aspect-ratio:16 / 9; background:#06090a; border-bottom:1px solid rgba(248,246,243,.14); }
.set-preview video,.set-preview img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.8) contrast(1.04); transition:transform .55s ease,filter .35s ease; }
.set-preview::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.68)); pointer-events:none; }
.set-preview:hover video,.set-preview:hover img { transform:scale(1.018); filter:saturate(1) contrast(1.05); }
.set-play { position:absolute; z-index:1; right:1.4rem; bottom:1.15rem; font-size:.66rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.set-body { padding:clamp(2rem,4vw,4rem); }
.set-number { color:var(--sunset); font-size:.63rem; font-weight:800; letter-spacing:.16em; }
.set-body h2 { margin:.8rem 0 1.2rem; font-size:clamp(2.7rem,5vw,5.5rem); line-height:.84; letter-spacing:-.07em; }
.set-body p { margin:0 0 1.5rem; font-size:.9rem; }
.astronot-footer-action { display:flex; justify-content:center; padding:2.5rem 1.25rem 4rem; }
.featured-release { grid-column:1 / -1; display:grid; grid-template-columns:minmax(17rem,34%) 1fr; gap:clamp(2rem,5vw,6rem); align-items:center; padding:clamp(4rem,8vw,8rem) clamp(1.25rem,5vw,5rem); background:#101112; border-top:1px solid rgba(248,246,243,.14); }
body.astronot > .featured-release { min-height:calc(100svh - 5rem); border-top:0; }
.release-copy h2 { margin:1.25rem 0 1.4rem; font-size:clamp(3rem,6vw,6.2rem); font-weight:800; line-height:.86; letter-spacing:-.065em; }
.release-copy p { max-width:28rem; }
.release-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:3.2rem; padding:.85rem 1.15rem; border:1px solid rgba(248,246,243,.34); color:var(--offwhite); font-size:.69rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; transition:background .2s ease,border-color .2s ease; }
.button:hover { background:rgba(248,246,243,.08); border-color:rgba(248,246,243,.68); }
.button-youtube { border-color:#d84a43; }
.button-youtube:hover { background:rgba(216,74,67,.14); border-color:#f05a52; }
.release-player { position:relative; overflow:hidden; width:100%; aspect-ratio:16 / 9; background:#080909; border:1px solid rgba(248,246,243,.14); box-shadow:0 2rem 6rem rgba(0,0,0,.28); }
.release-player iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.release-art { position:relative; overflow:hidden; width:100%; aspect-ratio:16 / 9; background:#080909; border:1px solid rgba(248,246,243,.14); box-shadow:0 2rem 6rem rgba(0,0,0,.28); }
.release-art img { width:100%; height:100%; object-fit:cover; }
body.podcast .copy { background:var(--night); align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
body.podcast .media { background:#171717; }
body.podcast .media img { object-fit:cover; object-position:center; }
.project-socials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; width:100%; max-width:40rem; margin-top:1.8rem; }
.project-socials a { display:grid; grid-template-columns:1.5rem 1fr auto; align-items:center; gap:.8rem; min-width:0; min-height:3.6rem; padding:.8rem 1rem; border:1px solid rgba(248,246,243,.13); border-radius:.4rem; background:rgba(248,246,243,.035); color:rgba(248,246,243,.82); transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease; }
.project-socials a:hover { transform:translateY(-2px); background:rgba(248,246,243,.075); border-color:rgba(244,162,97,.48); color:var(--offwhite); }
.project-socials svg { width:1.35rem; height:1.35rem; fill:currentColor; }
.project-socials strong { font-size:.76rem; font-weight:700; letter-spacing:.025em; }
.project-socials span { color:var(--sunset); font-size:.82rem; }
.project-socials .social-instagram:hover { color:#f2a0bd; }
.project-socials .social-youtube:hover { color:#ff6b64; }
.project-socials .social-linkedin:hover { color:#77b7ef; }
.media .route-valheim-logo { position:absolute; left:6%; bottom:6%; width:min(58%,34rem); height:auto; object-fit:contain; filter:drop-shadow(0 10px 22px rgba(0,0,0,.55)); }
.equipment-panel { display:grid; grid-template-columns:1.2fr .8fr; min-height:26rem; border-top:1px solid rgba(248,246,243,.16); background:#121313; }
.equipment-image { min-height:26rem; overflow:hidden; border-right:1px solid rgba(248,246,243,.16); }
.equipment-image img { width:100%; height:100%; object-fit:cover; object-position:62% center; filter:saturate(.6) brightness(.72) contrast(1.08); }
.equipment-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(2.5rem,5vw,5rem); }
.equipment-copy h2 { margin:.9rem 0 1.2rem; font-size:clamp(3rem,5vw,6rem); font-weight:800; line-height:.82; letter-spacing:-.07em; }
.equipment-copy p { margin:0 0 1.8rem; font-size:.92rem; }
.info-route { grid-template-rows:auto 1fr; }
.info-main { display:grid; grid-template-columns:1fr 1fr; min-height:calc(100svh - 5rem); }
.info-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(3rem,7vw,7rem); background:#181919; }
.info-copy h1 { margin:1.4rem 0 1.8rem; font-size:clamp(4rem,7vw,8rem); }
.info-copy p { max-width:42rem; }
.info-media { min-height:calc(100svh - 5rem); overflow:hidden; }
.info-media img { width:100%; height:100%; object-fit:cover; object-position:68% center; filter:saturate(.62) brightness(.74) contrast(1.06); }
.contact-address { display:inline-block; margin:1.2rem 0 1.8rem; padding-bottom:.35rem; border-bottom:1px solid var(--sunset); font-size:clamp(1.05rem,2vw,1.5rem); font-weight:700; user-select:all; }
.contact-visual { display:grid; place-items:center; padding:3rem; background:radial-gradient(circle at 50% 45%,rgba(244,162,97,.14),transparent 42%),#101112; }
.contact-visual span { color:rgba(248,246,243,.13); font-size:clamp(3rem,7vw,8rem); font-weight:800; line-height:.82; letter-spacing:-.07em; }
@media(max-width:760px){
  header{min-height:4.6rem} main{grid-template-columns:1fr;min-height:0}.media{grid-row:1;min-height:48vh}.copy{padding:3rem 1.25rem 4rem}h1{font-size:clamp(3.5rem,18vw,6.4rem)}body.astronot h1{font-size:clamp(2.8rem,13vw,4.6rem)}
  body.podcast .media{min-height:0;aspect-ratio:16 / 9}body.podcast .media img{object-position:center}
  .featured-release{grid-template-columns:1fr;padding:4rem 1.25rem 5rem;gap:2.5rem}.release-copy h2{font-size:clamp(2.8rem,15vw,4.8rem)}.release-player,.release-art{grid-row:1}.release-actions{display:grid;grid-template-columns:1fr 1fr}.button{padding-inline:.65rem}
  .equipment-panel{grid-template-columns:1fr}.equipment-image{min-height:16rem;border-right:0;border-bottom:1px solid rgba(248,246,243,.16)}.equipment-copy{padding:3rem 1.25rem}.equipment-copy h2{font-size:clamp(3rem,15vw,4.8rem)}
  body.valheim-route .copy{min-height:36svh}
  .info-main{grid-template-columns:1fr}.info-copy{padding:3.5rem 1.25rem 4rem}.info-copy h1{font-size:clamp(3.3rem,16vw,5.5rem)}.info-media{grid-row:1;min-height:38vh}.contact-visual{grid-row:auto;min-height:34vh}.contact-visual span{font-size:clamp(2.6rem,15vw,4.5rem)}
  .astronot-intro{padding:3.5rem 1.25rem 4rem}.set-grid{grid-template-columns:1fr}.set-card + .set-card{border-left:0;border-top:1px solid rgba(248,246,243,.14)}.set-body{padding:2rem 1.25rem 3rem}.set-body h2{font-size:clamp(2.8rem,15vw,4.8rem)}.set-play{right:1rem;bottom:.9rem}
  .project-socials{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.project-socials a{padding:.8rem .85rem}.project-socials a:last-child{grid-column:1/-1}
}
