:root{
  --slot-black:#000000;
  --slot-black-soft:#111111;
  --slot-red:#b91c1c;
  --slot-red-bright:#dc2626;
  --slot-grey:#6b7280;
  --slot-grey-soft:#9ca3af;
  --slot-white:#ffffff;
  --slot-charcoal:#1a1a1a;
  --slot-border:3px solid #000000;
  --slot-shadow:4px 4px 0 #000000;
  --slot-shadow-hover:8px 8px 0 #000000;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;max-width:100%;overflow-x:clip}
body{
  background:var(--slot-white);
  color:var(--slot-black);
  font-family:"IBM Plex Mono",monospace;
  font-size:16px;
  line-height:1.7;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
main,header,footer,section,article,nav,div{min-width:0}

.slot-page{
  position:relative;
  min-height:100vh;
  background:
    radial-gradient(circle at 88% 7%, rgba(0,0,0,0.08) 0, rgba(0,0,0,0.08) 90px, transparent 91px),
    radial-gradient(circle at 8% 18%, rgba(185,28,28,0.06) 0, rgba(185,28,28,0.06) 80px, transparent 81px),
    linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
}

.slot-shell{
  width:min(1120px, calc(100% - 32px));
  margin:0 auto;
}

.slot-site-header{
  position:sticky;
  top:0;
  z-index:80;
  background:var(--slot-white);
  border-bottom:var(--slot-border);
}

.slot-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 0;
}

.slot-logo-text{
  font-family:"Bebas Neue",sans-serif;
  font-size:2rem;
  letter-spacing:0.08em;
  color:var(--slot-black);
  white-space:nowrap;
}

.slot-burger{
  display:none;
  width:52px;
  height:52px;
  padding:0;
  border:var(--slot-border);
  background:var(--slot-white);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  box-shadow:var(--slot-shadow);
}

.slot-burger span{
  display:block;
  width:22px;
  height:3px;
  background:var(--slot-black);
}

.slot-nav{
  display:flex;
  align-items:center;
  gap:2.1rem;
}

.slot-nav a{
  position:relative;
  font-family:"Bebas Neue",sans-serif;
  font-size:1.15rem;
  letter-spacing:0.3em;
  text-transform:uppercase;
  padding-bottom:0.2rem;
}

.slot-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-0.2rem;
  height:3px;
  background:var(--slot-red);
  opacity:0;
}

.slot-nav a:hover::after,
.slot-nav a:focus-visible::after{
  opacity:1;
}

.slot-nav-backdrop{
  position:fixed;
  inset:0;
  z-index:70;
  background:rgba(0,0,0,0.55);
  opacity:0;
  pointer-events:none;
}

body.slot-nav-open .slot-nav-backdrop{
  opacity:1;
  pointer-events:auto;
}

.slot-section{
  padding:4.5rem 0;
  position:relative;
}

.slot-section + .slot-section{
  border-top:var(--slot-border);
}

.slot-kicker{
  display:inline-block;
  margin-bottom:0.9rem;
  padding:0.25rem 0.6rem;
  border:var(--slot-border);
  background:var(--slot-white);
  box-shadow:var(--slot-shadow);
  font-family:"Bebas Neue",sans-serif;
  font-size:1rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
}

.slot-section-title{
  margin:0 0 1rem;
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(2.8rem, 6vw, 4.8rem);
  line-height:0.92;
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.slot-section-copy{
  max-width:820px;
  color:var(--slot-black-soft);
}

.slot-rg-band{
  padding:2rem;
  border:var(--slot-border);
  box-shadow:var(--slot-shadow);
  background:linear-gradient(135deg, #ffffff 0%, #f3f4f6 100%);
}

.slot-rg-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.slot-age-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  padding:0.45rem 0.7rem;
  border:var(--slot-border);
  background:var(--slot-black);
  color:var(--slot-white);
  font-family:"Bebas Neue",sans-serif;
  font-size:1.05rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
}

.slot-link-row{
  display:flex;
  flex-wrap:wrap;
  gap:0.9rem;
  margin-top:1rem;
}

.slot-text-link{
  color:var(--slot-red);
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:0.2rem;
}

.slot-stats-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
  margin-top:2rem;
}

.slot-stat-card,
.slot-info-panel,
.slot-spotlight-panel,
.slot-payment-card,
.slot-table-wrap,
.slot-review-card,
.slot-legal-card{
  position:relative;
  border:var(--slot-border);
  box-shadow:var(--slot-shadow);
  background:var(--slot-white);
}

.slot-stat-card{
  padding:1.25rem;
}

.slot-stat-value{
  display:block;
  margin-bottom:0.35rem;
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(2.6rem, 6vw, 4.2rem);
  line-height:0.9;
  letter-spacing:0.06em;
}

.slot-stat-label{
  color:var(--slot-grey);
}

.slot-marquee{
  overflow:hidden;
  border-top:var(--slot-border);
  border-bottom:var(--slot-border);
  background:var(--slot-black);
  color:var(--slot-white);
  margin-bottom:1.75rem;
}

.slot-marquee-track{
  display:flex;
  gap:2rem;
  width:max-content;
  padding:0.7rem 0;
  white-space:nowrap;
  font-family:"Bebas Neue",sans-serif;
  font-size:1.35rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  animation:slot-scroll-left 22s linear infinite;
}

@keyframes slot-scroll-left{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.slot-hero-panel{
  position:relative;
  overflow:hidden;
  padding:2.4rem;
  border:var(--slot-border);
  box-shadow:8px 8px 0 #000000;
  background:#ffffff;
}

.slot-hero-panel::before,
.slot-hero-panel::after{
  content:"";
  position:absolute;
  background:#111111;
  opacity:0.08;
  z-index:0;
}

.slot-hero-panel::before{
  width:220px;
  height:220px;
  right:-60px;
  top:-90px;
  border-radius:55% 45% 60% 40%;
  box-shadow:-24px 24px 0 rgba(185,28,28,0.12);
}

.slot-hero-panel::after{
  width:180px;
  height:140px;
  left:-40px;
  bottom:-65px;
  border-radius:62% 38% 50% 50%;
  box-shadow:28px -18px 0 rgba(0,0,0,0.08);
}

.slot-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) minmax(280px, 0.8fr);
  gap:2rem;
  align-items:start;
}

.slot-hero-headline{
  margin:0 0 1rem;
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(3.4rem, 8vw, 6.8rem);
  line-height:0.88;
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.slot-hero-copy{
  max-width:660px;
  font-size:1rem;
  color:var(--slot-black-soft);
}

.slot-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:1.5rem;
}

.slot-cta,
.slot-ghost-btn,
.slot-card-cta,
.slot-cookie-btn,
.slot-age-accept,
.slot-to-top{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0.85rem 1.15rem;
  border:var(--slot-border);
  border-radius:0;
  font-family:"Bebas Neue",sans-serif;
  font-size:1rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
}

.slot-cta,
.slot-card-cta,
.slot-age-accept,
.slot-cookie-btn[data-slot-cookie-value="accepted"]{
  background:var(--slot-red);
  color:var(--slot-white);
}

.slot-cta:hover,
.slot-cta:focus-visible,
.slot-card-cta:hover,
.slot-card-cta:focus-visible,
.slot-age-accept:hover,
.slot-age-accept:focus-visible,
.slot-cookie-btn:hover,
.slot-cookie-btn:focus-visible{
  background:var(--slot-black);
  color:var(--slot-white);
}

.slot-ghost-btn,
.slot-cookie-btn[data-slot-cookie-value="declined"]{
  background:var(--slot-white);
  color:var(--slot-black);
  box-shadow:var(--slot-shadow);
}

.slot-hero-aside{
  padding:1.3rem;
  background:#f3f4f6;
}

.slot-hero-list{
  margin:0;
  padding:0;
  list-style:none;
}

.slot-hero-list li{
  padding:0.8rem 0;
  border-bottom:2px solid #000000;
}

.slot-hero-list li:last-child{
  border-bottom:0;
}

.slot-card-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1.4rem;
}

.slot-review-card{
  position:relative;
  overflow:hidden;
}

.slot-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:0.85rem 1rem;
  background:var(--slot-charcoal);
  color:var(--slot-white);
}

.slot-card-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0.65rem;
  min-width:0;
}

.slot-card-thumb{
  width:min(240px,100%);
  height:auto;
  border:1px solid #ffffff;
  border-radius:8px;
  background:#ffffff;
  padding:6px;
}

.slot-card-name{
  margin:0;
  font-family:"Bebas Neue",sans-serif;
  font-size:1.8rem;
  line-height:0.95;
  letter-spacing:0.05em;
}

.slot-card-badge{
  display:inline-block;
  margin-top:0.3rem;
  color:#f9fafb;
  font-size:0.82rem;
}

.slot-stars{
  color:var(--slot-red-bright);
  font-size:1.1rem;
  letter-spacing:0.08em;
}

.slot-card-body{
  padding:1.2rem 1rem 1rem;
}

.slot-offer{
  margin:0 0 0.55rem;
  font-family:"Bebas Neue",sans-serif;
  font-size:1.15rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.slot-summary{
  margin:0 0 0.8rem;
  color:var(--slot-grey);
}

.slot-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:0.55rem;
  margin:1rem 0;
}

.slot-pill{
  padding:0.35rem 0.6rem;
  border:2px solid #000000;
  background:#fef2f2;
  color:var(--slot-red);
  font-size:0.8rem;
  line-height:1.3;
}

.slot-card-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:1rem;
}

.slot-disclaimer{
  margin:1rem 0 0;
  color:var(--slot-grey);
  font-size:0.82rem;
  line-height:1.5;
}

.slot-table-wrap{
  overflow-x:auto;
  margin-top:1.8rem;
}

.slot-table{
  width:100%;
  border-collapse:collapse;
  min-width:680px;
}

.slot-table th,
.slot-table td{
  padding:0.9rem 0.8rem;
  border:2px solid #000000;
  text-align:left;
  vertical-align:top;
}

.slot-table thead th{
  background:var(--slot-red);
  color:var(--slot-white);
  font-family:"Bebas Neue",sans-serif;
  font-size:1.2rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.slot-spotlight-layout{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:1.4rem;
}

.slot-spotlight-panel,
.slot-info-panel,
.slot-payment-card,
.slot-legal-card{
  padding:1.4rem;
}

.slot-spotlight-panel h3,
.slot-info-panel h3,
.slot-payment-card h3,
.slot-legal-card h2,
.slot-legal-card h3{
  margin:0 0 0.85rem;
  font-family:"Bebas Neue",sans-serif;
  letter-spacing:0.05em;
  text-transform:uppercase;
}

.slot-payment-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:1rem;
  margin-top:1.6rem;
}

.slot-payment-card{
  display:flex;
  flex-direction:column;
  gap:0.65rem;
}

.slot-payment-time{
  display:inline-block;
  width:max-content;
  padding:0.25rem 0.55rem;
  background:#111111;
  color:#ffffff;
  font-family:"Bebas Neue",sans-serif;
  letter-spacing:0.08em;
}

.slot-footer{
  background:var(--slot-black);
  color:var(--slot-white);
  border-top:3px solid var(--slot-red);
}

.slot-footer-grid{
  display:grid;
  grid-template-columns:1.2fr 0.8fr 0.8fr 1fr;
  gap:1.5rem;
  padding:2.6rem 0 1.8rem;
}

.slot-footer-col{
  min-width:0;
}

.slot-footer-col h3{
  margin:0 0 1rem;
  padding-bottom:0.7rem;
  border-bottom:2px solid var(--slot-red);
  font-family:"Bebas Neue",sans-serif;
  font-size:1.35rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.slot-footer-col p,
.slot-footer-col li{
  color:#e5e7eb;
}

.slot-footer-links{
  margin:0;
  padding:0;
  list-style:none;
}

.slot-footer-links li{
  margin-bottom:0.7rem;
}

.slot-footer a:hover,
.slot-footer a:focus-visible{
  color:#fecaca;
}

.slot-footer-note{
  padding:0 0 2.2rem;
  color:#d1d5db;
}

.slot-cookie-banner{
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:95;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:1rem;
  align-items:center;
  padding:1rem 1.1rem;
  background:#ffffff;
  border:var(--slot-border);
  box-shadow:8px 8px 0 #000000;
  opacity:0;
  pointer-events:none;
}

.slot-cookie-banner[data-slot-cookie-state="visible"]{
  opacity:1;
  pointer-events:auto;
}

.slot-cookie-copy{
  min-width:0;
}

.slot-cookie-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.75rem;
  justify-content:flex-end;
}

.slot-age-overlay{
  color:var(--slot-black);
}

.slot-age-box h1{
  margin:0 0 0.9rem;
  font-family:"Bebas Neue",sans-serif;
  font-size:2.8rem;
  line-height:0.92;
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.slot-age-box p{
  margin:0 0 1.2rem;
}

.slot-age-actions{
  display:flex;
  flex-direction:column;
  gap:0.8rem;
}

.slot-age-leave{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0.85rem 1.15rem;
  border:var(--slot-border);
  background:#ffffff;
  color:#000000;
  font-family:"Bebas Neue",sans-serif;
  letter-spacing:0.1em;
  text-transform:uppercase;
  box-shadow:var(--slot-shadow);
}

.slot-age-leave:hover,
.slot-age-leave:focus-visible{
  background:#111111;
  color:#ffffff;
}

.slot-to-top{
  position:fixed;
  right:16px;
  bottom:104px;
  z-index:88;
  opacity:0;
  pointer-events:none;
  box-shadow:var(--slot-shadow);
}

.slot-to-top.is-visible{
  opacity:1;
  pointer-events:auto;
}

.slot-hovered{
  box-shadow:var(--slot-shadow-hover);
  top:-3px;
  left:-3px;
}

.slot-prose{
  display:grid;
  gap:1rem;
}

.slot-prose p{
  margin:0;
}

.slot-legal-hero{
  padding-top:3rem;
}

.slot-legal-grid{
  display:grid;
  gap:1.2rem;
}

.slot-legal-card p,
.slot-legal-card li{
  color:var(--slot-black-soft);
}

.slot-legal-card ul{
  margin:0;
  padding-left:1.2rem;
}

.slot-contact-line{
  font-weight:600;
}

@media (max-width: 900px){
  .slot-hero-grid,
  .slot-spotlight-layout,
  .slot-footer-grid,
  .slot-payment-grid{
    grid-template-columns:1fr 1fr;
  }

  .slot-stats-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px){
  .slot-shell{width:min(100%, calc(100% - 20px))}
  .slot-section{padding:3.4rem 0}
  .slot-header-inner{padding:0.85rem 0}
  .slot-burger{display:flex;flex-shrink:0!important}
  .slot-nav{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    z-index:85;
    width:100%;
    max-width:min(320px, 85vw)!important;
    padding:6rem 1.2rem 1.2rem;
    background:#ffffff;
    border-left:var(--slot-border);
    box-shadow:-8px 0 0 #000000;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:1rem;
    margin-right:-360px;
  }
  body.slot-nav-open .slot-nav{margin-right:0}
  .slot-nav a{font-size:1.4rem;letter-spacing:0.16em}
  .slot-nav-backdrop{max-width:unset!important;width:100vw!important}
  .slot-rg-topline,
  .slot-card-actions,
  .slot-cookie-banner{
    grid-template-columns:1fr;
  }
  .slot-card-grid,
  .slot-spotlight-layout,
  .slot-payment-grid,
  .slot-footer-grid,
  .slot-hero-grid{
    grid-template-columns:1fr;
  }
  .slot-cookie-banner{
    left:10px;
    right:10px;
    bottom:10px;
    padding:0.95rem;
  }
  .slot-cookie-actions{justify-content:flex-start}
  .slot-to-top{right:10px;bottom:94px}
}

@media (max-width: 550px){
  .slot-logo-text{font-size:1.55rem}
  .slot-section-title{font-size:clamp(2.3rem, 12vw, 3.3rem)}
  .slot-hero-headline{font-size:clamp(2.7rem, 16vw, 4.3rem)}
  .slot-hero-panel,
  .slot-rg-band,
  .slot-spotlight-panel,
  .slot-info-panel,
  .slot-payment-card,
  .slot-legal-card,
  .slot-stat-card{
    padding:1.1rem;
  }
  .slot-stats-grid{grid-template-columns:1fr}
  .slot-card-top{align-items:flex-start;flex-direction:column}
  .slot-card-actions{display:grid}
  .slot-age-box h1{font-size:clamp(1.15rem,5.5vw,1.45rem);line-height:1.15}
}

@media (max-width: 380px){
  html,body{overflow-x:clip;max-width:100%}
  .slot-shell{width:min(100%, calc(100% - 12px))}
  .slot-burger{width:48px;height:48px}
  .slot-card-body,
  .slot-rg-band,
  .slot-hero-panel,
  .slot-spotlight-panel,
  .slot-info-panel,
  .slot-payment-card,
  .slot-legal-card{
    padding:0.95rem;
  }
  .slot-kicker{font-size:0.92rem}
  .slot-cta,
  .slot-ghost-btn,
  .slot-card-cta,
  .slot-cookie-btn,
  .slot-age-accept,
  .slot-age-leave,
  .slot-to-top{
    width:100%;
  }
}
