@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&family=Outfit:wght@500;700&display=swap');

/* ──── Reset ──── */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
img,picture,svg{display:block;max-width:100%}
input,button,textarea,select{font:inherit}

/* ──── Tokens ──── */
:root{
  --bg-base:#0E1117;
  --bg-card:#181D27;
  --accent:#FF2400;
  --highlight:#04CFAA;
  --text:#E8ECF1;
  --muted:#8A93A6;
  --border:#2A3040;
  --font-heading:'Outfit',system-ui,-apple-system,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,sans-serif;
  --radius:8px;
  --radius-lg:14px;
  --transition:0.25s ease;
}

/* ──── Base ──── */
html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}
body{
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.7;
  color:var(--text);
  background:var(--bg-base);
  padding-bottom:70px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ──── Scrollbar ──── */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg-base)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--muted)}

/* ──── Typography ──── */
h1,h2,h3,h4{
  font-family:var(--font-heading);
  font-weight:700;
  line-height:1.25;
  color:var(--text);
}
h1{font-size:clamp(1.75rem,5vw,2.75rem);margin-bottom:1rem}
h2{font-size:clamp(1.35rem,3.5vw,2rem);margin-bottom:0.75rem;margin-top:2rem}
h3{font-size:clamp(1.1rem,2.5vw,1.5rem);margin-bottom:0.5rem;margin-top:1.5rem}
h4{font-size:1.1rem;margin-bottom:0.4rem}
p{margin-bottom:1rem}
strong{font-weight:600}
a{color:var(--accent);text-decoration:none;transition:color var(--transition)}
a:hover,a:focus-visible{color:var(--highlight)}
ul,ol{margin:0.75rem 0 1.25rem 1.5rem}
li{margin-bottom:0.4rem;line-height:1.6}

/* ──── Container ──── */
.container{
  width:100%;
  max-width:1140px;
  margin:0 auto;
  padding:0 16px;
}

/* ──── Buttons ──── */
.r7k_btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-heading);
  font-weight:600;
  border:none;
  border-radius:var(--radius);
  cursor:pointer;
  text-decoration:none;
  transition:transform var(--transition),opacity var(--transition);
  min-height:44px;
  padding:12px 24px;
  font-size:1rem;
  line-height:1.2;
}
.r7k_btn:active{transform:scale(0.97)}
.r7k_btn--primary{background:var(--accent);color:#fff}
.r7k_btn--primary:hover{opacity:0.9;color:#fff}
.r7k_btn--highlight{background:var(--highlight);color:var(--bg-base)}
.r7k_btn--highlight:hover{opacity:0.9;color:var(--bg-base)}
.r7k_btn--outline{background:transparent;border:2px solid var(--accent);color:var(--accent)}
.r7k_btn--outline:hover{background:var(--accent);color:#fff}
.r7k_btn--ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}
.r7k_btn--ghost:hover{color:var(--text);border-color:var(--muted)}
.r7k_btn--sm{padding:8px 16px;font-size:0.875rem;min-height:36px}
.r7k_btn--lg{padding:16px 32px;font-size:1.125rem}
.r7k_btn--full{width:100%}

/* ──── Navigation ──── */
.r7k_nav{
  position:sticky;
  top:0;
  z-index:100;
  background:var(--bg-card);
  border-bottom:1px solid var(--border);
  padding:12px 0;
}
.r7k_nav .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.r7k_logo{display:flex;align-items:center}
.r7k_logo img{height:32px;width:auto}
.r7k_nav-toggle{
  display:flex;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
  min-width:44px;
  min-height:44px;
  align-items:center;
  justify-content:center;
}
.r7k_nav-toggle span{
  display:block;
  width:24px;
  height:2px;
  background:var(--text);
  border-radius:2px;
  transition:transform var(--transition);
}
.r7k_nav-list{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:var(--bg-card);
  border-bottom:1px solid var(--border);
  list-style:none;
  padding:16px;
  margin:0;
  flex-direction:column;
  gap:4px;
}
.r7k_nav-list.open{display:flex}
.r7k_nav-list li{margin:0}
.r7k_nav-list li a{
  display:flex;
  align-items:center;
  padding:10px 16px;
  color:var(--text);
  border-radius:var(--radius);
  font-size:0.95rem;
  min-height:44px;
}
.r7k_nav-list li a:hover,
.r7k_nav-list li a.active{
  background:var(--bg-base);
  color:var(--accent);
}

/* ──── Breadcrumb ──── */
.r7k_breadcrumb{padding:12px 0;font-size:0.8rem}
.r7k_breadcrumb ol{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  align-items:center;
  margin:0;
  padding:0;
}
.r7k_breadcrumb li{display:flex;align-items:center;gap:4px;color:var(--muted);margin:0}
.r7k_breadcrumb li::after{content:"›";color:var(--border)}
.r7k_breadcrumb li:last-child::after{display:none}
.r7k_breadcrumb li:last-child{color:var(--text)}
.r7k_breadcrumb a{color:var(--muted);font-size:0.8rem}
.r7k_breadcrumb a:hover{color:var(--accent)}

/* ──── Hero (Layout B — Centred) ──── */
.r7k_hero{
  padding:2.5rem 0 2rem;
  text-align:center;
  background:linear-gradient(180deg,var(--bg-card) 0%,var(--bg-base) 100%);
}
.r7k_hero-badge{
  display:inline-block;
  padding:4px 14px;
  border-radius:20px;
  border:1px solid var(--highlight);
  color:var(--highlight);
  font-size:0.8rem;
  font-weight:500;
  margin-bottom:1rem;
  letter-spacing:0.5px;
}
.r7k_hero p{
  max-width:640px;
  margin:0 auto 1.5rem;
  color:var(--muted);
  font-size:1.05rem;
}
.r7k_hero-cta{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:center;
  margin-bottom:2rem;
}

/* ──── Inner page hero ──── */
.r7k_page-hero{
  padding:2rem 0 1.5rem;
  background:linear-gradient(180deg,var(--bg-card) 0%,var(--bg-base) 100%);
}
.r7k_page-hero h1{margin-bottom:0.5rem}
.r7k_page-hero p{color:var(--muted);max-width:640px}

/* ──── Bonus bar ──── */
.r7k_bonus-bar{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:1.25rem;
  margin-top:1.5rem;
  text-align:center;
}
.r7k_bonus-bar-title{
  font-family:var(--font-heading);
  font-size:0.85rem;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:0.5rem;
}
.r7k_bonus-bar-value{
  font-family:var(--font-heading);
  font-size:clamp(1.5rem,4vw,2.25rem);
  font-weight:700;
  color:var(--highlight);
}
.r7k_bonus-bar-code{
  display:inline-block;
  margin-top:0.75rem;
  padding:8px 20px;
  border-radius:var(--radius);
  background:var(--bg-base);
  border:1px dashed var(--highlight);
  color:var(--highlight);
  font-family:monospace;
  font-size:1rem;
  letter-spacing:1px;
  cursor:pointer;
  transition:border-color var(--transition);
}
.r7k_bonus-bar-code:hover{border-style:solid}
.r7k_bonus-bar-code[data-copied]::after{content:" ✓"}

/* ──── Trust bar ──── */
.r7k_trust{
  padding:1.5rem 0;
  border-bottom:1px solid var(--border);
}
.r7k_trust-items{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
  justify-content:center;
  text-align:center;
  list-style:none;
  margin:0;
  padding:0;
}
.r7k_trust-item{
  padding:12px 16px;
  background:var(--bg-card);
  border-radius:var(--radius);
  border:1px solid var(--border);
  flex:1 1 140px;
  min-width:140px;
}
.r7k_trust-item strong{display:block;color:var(--highlight);font-size:1.1rem}
.r7k_trust-item span{font-size:0.8rem;color:var(--muted)}

/* ──── Content sections ──── */
.r7k_section{padding:2rem 0}
.r7k_section--alt{background:var(--bg-card)}

.r7k_content{max-width:800px}
.r7k_content h2{
  border-left:3px solid var(--accent);
  padding-left:12px;
}
.r7k_content ul,
.r7k_content ol{color:var(--text)}

/* ──── Tables ──── */
.r7k_table-wrap{
  overflow-x:auto;
  margin:1rem 0 1.5rem;
  border-radius:var(--radius);
  border:1px solid var(--border);
  -webkit-overflow-scrolling:touch;
}
.r7k_table{
  width:100%;
  border-collapse:collapse;
  font-size:0.9rem;
}
.r7k_table th{
  background:var(--bg-card);
  padding:10px 14px;
  text-align:left;
  font-weight:600;
  color:var(--highlight);
  border-bottom:1px solid var(--border);
  white-space:nowrap;
}
.r7k_table td{
  padding:10px 14px;
  border-bottom:1px solid var(--border);
}
.r7k_table tr:last-child td{border-bottom:none}
.r7k_table tr:hover td{background:var(--bg-card)}

/* ──── Cards ──── */
.r7k_cards{
  display:flex;
  flex-direction:column;
  gap:1rem;
  margin:1.5rem 0;
}
.r7k_card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:1.25rem;
  transition:transform var(--transition);
}
.r7k_card:hover{transform:translateY(-2px)}
.r7k_card h3{margin-top:0;color:var(--accent)}
.r7k_card p:last-child{margin-bottom:0}

/* ──── Game info ──── */
.r7k_game-info{
  padding:1.25rem;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  margin:1.5rem 0;
}
.r7k_game-info-row{
  display:flex;
  justify-content:space-between;
  padding:8px 0;
  border-bottom:1px solid var(--border);
}
.r7k_game-info-row:last-child{border-bottom:none}
.r7k_game-info-label{color:var(--muted);font-size:0.9rem}
.r7k_game-info-value{color:var(--highlight);font-weight:600;font-size:0.9rem}

/* ──── Steps / How-to ──── */
.r7k_steps{counter-reset:step;margin:1.5rem 0}
.r7k_step{
  position:relative;
  padding:1rem 1rem 1rem 3.5rem;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  margin-bottom:8px;
  counter-increment:step;
}
.r7k_step::before{
  content:counter(step);
  position:absolute;
  left:1rem;
  top:1rem;
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:0.85rem;
}
.r7k_step h4{margin-bottom:0.3rem}
.r7k_step p{margin-bottom:0;font-size:0.9rem;color:var(--muted)}

/* ──── Info box ──── */
.r7k_info-box{
  background:var(--bg-base);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1rem 1.25rem;
  margin:1rem 0;
  font-size:0.9rem;
  color:var(--muted);
}
.r7k_info-box--warning{border-color:var(--accent)}
.r7k_info-box--success{border-color:var(--highlight)}

/* ──── Author box ──── */
.r7k_author-box{
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:1.25rem;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  margin:1.5rem 0;
}
.r7k_avatar{
  width:56px;
  height:56px;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:1.25rem;
  flex-shrink:0;
}
.r7k_author-box h4{margin-bottom:0.2rem}
.r7k_author-box p{font-size:0.85rem;color:var(--muted);margin-bottom:0}

/* ──── Author page ──── */
.r7k_author-header{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
  text-align:center;
  padding:2rem 0;
}
.r7k_avatar--lg{width:80px;height:80px;font-size:1.75rem}
.r7k_author-meta{font-size:0.9rem;color:var(--muted)}

.r7k_expertise-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:1rem 0;
  list-style:none;
  padding:0;
}
.r7k_expertise-tag{
  padding:6px 14px;
  border-radius:20px;
  font-size:0.8rem;
  background:var(--bg-base);
  border:1px solid var(--border);
  color:var(--highlight);
}

.r7k_articles-list{margin:1rem 0;list-style:none;padding:0}
.r7k_articles-list li{margin-bottom:0.75rem}
.r7k_articles-list a{color:var(--accent);font-weight:500}
.r7k_articles-list span{display:block;font-size:0.85rem;color:var(--muted)}

/* ──── FAQ accordion ──── */
.r7k_faq{margin:1.5rem 0}
.r7k_faq-item{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  margin-bottom:8px;
  overflow:hidden;
}
.r7k_faq-btn{
  width:100%;
  text-align:left;
  background:none;
  border:none;
  color:var(--text);
  padding:14px 16px;
  font-size:0.95rem;
  font-weight:600;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:44px;
  font-family:var(--font-body);
  gap:12px;
}
.r7k_faq-btn::after{
  content:"+";
  font-size:1.25rem;
  color:var(--accent);
  transition:transform var(--transition);
  flex-shrink:0;
}
.r7k_faq-item.open .r7k_faq-btn::after{transform:rotate(45deg)}
.r7k_faq-body{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.35s ease;
}
.r7k_faq-item.open .r7k_faq-body{max-height:600px}
.r7k_faq-body-inner{padding:0 16px 16px}
.r7k_faq-body p{color:var(--muted);font-size:0.9rem;margin-bottom:0.5rem}
.r7k_faq-body p:last-child{margin-bottom:0}

/* ──── CTA band ──── */
.r7k_cta-band{
  padding:2.5rem 0;
  text-align:center;
  background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-base) 100%);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.r7k_cta-band h2{
  border-left:none;
  padding-left:0;
  margin-bottom:0.75rem;
  margin-top:0;
}
.r7k_cta-band p{
  color:var(--muted);
  max-width:500px;
  margin:0 auto 1.5rem;
}

/* ──── Legal pages ──── */
.r7k_legal{padding:2rem 0}
.r7k_legal h1{margin-bottom:1.5rem}
.r7k_legal h2{border-left:3px solid var(--accent);padding-left:12px}
.r7k_legal p{color:var(--muted);line-height:1.7}

.r7k_age-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:50%;
  border:3px solid var(--accent);
  color:var(--accent);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:1.25rem;
  margin-bottom:1rem;
}

/* ──── Checklist ──── */
.r7k_checklist{list-style:none;margin:1rem 0;padding:0}
.r7k_checklist li{
  position:relative;
  padding-left:1.75rem;
  margin-bottom:0.5rem;
}
.r7k_checklist li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--highlight);
  font-weight:700;
}

/* ──── Highlight text ──── */
.r7k_hl{color:var(--highlight);font-weight:600}

/* ──── Provider tag ──── */
.r7k_provider-tag{
  display:inline-block;
  padding:4px 12px;
  background:var(--bg-base);
  border:1px solid var(--border);
  border-radius:var(--radius);
  font-size:0.8rem;
  color:var(--muted);
  margin:2px;
}

/* ──── Footer ──── */
.r7k_footer{
  padding:2.5rem 0 1.5rem;
  background:var(--bg-card);
  border-top:1px solid var(--border);
}
.r7k_footer-grid{
  display:flex;
  flex-direction:column;
  gap:2rem;
}
.r7k_footer-col h4{
  font-size:0.9rem;
  color:var(--highlight);
  margin-bottom:0.75rem;
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.r7k_footer-col ul{list-style:none;margin:0;padding:0}
.r7k_footer-col li{margin-bottom:0.4rem}
.r7k_footer-col a{color:var(--muted);font-size:0.9rem}
.r7k_footer-col a:hover{color:var(--text)}
.r7k_footer-copy{font-size:0.8rem;color:var(--muted)}
.r7k_footer-age{
  font-size:0.85rem;
  color:var(--accent);
  font-weight:600;
  margin-top:0.4rem;
}

/* ──── Sticky mobile CTA ──── */
.r7k_sticky-cta{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:99;
  background:var(--bg-card);
  border-top:1px solid var(--border);
  padding:12px 16px;
  display:flex;
}

/* ──── Animations ──── */
@keyframes r7k-fadeUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
.r7k_animate{opacity:0;transform:translateY(20px)}
.r7k_animate.visible{animation:r7k-fadeUp 0.5s ease forwards}

/* ──── Content visibility (below fold) ──── */
[data-below-fold]{
  content-visibility:auto;
  contain-intrinsic-size:0 500px;
}

/* ──── Responsive: 480px ──── */
@media(min-width:480px){
  .container{padding:0 20px}
  .r7k_hero-cta{flex-direction:row;justify-content:center}
  .r7k_bonus-bar{padding:1.5rem}
}

/* ──── Responsive: 768px ──── */
@media(min-width:768px){
  body{padding-bottom:0}
  .r7k_nav-toggle{display:none}
  .r7k_nav-list{
    display:flex;
    position:static;
    background:none;
    border:none;
    flex-direction:row;
    gap:4px;
    padding:0;
  }
  .r7k_nav-list li a{padding:8px 14px;font-size:0.9rem;min-height:auto}
  .r7k_sticky-cta{display:none}
  .r7k_section{padding:3rem 0}
  .r7k_hero{padding:3.5rem 0 2.5rem}
  .r7k_page-hero{padding:3rem 0 2rem}
  .r7k_footer-grid{flex-direction:row;justify-content:space-between}
  .r7k_author-box{flex-direction:row;align-items:center}
  .r7k_cards{flex-direction:row;flex-wrap:wrap}
  .r7k_card{flex:1 1 calc(50% - 0.5rem)}
  .r7k_trust-item{flex:1 1 auto;min-width:auto}
  .r7k_author-header{flex-direction:row;text-align:left}
}

/* ──── Responsive: 1024px ──── */
@media(min-width:1024px){
  .container{padding:0 24px}
  .r7k_hero{padding:4rem 0 3rem}
  h1{margin-bottom:1.25rem}
  .r7k_section{padding:3.5rem 0}
  .r7k_cards{flex-wrap:nowrap}
  .r7k_card{flex:1}
}
