/* homepage — magazine layout, distinct from reference site */

.zb-hero{
  display:grid;grid-template-columns:1fr 1.1fr;min-height:520px;
  background:var(--paper)
}
.zb-hero__text{
  display:flex;flex-direction:column;justify-content:center;
  padding:3rem 2rem 3rem clamp(1.25rem,4vw,3rem);
  border-right:1px solid var(--line)
}
.zb-hero__eyebrow{
  font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;
  color:var(--gold-accent);font-weight:700;margin-bottom:1rem
}
.zb-hero h1{
  font-size:clamp(2rem,4.5vw,3rem);margin-bottom:1rem;
  letter-spacing:-.01em
}
.zb-hero h1 span{color:var(--gold-accent)}
.zb-hero__lead{color:var(--muted);font-size:1.05rem;margin-bottom:1.6rem;max-width:28rem}
.zb-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.2rem}
.zb-hero__live{
  font-size:.82rem;color:var(--forest);font-weight:600;
  display:flex;align-items:center;gap:.5rem
}
.zb-hero__live i{
  width:8px;height:8px;border-radius:50%;background:var(--gold);
  animation:zb-pulse 1.5s ease infinite
}
@keyframes zb-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.zb-hero__visual{position:relative;overflow:hidden}
.zb-hero__visual img{width:100%;height:100%;object-fit:cover;min-height:400px}
.zb-hero__visual::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--paper) 0%,transparent 15%)
}

.zb-marquee{
  overflow:hidden;background:var(--forest);color:#fff;
  padding:.55rem 0;font-size:.76rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em
}
.zb-marquee__track{
  display:flex;width:max-content;gap:3rem;
  animation:zb-scroll 32s linear infinite
}
.zb-marquee__track span{white-space:nowrap}
.zb-marquee__track span::after{content:" · ";opacity:.5}
@keyframes zb-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.zb-stats{
  display:flex;justify-content:center;flex-wrap:wrap;gap:2rem;
  padding:2.5rem 1.25rem;background:var(--cream);
  border-bottom:1px solid var(--line)
}
.zb-stat{text-align:center;min-width:120px}
.zb-stat strong{
  display:block;font-family:var(--serif);font-size:2.2rem;
  color:var(--forest);line-height:1.1
}
.zb-stat small{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}

.zb-features{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line)}
.zb-feat{
  padding:2rem 1.5rem;background:var(--paper);
  border-right:1px solid var(--line);text-align:center
}
.zb-feat:last-child{border-right:none}
.zb-feat__icon{
  width:48px;height:48px;margin:0 auto 1rem;border-radius:50%;
  background:rgba(27,67,50,.08);display:grid;place-items:center;
  font-size:1.3rem
}
.zb-feat h3{font-size:1rem;margin-bottom:.4rem}
.zb-feat p{font-size:.86rem;color:var(--muted)}

.zb-zigzag{display:flex;flex-direction:column;gap:0}
.zb-zigzag__row{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border-bottom:1px solid var(--line)
}
.zb-zigzag__row:nth-child(even) .zb-zigzag__img{order:2}
.zb-zigzag__row:nth-child(even) .zb-zigzag__text{border-left:1px solid var(--line);border-right:none}
.zb-zigzag__img img{width:100%;height:100%;object-fit:cover;min-height:280px}
.zb-zigzag__text{
  padding:2.5rem 2rem;display:flex;flex-direction:column;justify-content:center;
  background:var(--paper);border-right:1px solid var(--line)
}
.zb-zigzag__text h3{font-size:1.25rem;margin-bottom:.5rem}
.zb-zigzag__text p{color:var(--muted);font-size:.92rem;margin-bottom:.75rem}

.zb-players-scroll{
  display:flex;gap:1rem;overflow-x:auto;padding:1rem 0 1.5rem;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch
}
.zb-players-scroll::-webkit-scrollbar{height:6px}
.zb-players-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.zb-player-card{
  flex:0 0 280px;scroll-snap-align:start;
  background:var(--paper);border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:1.25rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  box-shadow:var(--shadow)
}
.zb-player-card img{
  width:80px;height:80px;border-radius:50%;object-fit:cover;
  border:3px solid var(--gold);margin-bottom:.75rem
}
.zb-player-card h3{font-size:1rem;margin-bottom:.2rem}
.zb-player-card .meta{font-size:.8rem;color:var(--muted);margin-bottom:.5rem}
.zb-player-card .score{
  font-family:var(--serif);font-size:1.5rem;color:var(--forest);font-weight:700
}

.zb-pricing-table{
  display:grid;grid-template-columns:repeat(3,1fr);
  border:2px solid var(--forest);border-radius:var(--radius-lg);overflow:hidden
}
.zb-plan{
  padding:2rem 1.5rem;background:var(--paper);
  border-right:1px solid var(--line);text-align:center
}
.zb-plan:last-child{border-right:none}
.zb-plan--featured{background:var(--forest);color:#fff}
.zb-plan--featured h3,.zb-plan--featured .zb-plan-price{color:#fff}
.zb-plan--featured p,.zb-plan--featured li{color:rgba(255,255,255,.8)}
.zb-plan--featured .btn{background:var(--gold-btn);border-color:var(--gold-btn);color:#fff}
.zb-plan h3{font-size:1.1rem;margin-bottom:.5rem}
.zb-plan-price{
  font-family:var(--serif);font-size:2rem;color:var(--forest);
  margin-bottom:1rem;font-weight:700
}
.zb-plan-price span{font-size:.75rem;font-weight:400;font-family:var(--sans)}
.zb-plan ul{text-align:left;margin-bottom:1.25rem}
.zb-plan li{
  font-size:.88rem;color:var(--muted);padding:.35rem 0 .35rem 1.2rem;
  position:relative
}
.zb-plan li::before{content:"—";position:absolute;left:0;color:var(--gold)}
.zb-plan--featured li::before{color:var(--gold-light)}
.zb-billing{
  display:flex;justify-content:center;gap:0;margin-bottom:1.5rem;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;width:fit-content;margin-left:auto;margin-right:auto
}
.zb-billing button{
  padding:.55rem 1.2rem;border:none;background:var(--paper);
  cursor:pointer;font-size:.88rem;font-weight:600;color:var(--muted)
}
.zb-billing button[aria-pressed="true"]{background:var(--forest);color:#fff}
.zb-pricing-panel{display:none}
.zb-pricing-panel.is-active{display:block}

.zb-quote-slider{
  background:var(--paper);border:2px solid var(--line);
  border-radius:var(--radius-lg);padding:2.5rem 2rem;text-align:center;
  position:relative;max-width:640px;margin:0 auto
}
.zb-quote-slider blockquote{
  font-family:var(--serif);font-size:1.2rem;color:var(--ink);
  line-height:1.5;margin-bottom:1rem;font-style:italic
}
.zb-quote-slider cite{font-style:normal;font-size:.85rem;font-weight:600;color:var(--forest)}
.zb-quote-nav{
  display:flex;justify-content:center;gap:.5rem;margin-top:1.25rem
}
.zb-quote-nav button{
  width:36px;height:36px;border:1px solid var(--line);border-radius:50%;
  background:var(--cream);cursor:pointer;font-size:1.1rem;color:var(--forest)
}

.zb-articles-compact{display:flex;flex-direction:column;gap:1rem}
.zb-article-mini{
  display:flex;gap:1rem;align-items:flex-start;
  padding:1rem;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--radius)
}
.zb-article-mini img{width:120px;height:76px;object-fit:cover;border-radius:var(--radius);flex-shrink:0}
.zb-article-mini time{font-size:.7rem;color:var(--gold-accent);font-weight:600}
.zb-article-mini h3{font-size:.95rem;margin:.2rem 0}
.zb-article-mini p{font-size:.82rem;color:var(--muted)}

@media(max-width:960px){
  .zb-hero{grid-template-columns:1fr}
  .zb-hero__text{border-right:none;border-bottom:1px solid var(--line)}
  .zb-hero__visual{order:-1;min-height:260px}
  .zb-hero__visual::after{background:linear-gradient(180deg,transparent 60%,var(--paper))}
  .zb-features{grid-template-columns:1fr}
  .zb-feat{border-right:none;border-bottom:1px solid var(--line)}
  .zb-zigzag__row,.zb-zigzag__row:nth-child(even){grid-template-columns:1fr}
  .zb-zigzag__row:nth-child(even) .zb-zigzag__img{order:0}
  .zb-zigzag__text,.zb-zigzag__row:nth-child(even) .zb-zigzag__text{border:0}
  .zb-pricing-table{grid-template-columns:1fr}
  .zb-plan{border-right:none;border-bottom:1px solid var(--line)}
}
