@charset "UTF-8";
:root{color-scheme:dark; --bg:#172128; --deep:#111b21; --cream:#fcf2da; --muted:#b7c0c3; --amber:#f5ad1a; --amber-soft:#f5ad1a33; --rule:#344148; --max:1200px;
  --display:Bahnschrift,"Segoe UI Variable Display","Segoe UI",system-ui,sans-serif;
  --text:"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:3px solid var(--amber);outline-offset:6px}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--display)}
.shell{width:min(var(--max),calc(100% - 96px));margin-inline:auto}

/* header */
.header{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:112px;border-bottom:1px solid var(--rule)}
.brand{width:183px;flex-shrink:0}
.header nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}
.header nav a{padding-block:14px;transition:color .16s}
.header nav a:hover{color:var(--amber)}
.nav-steam{border-bottom:1px solid var(--amber)}
.nav-steam span{margin-left:12px}

/* type */
.eyebrow{font-family:var(--display);font-stretch:condensed;font-weight:600;font-size:13px;letter-spacing:2.4px;text-transform:uppercase;color:var(--amber);margin:0 0 22px;display:flex;align-items:center;gap:12px}
.eyebrow:before{content:"";width:26px;height:2px;background:var(--amber);flex-shrink:0}
h1{font-size:clamp(54px,5.6vw,82px);font-weight:700;letter-spacing:-1.5px;line-height:1;margin:0 0 28px}
h1 em{font-style:normal;color:var(--amber)}
h2{font-size:clamp(34px,3.4vw,46px);font-weight:600;line-height:1.1;letter-spacing:-.8px;margin:0 0 20px}
h3{font-size:22px;font-weight:600;letter-spacing:-.2px;margin:0 0 10px}
.lead{font-family:var(--display);font-size:22px;line-height:1.4;font-weight:500;max-width:480px;margin:0 0 32px}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding-block:88px 92px}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.button{min-height:52px;padding:15px 22px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.2px;line-height:1.4;border:1px solid transparent;border-radius:3px;cursor:pointer;transition:background .16s,transform .16s,color .16s,border-color .16s}
.button span{transition:transform .2s}
.button:hover span{transform:translate(2px,-2px)}
.button:active{transform:translateY(1px)}
.primary{background:var(--amber);color:var(--deep)}
.primary:hover{background:#ffc24e}
.secondary{border-color:#536066;color:var(--cream)}
.secondary:hover{background:#253239;border-color:var(--cream)}
.availability{font-size:12px;color:var(--muted);margin:20px 0 0}
.availability span{margin:0 11px;color:#6c7b83}

.hero-art{min-height:440px;position:relative;border:1px solid #405059;background:var(--deep) url('assets/blueprint.png') center/cover;display:flex;flex-direction:column;overflow:hidden;isolation:isolate}
.hero-art:before{content:"";position:absolute;inset:-40px;background:
  linear-gradient(90deg,#fcf2da0a 1px,transparent 1px) 0 0/40px 40px,
  linear-gradient(#fcf2da0a 1px,transparent 1px) 0 0/40px 40px;z-index:-1}
.hero-art:after{content:"";position:absolute;inset:20px;border:1px solid #42525c40;pointer-events:none}
.sight{margin:40px 44px 0;max-width:330px}

/* sections */

.flow{display:grid;grid-template-columns:minmax(300px,1fr) 2fr;gap:48px;align-items:center;margin-block:0;padding:36px 44px;border:1px solid #405059;background:var(--deep)}
.flow + .about{border-top:0}
.flow-head h2{font-size:28px;margin-bottom:8px;white-space:nowrap}
.flow-head p{margin:0;color:var(--amber);font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.3px;text-wrap:balance}
.flow-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;position:relative}
.flow-steps:before{content:"";position:absolute;left:22px;right:calc((100% - 56px) / 3 - 22px);top:22px;border-top:1px dashed #536066}
.flow-steps li{position:relative;display:grid;grid-template-columns:1fr;gap:14px;align-items:start}
.flow-icon{width:44px;height:44px;border:1px solid #536066;border-radius:50%;background:var(--deep);display:grid;place-items:center;position:relative}
.flow-icon svg{width:20px;height:20px;fill:none;stroke:var(--amber);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.flow-steps h3{font-size:18px;margin:0 0 4px;line-height:1.3}
.flow-steps p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.about{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;padding-block:80px 96px;border-top:1px solid var(--rule)}
.section-intro h2{font-size:clamp(38px,3.6vw,48px)}
.section-intro h2 span{color:#abb6bc}
.section-intro>p:not(.eyebrow){font-size:16px;line-height:1.75;max-width:380px;color:var(--muted);margin:0}
.features article{display:grid;grid-template-columns:36px 1fr;gap:22px;padding:28px 0 30px;border-bottom:1px solid var(--rule)}
.features article:first-child{padding-top:0}
.features article:last-child{border-bottom:0;padding-bottom:0}
.features p{font-size:15px;line-height:1.8;color:var(--muted);margin:0;max-width:400px}
.feature-mark{width:36px;height:36px;border:1px solid #42525c;border-radius:3px;display:grid;place-items:center;margin-top:-2px}
.feature-mark svg{width:20px;height:20px;fill:none;stroke:var(--amber);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}


.closing{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-block:0 56px;padding:44px 48px;border:1px solid #405059;background:var(--deep)}
.closing h2{font-size:30px;margin-bottom:8px}
.closing p{margin:0;color:var(--muted);font-size:15px}

.skip{position:absolute;left:16px;top:-100px;padding:14px;background:var(--cream);color:var(--deep);z-index:2}
.skip:focus{top:12px}

/* motion: CSS only, off when the visitor prefers reduced motion */
@media (prefers-reduced-motion:no-preference){
  .hero-copy>*{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
  .hero-copy>:nth-child(2){animation-delay:.06s}
  .hero-copy>:nth-child(3){animation-delay:.12s}
  .hero-copy>:nth-child(4){animation-delay:.18s}
  .hero-copy>:nth-child(5){animation-delay:.24s}
  .hero-copy>:nth-child(6){animation-delay:.3s}
  .hero-art{animation:fade 1s .2s both}
  .hero-art:before{animation:drift 60s linear infinite}
  @supports (animation-timeline:view()){
    .reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 32%}
  }
}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(40px,40px)}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}

/* layout breakpoints */
@media(min-width:1500px){.hero{padding-block:104px 110px}
.hero-art{min-height:470px}
}
@media(max-width:1000px){.shell{width:calc(100% - 64px)}
.hero{gap:36px;padding-block:65px}
.hero-art{min-height:380px}
.header nav{gap:23px}
.about{gap:50px}
.flow{grid-template-columns:1fr;gap:28px;padding:32px 32px}
}
@media(max-width:760px){.shell{width:calc(100% - 40px)}
.header{min-height:88px;gap:16px}
.brand{width:145px}
.header nav{gap:20px;font-size:12px}
.header .nav-steam{font-size:0;padding-block:12px}
.header .nav-steam:before{content:"Steam";font-size:12px}
.header .nav-steam span{font-size:14px;margin-left:6px}
.hero{grid-template-columns:1fr;gap:40px;padding-block:49px 42px}
.eyebrow{font-size:12px;letter-spacing:2px;margin-bottom:20px}
h1{font-size:clamp(50px,15vw,62px)}
.lead{font-size:20px}
.actions .button{padding:14px 17px;gap:14px;font-size:14px}
.availability{font-size:11px}
.hero-art{min-height:320px}
.sight{margin:28px 28px 0;max-width:240px}
.about{grid-template-columns:1fr;gap:36px;padding-block:52px 60px}
.features h3{font-size:20px}
.features p{font-size:14px}
.features article{gap:16px;grid-template-columns:32px 1fr}
.closing{flex-direction:column;align-items:flex-start;padding:32px 24px;margin-bottom:40px}
.flow{padding:28px 22px;gap:22px}
.flow-head h2{font-size:26px}
.flow-steps{grid-template-columns:1fr;gap:18px}
.flow-steps li{grid-template-columns:44px 1fr}
.flow-head h2{white-space:normal}
.flow-steps:before{left:22px;right:auto;top:22px;bottom:22px;border-top:0;border-left:1px dashed #536066}
.closing .button{width:100%}
}
