/* pinballmachines.co — shell stylesheet
   Palette grounded in playfield materials: cabinet black, blacklit wood, playfield cream,
   general-illumination amber, and coded insert colours (red / blue / chrome). */
:root{
  --cabinet:#0B0A0C; --wood:#16121A; --wood-2:#1F1826; --ink:#070609;
  --paper:#EDE6DA; --dim:#C6BDB0; --mute:#8A8376;
  --amber:#F0A32C; --red:#E23B3B; --blue:#4C7FE8; --chrome:#B9BEC6;
  --line:rgba(237,230,218,.13); --line-2:rgba(237,230,218,.22);
  --display:'Big Shoulders Display',Impact,'Haettenschweiler','Arial Narrow',sans-serif;
  --body:'Archivo','Helvetica Neue',Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cabinet);color:var(--paper);font-family:var(--body);
  font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--amber);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px}
b,strong{font-weight:600}

.shell{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}
.shell--narrow{max-width:820px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:14px;top:14px;z-index:99;background:var(--amber);color:#150E02;
  padding:11px 18px;font-weight:700;border-radius:2px}

/* type scale */
.d1,.d2,.d3{font-family:var(--display);font-weight:800;text-transform:uppercase;
  line-height:.94;letter-spacing:.004em;margin:0}
.d1{font-size:clamp(3rem,7.6vw,5.4rem)}
.d2{font-size:clamp(2.05rem,4.5vw,3.15rem)}
.d3{font-size:clamp(1.5rem,2.7vw,2.05rem)}
.lede{font-size:1.14rem;color:var(--dim);max-width:60ch;margin:0 0 1.2em}
.mono{font-family:var(--mono);font-size:.8rem;letter-spacing:.06em}
p{margin:0 0 1.15em}

/* eyebrow + score-reel numerals (signature) */
.eyebrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mute);margin:0 0 20px}
.reel{display:inline-flex;gap:3px;vertical-align:middle}
.reel i{display:grid;place-items:center;width:19px;height:25px;font-style:normal;
  font-family:var(--mono);font-size:.86rem;font-weight:500;letter-spacing:0;color:var(--paper);
  background:linear-gradient(180deg,#000 0%,#241E1A 24%,#3A322B 50%,#241E1A 76%,#000 100%);
  border:1px solid rgba(0,0,0,.85);border-radius:2px;
  box-shadow:inset 0 0 6px rgba(0,0,0,.9),0 1px 0 rgba(237,230,218,.07)}
.reel--amber i{color:#150E02;
  background:linear-gradient(180deg,#6b4306 0%,#c9861f 24%,var(--amber) 50%,#c9861f 76%,#6b4306 100%);
  text-shadow:0 1px 0 rgba(255,255,255,.35)}

/* masthead */
.masthead{position:sticky;top:0;z-index:40;background:rgba(11,10,12,.94);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.masthead__in{display:flex;align-items:center;gap:24px;height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--paper)}
.brand:hover{text-decoration:none}
.brand svg{width:26px;height:26px;flex:0 0 26px}
.brand b{font-family:var(--display);font-weight:800;font-size:1.36rem;
  text-transform:uppercase;letter-spacing:.015em;line-height:1}
.brand span{color:var(--amber)}
.brand:hover b{color:var(--amber)}
.nav{display:flex;gap:22px;margin-left:auto;align-items:center;min-width:0}
.nav a{font-family:var(--mono);font-size:.73rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--dim);white-space:nowrap}
.nav a:hover{color:var(--amber);text-decoration:none}
@media(max-width:860px){
  .masthead__in{gap:14px}
  .nav{gap:15px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;
    margin-right:-24px;padding-right:24px}
  .nav::-webkit-scrollbar{display:none}
  .nav a{font-size:.68rem}
}

/* hero */
.hero{position:relative;display:flex;align-items:flex-end;min-height:min(80vh,660px);
  overflow:hidden;border-bottom:1px solid var(--line);isolation:isolate}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:24% 58%;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(11,10,12,.30) 0%,rgba(11,10,12,.52) 38%,rgba(11,10,12,.93) 76%),
  linear-gradient(0deg,var(--cabinet) 1%,rgba(11,10,12,0) 52%)}
.hero__in{position:relative;padding:104px 0 62px;width:100%}
.hero .d1{margin-bottom:22px}
.hero .lede{max-width:36rem}
.hero__in>.eyebrow,.hero__in>.d1,.hero__in>.lede,.hero__in>.router{margin-left:auto;max-width:38rem}
@media(max-width:980px){
  .hero::after{background:linear-gradient(0deg,var(--cabinet) 8%,rgba(11,10,12,.72) 56%,rgba(11,10,12,.5) 100%)}
  .hero__in>.eyebrow,.hero__in>.d1,.hero__in>.lede,.hero__in>.router{margin-left:0;max-width:none}
  .hero__in{padding:74px 0 50px}
}

/* router — insert lamps */
.router{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:2px;
  background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden}
.router li{margin:0}
.insert{display:flex;flex-direction:column;gap:4px;padding:19px 22px 19px 50px;
  position:relative;background:rgba(22,18,26,.86);color:var(--paper);
  transition:background .18s ease}
.insert:hover,.insert:focus-visible{background:var(--wood-2);text-decoration:none}
.insert::before{content:"";position:absolute;left:20px;top:23px;width:15px;height:15px;
  border-radius:50%;border:1.5px solid var(--chrome);
  background:radial-gradient(circle at 40% 34%,#4a4450 0%,#2a252f 62%,#141119 100%);
  box-shadow:inset 0 0 5px rgba(0,0,0,.8);transition:box-shadow .2s ease,background .2s ease}
.insert b{font-family:var(--display);font-weight:800;font-size:1.32rem;
  text-transform:uppercase;line-height:1;transition:color .18s ease}
.insert span{font-size:.93rem;color:var(--dim);line-height:1.58}
.insert--amber::before{background:radial-gradient(circle at 40% 34%,#fff4d9 0%,var(--amber) 44%,#7a4a0d 100%);
  box-shadow:0 0 11px -1px rgba(240,163,44,.7),inset 0 0 4px rgba(0,0,0,.5)}
.insert--red::before{background:radial-gradient(circle at 40% 34%,#ffe0e0 0%,var(--red) 44%,#5f1212 100%);
  box-shadow:0 0 11px -1px rgba(226,59,59,.7),inset 0 0 4px rgba(0,0,0,.5)}
.insert--blue::before{background:radial-gradient(circle at 40% 34%,#e0eaff 0%,var(--blue) 44%,#152c63 100%);
  box-shadow:0 0 11px -1px rgba(76,127,232,.7),inset 0 0 4px rgba(0,0,0,.5)}
.insert--chrome::before{background:radial-gradient(circle at 40% 34%,#fff 0%,var(--chrome) 46%,#4b5058 100%);
  box-shadow:0 0 11px -1px rgba(185,190,198,.55),inset 0 0 4px rgba(0,0,0,.45)}
.insert--amber:hover b{color:var(--amber)}
.insert--red:hover b{color:#ff7373}
.insert--blue:hover b{color:#8aabf3}
.insert--chrome:hover b{color:var(--chrome)}

/* full-bleed divider strip */
.strip{width:100%;height:118px;object-fit:cover;filter:saturate(.85) brightness(.82);
  border-bottom:1px solid var(--line)}

/* bands */
.band{padding:84px 0;border-bottom:1px solid var(--line)}
.band--raised{background:linear-gradient(180deg,#100D14 0%,var(--cabinet) 100%)}
.band__head{max-width:58ch;margin-bottom:38px}
.band__head .d2{margin-bottom:14px}
.band__head p{color:var(--dim);margin-bottom:0}
@media(max-width:700px){.band{padding:58px 0}}

/* card grid */
.grid{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.grid{grid-template-columns:1fr;gap:18px}}
.grid li{margin:0;display:flex}
.card{display:flex;flex-direction:column;width:100%;background:var(--wood);
  border:1px solid var(--line);border-radius:3px;overflow:hidden;color:var(--paper);
  transition:border-color .2s ease}
.card:hover{text-decoration:none;border-color:rgba(240,163,44,.45)}
.card>img{width:100%;aspect-ratio:16/9;object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.6,.2,1)}
.card:hover>img{transform:scale(1.045)}
.card__body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.card__kicker{font-family:var(--mono);font-size:.66rem;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.card__title{font-family:var(--display);font-weight:800;font-size:1.3rem;
  text-transform:uppercase;line-height:1.02;margin:0 0 10px;transition:color .18s ease}
.card:hover .card__title{color:var(--amber)}
.card__body p{margin:0;font-size:.9rem;color:var(--dim);line-height:1.6}

/* market block */
.market{background:linear-gradient(180deg,var(--wood-2),var(--wood));
  border:1px solid rgba(240,163,44,.26);border-radius:3px;padding:32px 32px 30px}
.market .d3{margin-bottom:12px}
.market>p{color:var(--dim);font-size:.98rem;max-width:62ch}
.market__links{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}
@media(max-width:600px){.market{padding:24px 20px}.market__links .btn{width:100%;justify-content:center}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.11em;
  text-transform:uppercase;padding:13px 20px;border-radius:2px;
  border:1px solid var(--line-2);background:transparent;color:var(--paper);
  cursor:pointer;transition:.16s ease;font-family:var(--mono)}
.btn:hover{border-color:var(--amber);color:var(--amber);text-decoration:none}
.btn-ebay{background:var(--amber);border-color:var(--amber);color:#150E02;font-weight:600}
.btn-ebay:hover{background:#ffbb59;border-color:#ffbb59;color:#150E02;
  text-decoration:none;transform:translateY(-1px)}
.btn-ebay::after{content:"→"}
.disclose{font-size:.79rem;color:var(--mute);margin:18px 0 0;max-width:66ch}
.disclose a{color:var(--dim)}

/* pledge list */
.pledge{list-style:none;margin:32px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line);
  border:1px solid var(--line);border-radius:3px;overflow:hidden}
@media(max-width:760px){.pledge{grid-template-columns:1fr}}
.pledge li{margin:0;padding:24px 24px 26px;background:var(--wood);
  display:flex;flex-direction:column;gap:7px;position:relative}
.pledge li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--red)}
.pledge b{font-family:var(--display);font-weight:800;font-size:1.16rem;text-transform:uppercase;line-height:1}
.pledge span{font-size:.91rem;color:var(--dim);line-height:1.6}

/* prose */
.prose{max-width:70ch}
.prose h2{font-family:var(--display);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.6rem,3vw,2.2rem);line-height:1;margin:54px 0 16px}
.prose h3{font-family:var(--display);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.05;margin:38px 0 12px}
.prose>*:first-child{margin-top:0}
.prose p{color:var(--dim)}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.35em;color:var(--dim)}
.prose li{margin-bottom:.55em}
.prose li::marker{color:var(--amber)}
.prose strong{color:var(--paper)}
.prose blockquote{margin:28px 0;padding:4px 0 4px 22px;border-left:2px solid var(--amber);
  color:var(--paper);font-size:1.05rem}
.prose hr{border:0;border-top:1px solid var(--line);margin:44px 0}

/* forms */
.form{max-width:34rem;display:grid;gap:17px;margin:6px 0 0}
.field label{display:block;font-family:var(--mono);font-size:.69rem;font-weight:500;
  letter-spacing:.15em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;background:var(--wood);color:var(--paper);
  border:1px solid var(--line-2);border-radius:2px;padding:12px 13px;
  font-family:var(--body);font-size:.96rem;line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--amber);outline:none}
.field textarea{min-height:158px;resize:vertical}
.form .btn{justify-self:start}
.form__note{font-size:.82rem;color:var(--mute);margin:0;max-width:52ch}

/* 404 */
.gone{position:relative;display:flex;align-items:center;min-height:78vh;
  overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.gone__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.gone::after{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(11,10,12,.95) 22%,rgba(11,10,12,.62) 100%),
  linear-gradient(0deg,var(--cabinet) 1%,rgba(11,10,12,0) 46%)}
.gone__in{position:relative;padding:78px 0}
.gone__in .d1{margin-bottom:20px}
.gone__in .lede,.gone__in .router{max-width:38rem}

/* footer */
.foot{padding:60px 0 40px;background:var(--ink)}
.foot__cols{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:36px;margin-bottom:40px}
@media(max-width:860px){.foot__cols{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:520px){.foot__cols{grid-template-columns:1fr}}
.foot h4{font-family:var(--mono);font-size:.67rem;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mute);margin:0 0 15px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:10px}
.foot a{color:var(--dim);font-size:.9rem}
.foot a:hover{color:var(--amber)}
.foot p{color:var(--mute);font-size:.86rem;max-width:38ch;margin:14px 0 0}
.foot .brand{margin-bottom:2px}
.foot__base{border-top:1px solid var(--line);padding-top:24px;display:flex;
  flex-wrap:wrap;gap:14px;justify-content:space-between;
  font-size:.79rem;color:var(--mute)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
