/* Breakpoints are content-led so the same static file works on desktop, tablet and phone.*/
@media(max-width:1180px)  {
  .site-header  {
    gap:22px
  }
  .primary-nav  {
    gap:17px
  }
  .nav-cta span  {
    margin-left:8px
  }
  .wrap  {
    width:min(calc(100% - 64px),var(--max))
  }
  .hero-title  {
    font-size:clamp(100px,14vw,190px)
  }
  .intro-grid  {
    gap:6vw
  }
}
@media(max-width:900px)  {
  .site-header  {
    min-height:70px;
    padding-inline:32px
  }
  .menu-toggle  {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    order:3;
    width:40px;
    height:40px;
    border:0;
    background:transparent;
    padding:8px;
    margin-left:auto
  }
  .menu-toggle span  {
    display:block;
    height:2px;
    width:100%;
    background:#fff;
    transition:transform .25s,opacity .25s
  }
  .site-header.menu-open .menu-toggle span:first-child  {
    transform:translateY(7px) rotate(45deg)
  }
  .site-header.menu-open .menu-toggle span:nth-child(2)  {
    opacity:0
  }
  .site-header.menu-open .menu-toggle span:last-child  {
    transform:translateY(-7px) rotate(-45deg)
  }
  .primary-nav  {
    position:absolute;
    left:0;
    right:0;
    top:69px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0;
    padding:18px 32px 28px;
    background:rgba(8,10,11,.98);
    border-bottom:1px solid var(--line)
  }
  .site-header.menu-open .primary-nav  {
    display:flex
  }
  .primary-nav a  {
    padding:13px 0;
    font-size:15px;
    border-bottom:1px solid var(--line)
  }
  .nav-cta  {
    margin-left:auto
  }
  .hero-side  {
    display:none
  }
  .intro-grid  {
    grid-template-columns:1fr;
    gap:35px;
    margin-bottom:75px
  }
  .intro-copy  {
    max-width:600px
  }
  .feature-grid  {
    grid-template-columns:repeat(2,1fr)
  }
  .multiplayer  {
    min-height:690px
  }
  .multiplayer-shade  {
    background:linear-gradient(90deg,rgba(4,6,7,.9),rgba(4,6,7,.5)),linear-gradient(0deg,#080a0b,transparent 30%)
  }
  .inventory-grid  {
    grid-template-columns:repeat(2,1fr)
  }
  .roadmap-layout  {
    grid-template-columns:1fr;
    gap:40px
  }
  .roadmap-layout>div>p  {
    max-width:450px
  }
  .footer-bottom  {
    flex-wrap:wrap
  }
  .footer-bottom nav  {
    order:3;
    justify-content:flex-start;
    width:100%
  }
}
@media(max-width:620px)  {
  html  {
    scroll-padding-top:64px
  }
  .wrap  {
    width:calc(100% - 36px)
  }
  .section-pad  {
    padding:78px 0
  }
  .section-kicker  {
    font-size:10px;
    letter-spacing:.12em
  }
  .section-kicker span:last-child  {
    text-align:right
  }
  .display-title  {
    font-size:clamp(56px,14vw,86px)
  }
  .section-heading  {
    display:block;
    margin:42px 0 30px
  }
  .section-heading p  {
    margin-top:24px;
    font-size:16px
  }
  .site-header  {
    min-height:64px;
    padding-inline:18px
  }
  .brand  {
    font-size:18px
  }
  .brand img  {
    width:28px;
    height:28px
  }
  .nav-cta  {
    display:none
  }
  .primary-nav  {
    top:63px;
    padding-inline:18px
  }
  .hero  {
    height:100svh;
    min-height:680px;
    max-height:none
  }
  .hero-image img  {
    object-position:53% center
  }
  .hero-lamp  {
    display:none
  }
  .hero-vignette  {
    background:linear-gradient(90deg,rgba(3,5,6,.8),rgba(3,5,6,.33)),linear-gradient(0deg,#080a0b,transparent 50%,rgba(3,5,6,.3))
  }
  .hero-content  {
    justify-content:flex-end;
    padding-top:95px;
    padding-bottom:125px
  }
  .hero-eyebrow  {
    font-size:10px;
    line-height:1.5;
    letter-spacing:.12em;
    flex-wrap:wrap;
    margin-bottom:26px
  }
  .hero-player  {
    margin-left:36px
  }
  .hero-title  {
    font-size:clamp(78px,18vw,115px);
    line-height:.79
  }
  .gameplay .display-title,.arsenal .display-title  {
    font-size:clamp(38px,10vw,66px)
  }
  .hero-tagline  {
    font-size:17px;
    margin:30px 0 24px;
    line-height:1.5
  }
  .hero-actions  {
    gap:9px
  }
  .hero-actions .button  {
    min-height:47px;
    padding-inline:13px;
    font-size:10px;
    letter-spacing:.1em
  }
  .hero-actions .button-text  {
    width:100%;
    justify-content:flex-start;
    padding-left:0;
    min-height:35px
  }
  .hero-bottom  {
    bottom:18px;
    font-size:9px;
    letter-spacing:.1em
  }
  .hero-bottom>span:last-child  {
    display:none
  }
  .hero-bottom a  {
    margin-left:auto
  }
  .intro-grid  {
    margin:45px 0 60px
  }
  .intro-copy p:first-child  {
    font-size:18px
  }
  .feature-grid  {
    grid-template-columns:1fr 1fr
  }
  .feature  {
    min-height:205px;
    padding:18px
  }
  .feature-symbol  {
    font-size:30px
  }
  .feature h3  {
    font-size:22px
  }
  .feature p  {
    font-size:12px
  }
  .feature-number  {
    font-size:10px
  }
  .gameplay-lead  {
    height:420px
  }
  .gameplay-lead img  {
    object-position:58% center
  }
  .image-caption  {
    left:20px;
    right:20px;
    bottom:24px
  }
  .image-caption strong  {
    font-size:clamp(26px,7vw,37px)
  }
  .image-caption p  {
    font-size:14px
  }
  .gameplay-pair  {
    grid-template-columns:1fr;
    gap:12px;
    margin-top:12px
  }
  .story-image  {
    height:290px
  }
  .story-image figcaption  {
    left:20px;
    bottom:20px
  }
  .story-image figcaption strong  {
    font-size:clamp(27px,7vw,36px)
  }
  .loop  {
    gap:14px;
    justify-content:flex-start;
    margin-top:35px;
    padding-block:22px;
    font-size:24px
  }
  .loop b  {
    font-size:18px
  }
  .multiplayer  {
    min-height:730px;
    align-items:flex-end
  }
  .multiplayer-image  {
    object-position:54% center
  }
  .multiplayer-shade  {
    background:linear-gradient(0deg,rgba(4,6,7,.96),rgba(4,6,7,.56) 63%,rgba(4,6,7,.25))
  }
  .multiplayer-content  {
    padding-block:75px
  }
  .multiplayer .section-kicker  {
    margin-bottom:40px
  }
  .multiplayer .display-title  {
    font-size:clamp(35px,9vw,74px)
  }
  .multiplayer-content>p  {
    font-size:15px;
    margin-top:24px
  }
  .multi-stat  {
    margin-top:25px
  }
  .multi-stat strong  {
    font-size:56px
  }
  .inventory-top,.inventory-bottom  {
    padding-inline:13px;
    font-size:9px
  }
  .inventory-grid  {
    grid-template-columns:1fr 1fr
  }
  .inventory-slot  {
    min-height:150px;
    padding:12px
  }
  .slot-symbol  {
    height:60px;
    font-size:39px
  }
  .inventory-slot strong  {
    font-size:clamp(16px,4vw,20px)
  }
  .inventory-slot small,.slot-index  {
    font-size:9px
  }
  .capacity-bar  {
    width:22%
  }
  .atmosphere  {
    min-height:620px
  }
  .atmosphere-image  {
    object-position:60% center
  }
  .atmosphere .section-kicker  {
    margin-bottom:44px
  }
  .atmosphere-content  {
    padding-block:75px
  }
  .atmosphere .display-title  {
    font-size:clamp(48px,11vw,88px)
  }
  .atmosphere-content>p  {
    font-size:16px
  }
  .weather-grid  {
    gap:7px
  }
  .weather-grid span  {
    font-size:10px;
    padding:8px 10px
  }
  .gallery-grid  {
    grid-template-columns:1fr 1fr;
    gap:9px
  }
  .gallery-item,.gallery-wide  {
    min-height:160px;
    aspect-ratio:1.15/1
  }
  .gallery-wide  {
    grid-column:1/-1;
    aspect-ratio:1.9/1
  }
  .gallery-item>span  {
    left:11px;
    right:11px;
    bottom:11px;
    font-size:9px;
    letter-spacing:.08em
  }
  .gallery-item b  {
    font-size:16px
  }
  .roadmap-layout  {
    margin-top:45px
  }
  .roadmap-list li  {
    grid-template-columns:25px 1fr auto;
    gap:8px;
    min-height:64px
  }
  .roadmap-list li strong  {
    font-size:18px
  }
  .roadmap-list li em  {
    font-size:9px;
    letter-spacing:.05em
  }
  .roadmap-list li span  {
    font-size:10px
  }
  .footer  {
    padding-top:65px
  }
  .footer-top  {
    display:block;
    padding-bottom:55px
  }
  .footer-logo  {
    font-size:clamp(70px,19vw,110px)
  }
  .back-top  {
    display:inline-block;
    margin-top:38px
  }
  .footer-bottom  {
    font-size:9px
  }
  .footer-bottom>span:last-child  {
    display:none
  }
  .footer-bottom nav  {
    gap:12px 17px
  }
  .lightbox  {
    padding:6px 6px 0
  }
  .notice-dialog  {
    padding:50px 24px 26px
  }
  .notice-dialog h2  {
    font-size:60px
  }
}
@media(max-width:390px)  {
  .hero-title  {
    font-size:76px
  }
  .brand  {
    font-size:16px
  }
  .feature h3  {
    font-size:19px
  }
  .feature p  {
    font-size:11px
  }
  .roadmap-list li strong  {
    font-size:16px
  }
}
