@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Lato:wght@300;400;700&display=swap');
:root{
  --bg-main:#0C0A0F;
  --bg-card:#17121E;
  --accent:#8B1A4A;
  --accent-2:#C9A84C;
  --text-main:#F0E6D3;
  --text-muted:#8A7E6E;
  --border:rgba(201,168,76,0.18);
  --font-head:'Cormorant Garamond',Georgia,serif;
  --font-body:'Lato',system-ui,Arial,sans-serif;
  --maxw:1180px;
  --gap:clamp(1.5rem,4vw,3rem);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg-main);
  color:var(--text-main);
  font-family:var(--font-body);
  font-weight:400;
  font-size:17px;
  line-height:1.7;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:var(--accent-2);text-decoration:none;transition:color .2s}
a:hover{color:var(--text-main)}
p{margin:0 0 1.1rem;overflow-wrap:anywhere}
:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}

h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:600;
  line-height:1.12;
  color:var(--text-main);
  margin:0 0 .6em;
  letter-spacing:.01em;
}
h1{font-size:clamp(2.4rem,6vw,4.2rem)}
h2{font-size:clamp(1.9rem,4vw,2.9rem)}
h3{font-size:clamp(1.3rem,2.6vw,1.6rem)}

.xb-container{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:clamp(1.1rem,4vw,2.4rem);
}

/* ---------- decorative section rule ---------- */
.xb-rule{
  border:0;
  height:1px;
  max-width:var(--maxw);
  margin:0 auto;
  background:linear-gradient(90deg,transparent,var(--accent-2),transparent);
  opacity:.5;
}

section{padding-block:clamp(3rem,7vw,5.5rem)}

/* ---------- buttons ---------- */
.xb-btn,.xb-cta__btn,.xb-hero__cta{
  display:inline-block;
  font-family:var(--font-body);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.82rem;
  padding:.85em 2.1em;
  border:1px solid var(--accent-2);
  border-radius:3px;
  background:transparent;
  color:var(--accent-2);
  cursor:pointer;
  transition:background .25s,color .25s;
}
.xb-btn:hover,.xb-cta__btn:hover,.xb-hero__cta:hover{
  background:var(--accent-2);
  color:var(--bg-main);
}
.xb-btn--solid{background:var(--accent);border-color:var(--accent);color:var(--text-main)}
.xb-btn--solid:hover{background:var(--accent-2);border-color:var(--accent-2);color:var(--bg-main)}

/* ---------- header ---------- */
.xb-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(12,10,15,0.92);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.xb-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  min-height:74px;
}
.xb-logo{display:flex;align-items:center;min-width:0}
.xb-logo__img{height:40px;width:auto}
.xb-nav{display:flex;align-items:center;gap:1.6rem}
.xb-nav__list{
  display:flex;
  align-items:center;
  gap:1.5rem;
  list-style:none;
  margin:0;padding:0;
}
.xb-nav__link{
  color:var(--text-main);
  font-size:.94rem;
  font-weight:400;
  letter-spacing:.02em;
  position:relative;
  padding-block:.3rem;
}
.xb-nav__link::after{
  content:'';
  position:absolute;
  left:0;bottom:0;
  width:0;height:1px;
  background:var(--accent-2);
  transition:width .25s;
}
.xb-nav__link:hover{color:var(--accent-2)}
.xb-nav__link:hover::after{width:100%}
.xb-header__cta{flex-shrink:0}
.xb-burger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px;height:44px;
  background:transparent;
  border:1px solid var(--border);
  border-radius:3px;
  cursor:pointer;
}
.xb-burger span{
  display:block;
  height:1.5px;
  width:22px;
  margin-inline:auto;
  background:var(--accent-2);
  transition:transform .25s,opacity .25s;
}
.xb-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.xb-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.xb-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ---------- hero ---------- */
.xb-hero{
  text-align:center;
  background:
    radial-gradient(ellipse at 50% -10%,rgba(139,26,74,0.35),transparent 60%),
    var(--bg-main);
  padding-block:clamp(4rem,10vw,7.5rem);
}
.xb-hero__inner{max-width:820px;margin-inline:auto}
.xb-hero__eyebrow{
  font-family:var(--font-body);
  text-transform:uppercase;
  letter-spacing:.4em;
  font-size:.72rem;
  color:var(--accent-2);
  margin-bottom:1.6rem;
}
.xb-hero__title{
  position:relative;
  display:inline-block;
  padding-block:1.4rem;
}
.xb-hero__title::before,.xb-hero__title::after{
  content:'';
  position:absolute;
  left:15%;right:15%;
  height:1px;
  background:var(--accent-2);
  opacity:.7;
}
.xb-hero__title::before{top:0}
.xb-hero__title::after{bottom:0}
.xb-hero__sub{
  font-size:1.15rem;
  color:var(--text-muted);
  max-width:620px;
  margin:1.6rem auto 2.4rem;
}

/* ---------- toc ---------- */
.xb-toc{text-align:center}
.xb-toc__list{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.8rem;
  list-style:none;
  margin:0;padding:0;
}
.xb-toc__pill{
  display:inline-block;
  padding:.5em 1.3em;
  border:1px solid var(--accent-2);
  border-radius:100px;
  color:var(--accent-2);
  font-size:.85rem;
  letter-spacing:.04em;
  transition:background .2s,color .2s;
}
.xb-toc__pill:hover{background:var(--accent-2);color:var(--bg-main)}

/* ---------- stats-bar ---------- */
.xb-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));
  gap:var(--gap);
  text-align:center;
}
.xb-stats__item{min-width:0;padding:1rem;border-left:1px solid var(--border)}
.xb-stats__item:first-child{border-left:0}
.xb-stats__num{
  font-family:var(--font-head);
  font-size:clamp(2.2rem,5vw,3.2rem);
  font-weight:600;
  color:var(--accent-2);
  line-height:1;
}
.xb-stats__label{
  display:block;
  margin-top:.6rem;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--text-muted);
}

/* ---------- overview ---------- */
.xb-overview__inner{max-width:780px;margin-inline:auto}
.xb-overview__inner p:last-child{margin-bottom:0}

/* ---------- feature-cards / cards-grid ---------- */
.xb-features,.xb-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));
  gap:var(--gap);
}
.xb-feature,.xb-card{
  position:relative;
  min-width:0;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:3px;
  padding:2rem 1.8rem;
}
.xb-feature::before,.xb-card::before{
  content:'';
  position:absolute;
  top:0;left:0;
  width:34px;height:34px;
  border-top:2px solid var(--accent-2);
  border-left:2px solid var(--accent-2);
  border-top-left-radius:3px;
}
.xb-feature__icon,.xb-card__media{
  width:48px;height:48px;
  border-radius:3px;
  margin-bottom:1.2rem;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
}
.xb-card__media{width:100%;height:auto;aspect-ratio:16/9}
.xb-feature__title,.xb-card__title{margin-bottom:.5rem}
.xb-feature p:last-child,.xb-card p:last-child{margin-bottom:0;color:var(--text-muted)}

/* masonry editorial rhythm: alternate wide/narrow on cards-grid */
.xb-cards--masonry{grid-auto-flow:dense}
.xb-cards--masonry .xb-card:nth-child(3n+1){grid-column:span 2}

/* ---------- data-table / payments-table ---------- */
.xb-table-wrap{overflow-x:auto;max-width:100%;margin-inline:auto;border:1px solid var(--border);border-radius:3px}
.xb-table{
  width:100%;
  min-width:560px;
  border-collapse:collapse;
  font-size:.95rem;
}
.xb-table thead th{
  background:transparent;
  color:var(--accent-2);
  text-align:left;
  font-family:var(--font-body);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  padding:1rem 1.2rem;
  border-bottom:2px solid var(--accent-2);
  white-space:nowrap;
}
.xb-table tbody td{padding:.95rem 1.2rem;border-bottom:1px solid var(--border);overflow-wrap:anywhere}
.xb-table tbody tr:nth-child(odd){background:#0C0A0F}
.xb-table tbody tr:nth-child(even){background:#17121E}
.xb-table tbody tr{border-left:2px solid transparent;transition:border-color .2s}
.xb-table tbody tr:hover{border-left-color:var(--accent-2)}
.xb-payments__icon{display:inline-block;width:26px;height:18px;border-radius:2px;background:linear-gradient(135deg,var(--accent),var(--accent-2));vertical-align:middle;margin-inline-end:.5rem}

/* ---------- two-cols ---------- */
.xb-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--gap);
  align-items:center;
}
.xb-two>*{min-width:0}
.xb-two__media{
  width:100%;
  aspect-ratio:4/3;
  border-radius:3px;
  border:1px solid var(--border);
  background:
    radial-gradient(circle at 30% 30%,rgba(201,168,76,0.25),transparent 55%),
    linear-gradient(135deg,var(--bg-card),var(--accent));
}
.xb-two p:last-child{margin-bottom:0}

/* ---------- numbered-list ---------- */
.xb-steps{counter-reset:xb-step;list-style:none;margin:0;padding:0;max-width:820px;margin-inline:auto}
.xb-steps li{
  counter-increment:xb-step;
  position:relative;
  padding:1.3rem 0 1.3rem 4.2rem;
  border-bottom:1px solid var(--border);
  overflow-wrap:anywhere;
}
.xb-steps li::before{
  content:counter(xb-step,decimal-leading-zero);
  position:absolute;
  left:0;top:1.1rem;
  font-family:var(--font-head);
  font-size:1.8rem;
  font-weight:600;
  color:var(--accent-2);
}

/* ---------- categories-bar ---------- */
.xb-categories{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
.xb-categories__pill{
  padding:.45em 1.2em;
  border:1px solid var(--border);
  border-radius:100px;
  color:var(--text-muted);
  font-size:.82rem;
  letter-spacing:.04em;
}
.xb-categories__pill:hover{border-color:var(--accent-2);color:var(--accent-2)}

/* ---------- page-header + breadcrumb ---------- */
.xb-page-header{
  text-align:center;
  padding-block:clamp(2.8rem,6vw,4.5rem) clamp(2rem,4vw,3rem);
  border-bottom:1px solid var(--border);
  background:radial-gradient(ellipse at 50% 0%,rgba(139,26,74,0.22),transparent 65%);
}
.xb-breadcrumb{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  justify-content:center;
  margin:1.1rem 0 0;
  padding:0;
  font-size:.8rem;
  letter-spacing:.06em;
  color:var(--text-muted);
}
.xb-breadcrumb li+li::before{content:'/';margin-inline-end:.5rem;color:var(--border)}
.xb-breadcrumb a{color:var(--text-muted)}
.xb-breadcrumb a:hover{color:var(--accent-2)}

/* ---------- legal-body ---------- */
.xb-legal{max-width:820px;margin-inline:auto;counter-reset:xb-sec}
.xb-legal h2{counter-increment:xb-sec;display:flex;gap:.8rem;align-items:baseline;border-top:1px solid var(--border);padding-top:1.8rem;margin-top:2.4rem}
.xb-legal h2::before{content:counter(xb-sec) '.';color:var(--accent-2);font-size:1.4rem}
.xb-legal h2:first-of-type{border-top:0;margin-top:0;padding-top:0}
.xb-legal p,.xb-legal li{color:var(--text-muted)}

/* ---------- faq ---------- */
.xb-faq__inner{max-width:820px;margin-inline:auto}
.xb-faq details{border-bottom:1px solid var(--border)}
.xb-faq summary{
  cursor:pointer;
  padding:1.1rem 0;
  font-family:var(--font-head);
  font-size:1.25rem;
  font-weight:600;
  color:var(--text-main);
  list-style:none;
  display:flex;
  align-items:baseline;
}
.xb-faq summary::-webkit-details-marker{display:none}
.xb-faq summary::before{
  content:'+';
  margin-inline-end:.7rem;
  color:var(--accent-2);
  font-family:var(--font-body);
  font-weight:400;
  transition:transform .2s;
}
.xb-faq details[open] summary::before{content:'\2212'}
.xb-faq details>:not(summary){padding:.2rem 0 1.2rem 1.7rem;color:var(--text-muted)}

/* ---------- cta-block ---------- */
.xb-cta{
  text-align:center;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(139,26,74,0.4),transparent 70%),
    var(--bg-card);
  border-block:1px solid var(--border);
}
.xb-cta__inner{max-width:680px;margin-inline:auto}
.xb-cta__title{margin-bottom:1rem}
.xb-cta p{color:var(--text-muted);margin-bottom:2rem}

/* ---------- rtp-grid ---------- */
.xb-rtp{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:1.2rem}
.xb-rtp-item{position:relative;min-width:0;border:1px solid var(--border);border-radius:3px;overflow:hidden}
.xb-rtp-item__img{width:100%;aspect-ratio:1;background:linear-gradient(135deg,var(--bg-card),var(--accent))}
.xb-rtp-item__name{padding:.6rem;font-size:.82rem;text-align:center}
.xb-rtp-tooltip{
  position:absolute;
  left:0;right:0;bottom:0;
  opacity:0;
  background:rgba(12,10,15,0.92);
  color:var(--accent-2);
  font-size:.8rem;
  padding:.6rem;
  text-align:center;
  transition:opacity .2s;
}
.xb-rtp-item:hover .xb-rtp-tooltip{opacity:1}

/* ---------- sticky-nav (mobile) ---------- */
.xb-sticky-nav{display:none}

/* ---------- chat-widget ---------- */
.xb-chat-btn{
  position:fixed;
  right:1.2rem;bottom:1.2rem;
  z-index:60;
  width:54px;height:54px;
  border-radius:100px;
  border:1px solid var(--accent-2);
  background:var(--accent);
  color:var(--text-main);
  font-size:1.4rem;
  cursor:pointer;
}

/* ---------- footer ---------- */
.xb-footer{
  background:#08070A;
  border-top:1px solid var(--border);
  padding-block:clamp(3rem,6vw,4.5rem) 2rem;
  font-size:.92rem;
}
.xb-footer__grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr;
  gap:var(--gap);
}
.xb-footer__grid>*{min-width:0}
.xb-footer__logo{height:38px;width:auto;margin-bottom:1.2rem}
.xb-footer__about{color:var(--text-muted);max-width:34ch}
.xb-footer__col h3{
  font-family:var(--font-body);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.76rem;
  color:var(--accent-2);
  margin-bottom:1.1rem;
}
.xb-footer__links{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.xb-footer__links a{color:var(--text-muted)}
.xb-footer__links a:hover{color:var(--accent-2)}
.xb-footer__disclaimer{
  margin-top:2.6rem;
  padding-top:1.6rem;
  border-top:1px solid var(--border);
  color:var(--text-muted);
  font-size:.82rem;
  line-height:1.6;
}
.xb-footer__age{
  display:inline-block;
  border:1px solid var(--accent-2);
  color:var(--accent-2);
  border-radius:100px;
  padding:.05em .55em;
  font-weight:700;
  margin-inline-end:.5rem;
}
.xb-footer__bottom{
  margin-top:1.6rem;
  display:flex;
  flex-wrap:wrap;
  gap:.8rem 1.5rem;
  justify-content:space-between;
  align-items:center;
  color:var(--text-muted);
  font-size:.8rem;
}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .xb-stats{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}
  .xb-stats__item:nth-child(odd){border-left:0}
  .xb-features,.xb-cards{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}
  .xb-cards--masonry .xb-card:nth-child(3n+1){grid-column:span 1}
  .xb-rtp{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}
  .xb-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  .xb-nav{
    position:fixed;
    inset:74px 0 auto 0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:rgba(12,10,15,0.98);
    border-bottom:1px solid var(--border);
    padding:1rem clamp(1.1rem,4vw,2.4rem) 1.6rem;
    transform:translateY(-130%);
    transition:transform .3s ease;
  }
  .xb-nav[data-open="true"]{transform:translateY(0)}
  .xb-nav__list{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .xb-nav__link{padding-block:.9rem;border-bottom:1px solid var(--border)}
  .xb-header__cta{display:none}
  .xb-burger{display:flex}
}
@media (max-width:620px){
  body{font-size:16px}
  .xb-two{grid-template-columns:1fr}
  .xb-rtp{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}
  .xb-footer__grid{grid-template-columns:1fr}
  .xb-cards--masonry .xb-card{grid-column:span 1}
}
@media (max-width:360px){
  .xb-stats{grid-template-columns:1fr}
  .xb-stats__item{border-left:0}
  .xb-features,.xb-cards{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}
/* sa-responsive-net */
table th{white-space:nowrap}
