/* Hire or Fire website. Pixel font for the game's voice (headings, game UI), a calm system font for reading.
   Everything is local: no external fonts, scripts or trackers. */
@font-face{font-family:"Pixelify Sans";src:url("PixelifySans.ttf") format("truetype");font-weight:400 700;font-display:swap}
:root{
  --ink:#16252a; --mint:#e3ebe7; --paper:#fbfbf7; --folder:#f0d488;
  --hire:#1f8a5b; --fire:#d9472f; --muted:#4c5e63; --night:#1b2b31;
  --pixel:"Pixelify Sans",ui-monospace,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --r:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--mint);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:var(--hire);text-underline-offset:3px}a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--fire);outline-offset:3px}
h1,h2,h3{font-family:var(--pixel);font-weight:700;margin:0;line-height:1.12;letter-spacing:.01em}
h2{font-size:clamp(30px,4.4vw,46px)}
h3{font-size:22px}
p{margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* header */
.top{position:sticky;top:0;z-index:10;background:rgba(227,235,231,.86);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid rgba(22,37,42,.08)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-family:var(--pixel);font-weight:700;font-size:20px}
.brand img{width:36px;height:36px;border-radius:9px}
.top nav{margin-left:auto;display:flex;gap:24px}
.top nav a{color:var(--ink);text-decoration:none;font-size:16px;opacity:.75}.top nav a:hover{opacity:1}
.launch{font-size:14px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--ink);color:var(--paper);white-space:nowrap}

/* buttons: the game's own hard-shadow buttons */
.btn{display:inline-flex;flex-direction:column;justify-content:center;min-height:56px;padding:9px 20px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);
  font-family:var(--pixel);font-size:18px;font-weight:700;text-decoration:none;box-shadow:4px 4px 0 var(--ink);line-height:1.2}
.btn small{font-family:var(--sans);font-size:12.5px;font-weight:500;opacity:.7}
.btn.dark{background:var(--ink);color:var(--paper)}

/* hero */
.hero{padding:56px 0 40px}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.hero .logo{width:min(260px,62%);margin-bottom:26px;image-rendering:pixelated}
.hero h1{font-size:clamp(28px,3.3vw,40px);line-height:1.2;margin-bottom:20px;max-width:17em;text-wrap:balance}
.hero .lede{font-size:20px;color:var(--muted);max-width:34em}
.ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}
.hero .fine{margin-top:18px;font-size:15px;color:var(--muted)}

/* the playable phone */
.demo{justify-self:center;width:min(380px,100%)}
.phone{background:var(--ink);border-radius:40px;padding:14px;box-shadow:0 30px 60px -30px rgba(22,37,42,.55)}
.screen{background:#dfe6e3;border-radius:28px;overflow:hidden;position:relative;user-select:none;-webkit-user-select:none}
.meters{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:12px 12px 8px}
.meter{display:flex;flex-direction:column;align-items:center;gap:3px;font-family:var(--pixel);font-size:11px;position:relative}
.m-icon{width:38px;height:38px;position:relative;background:#b9c6c1;overflow:hidden}
.m-icon .fill{position:absolute;left:0;right:0;bottom:0;background:var(--ink);transition:height .45s ease}
.m-icon img{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}
.meter.danger .m-icon{outline:2px solid var(--fire)}
.dots{height:6px;display:flex;gap:3px;justify-content:center}
.dots i{width:6px;height:6px;background:var(--ink);border-radius:50%}
.delta{position:absolute;top:-4px;right:2px;font-size:11px;font-weight:700;opacity:0;transition:opacity .2s}
.delta.show{opacity:1}.delta.up{color:var(--hire)}.delta.down{color:var(--fire)}
.office{display:block;width:100%;image-rendering:pixelated;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.deck{position:relative;padding:12px 12px 14px;min-height:258px}
.card{background:var(--paper);border:2px solid var(--ink);padding:14px;touch-action:pan-y;cursor:grab;position:relative;will-change:transform}
.card.drag{cursor:grabbing}
.card .who{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.card .who img{width:40px;height:40px;border:2px solid var(--ink);image-rendering:pixelated}
.card .who b{font-family:var(--pixel);font-size:17px;display:block;line-height:1.1}
.card .who span{font-size:13px;color:var(--muted)}
.card p{font-size:15.5px;line-height:1.45;min-height:4.4em}
.stamp{position:absolute;top:10px;width:96px;opacity:0;pointer-events:none;image-rendering:pixelated}
.stamp.l{right:10px;transform:rotate(9deg)}.stamp.r{left:10px;transform:rotate(-9deg)}
.answers{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.answers button{font:inherit;font-family:var(--pixel);font-size:14px;font-weight:700;min-height:48px;padding:8px;border:2px solid var(--ink);cursor:pointer;color:var(--ink);line-height:1.2}
.answers .l{background:#f7d9d2}.answers .r{background:#d3eadc}
.answers button.lift{transform:translateY(-2px);box-shadow:0 3px 0 var(--ink)}
.answers button.dim{opacity:.45}
.over{background:var(--paper);border:2px solid var(--ink);padding:16px;display:flex;flex-direction:column;gap:10px}
.over b{font-family:var(--pixel);font-size:22px}
.over p{font-size:15.5px;line-height:1.45}
.over button{align-self:flex-start;font:inherit;font-family:var(--pixel);font-weight:700;padding:10px 16px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer}
.demo .hint{text-align:center;font-size:14px;color:var(--muted);margin-top:14px}

/* sections */
.band{padding:96px 0 0}
.head{display:flex;flex-direction:column;gap:14px;margin-bottom:36px}
.head p{font-size:19px;color:var(--muted);max-width:40em}

/* level strip: the five offices, as they look in the game */
.strip{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:24px;padding:0 24px 8px;max-width:1500px;margin:0 auto}
.strip figure{margin:0;scroll-snap-align:start}
.strip img{width:100%;image-rendering:pixelated;border-radius:14px}
.strip figcaption{margin-top:10px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:15px}
.strip figcaption b{font-family:var(--pixel);font-size:18px}
.strip figcaption span{color:var(--muted)}

/* how it plays */
.plays{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.plays h3{margin-bottom:8px}
.plays p{color:var(--muted);font-size:17px}

/* meters */
.rule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.rule-grid div{display:flex;flex-direction:column;gap:8px}
.rule-grid img{width:48px;height:48px;image-rendering:pixelated}
.rule-grid b{font-family:var(--pixel);font-size:21px}
.rule-grid p{font-size:16px;color:var(--muted)}
.balance{margin-top:40px;font-family:var(--pixel);font-size:clamp(22px,2.6vw,30px);line-height:1.3;max-width:28em}

/* cast */
.cast{display:grid;grid-template-columns:repeat(8,1fr);gap:18px}
.cast figure{margin:0;display:flex;flex-direction:column;gap:6px}
.cast img{width:100%;aspect-ratio:1;image-rendering:pixelated;border-radius:14px}
.cast b{font-family:var(--pixel);font-size:17px;line-height:1.1}
.cast span{font-size:14px;line-height:1.4;color:var(--muted)}

/* daily: the one dark band */
.night{margin-top:96px;background:var(--night);color:#e7eeeb;padding:88px 0}
.night .head p{color:#b4c4c0}
.modes{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.mode{border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:14px;background:#24373e}
.mode.hard{background:#3a2422}
.badge{align-self:flex-start;font-family:var(--pixel);font-weight:700;font-size:15px;padding:4px 10px;background:var(--hire);color:#fff}
.mode.hard .badge{background:var(--fire)}
.mode ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:16.5px}

/* endings */
.ends{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ends figure{margin:0}
.ends img{width:100%;aspect-ratio:16/10;image-rendering:pixelated;border-radius:14px}
.ends figcaption{margin-top:10px;font-family:var(--pixel);font-size:18px}

/* price */
.price{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.plan{background:var(--paper);border-radius:var(--r);padding:30px;display:flex;flex-direction:column;gap:10px}
.plan .amount{font-family:var(--pixel);font-size:52px;font-weight:700;line-height:1}
.plan p{color:var(--muted)}
.promise{margin-top:24px;font-size:17px}

.final{padding:110px 0 96px;text-align:center}
.final .wrap{display:flex;flex-direction:column;align-items:center;gap:16px}
.final img{width:84px;image-rendering:pixelated;border-radius:16px}
.final p{color:var(--muted)}

/* footer */
.foot{border-top:1px solid rgba(22,37,42,.12);padding:28px 0 40px;font-size:15px;color:var(--muted)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
.foot .links{display:flex;gap:22px;flex-wrap:wrap;margin-left:auto}
.foot a{color:var(--ink)}

/* pixel euro (the font's own euro sign is unclear) */
.eur{display:inline-block;height:.72em;width:auto;margin-right:.08em;vertical-align:baseline}

/* legal page */
.legal main{padding:48px 0 72px}
.legal .sheet{background:var(--paper);border-radius:var(--r);padding:clamp(24px,5vw,56px);display:flex;flex-direction:column;gap:20px;max-width:820px;margin:0 auto}
.legal h1{font-size:clamp(36px,6vw,52px)}
.legal h2{font-size:30px;margin-top:28px;padding-top:28px;border-top:1px solid rgba(22,37,42,.12);scroll-margin-top:90px}
.legal h3{font-size:20px;margin-top:6px}
.legal p,.legal li{font-size:17px}
.legal ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:4px}
.legal .short{background:var(--folder);border-radius:16px;padding:18px 20px;display:flex;gap:16px;align-items:flex-start}
.legal .short img{width:48px;height:48px;image-rendering:pixelated;border-radius:10px;flex:none}
.legal .toc{display:flex;flex-wrap:wrap;gap:10px}
.legal .toc a{padding:8px 14px;border-radius:999px;background:var(--mint);color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.legal dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 24px;margin:0}
.legal dt{font-weight:600}.legal dd{margin:0}
.legal .date{color:var(--muted);font-size:15px;margin-top:6px}

@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr;gap:44px}
  .cast{grid-template-columns:repeat(4,1fr)}
  .rule-grid,.plays{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  body{font-size:17px}
  .wrap{padding:0 16px}
  .top nav{display:none}
  .launch{margin-left:auto}
  .hero{padding-top:32px}
  .band{padding-top:72px}
  .rule-grid,.plays,.modes,.price{grid-template-columns:1fr}
  .ends{grid-template-columns:1fr 1fr}
  .cast{grid-template-columns:repeat(2,1fr)}
  .strip{padding:0 16px 8px;scroll-padding-inline:16px;grid-template-columns:repeat(5,78%)}
  .legal dl{grid-template-columns:1fr}
  .foot .links{margin-left:0}
}
