/* Product hub: composition only; tokens, type, navigation and footer are shared. */
.product-hero{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(0,1fr);
  align-items:center;gap:48px;
  background:radial-gradient(ellipse at 100% 0,rgba(16,169,183,.1),transparent 65%)}
.product-hero h1 span{display:inline}
.product-hero .lead{max-width:54ch}
.hero-thread{border-left:1px solid var(--cyan);padding-left:28px;
  font-family:var(--disp);font-size:clamp(20px,2vw,28px);text-transform:uppercase;line-height:1.4}
.hero-thread span{display:block;color:var(--cyan-hi);margin-block:12px;font-family:var(--body);font-size:20px}
.product-overview{border-top:1px solid var(--line)}
.capabilities{list-style:none;padding:0;margin:20px 0 0;color:#D3DEE5;font-size:14px}
.capabilities li{padding:8px 0 8px 18px;position:relative}
.capabilities li::before{content:'';position:absolute;left:0;top:18px;width:5px;height:5px;background:var(--cyan)}
.product-community{grid-template-columns:minmax(0,1fr);min-height:460px}
.product-community .community-copy{max-width:760px}
.product-community::after{background:linear-gradient(90deg,rgba(7,14,21,.93),rgba(7,14,21,.65))}
.product-review{border-block:1px solid var(--line);background:linear-gradient(135deg,#102A35,var(--panel));}
.product-review>.text-link{margin-top:24px}
.product-exercises{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px)}
.product-exercises .lead{margin-top:0}
.exercise-path{list-style:none;counter-reset:exercise;padding:0;margin:24px 0 12px;font-size:15px}
.exercise-path li{counter-increment:exercise;border-top:1px solid var(--line);padding:14px 0}
.exercise-path li::before{content:'0' counter(exercise) ' /';color:var(--cyan-hi);margin-right:16px;font-family:var(--disp)}
.product-page .coach-section{align-items:start}
.product-page .coach-section h2{font-size:clamp(30px,3vw,44px)}
.product-page .coach-copy .progress-list{margin-top:0}
.product-loop .section-intro{max-width:850px}
.training-loop{list-style:none;padding:0;margin:40px 0 16px;display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;counter-reset:cycle}
.training-loop li{position:relative;min-width:0;border-top:1px solid var(--cyan);padding-top:20px}
.training-loop li:not(:last-child)::after{content:'→';position:absolute;top:-16px;right:-22px;
  background:var(--ink);color:var(--cyan-hi);font-size:20px;padding-inline:4px}
.loop-number{display:block;font-family:var(--disp);font-size:18px;color:var(--cyan-hi);margin-bottom:14px}
.training-loop h3{font-size:22px;line-height:1.35}
.training-loop p{font-size:14px;color:var(--muted);margin-top:10px}
@media (max-width:1100px){
  .training-loop{grid-template-columns:1fr;gap:0;max-width:760px}
  .training-loop li{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(0,1fr);
    gap:20px;align-items:baseline;padding:22px 0}
  .training-loop p,.loop-number{margin:0}
  .training-loop li:not(:last-child)::after{content:'↓';right:auto;left:4px;top:auto;bottom:-16px;z-index:1}
}
@media (max-width:900px){
  .product-hero{grid-template-columns:1fr;gap:28px}
  .hero-thread{font-size:18px;padding-left:18px;display:flex;align-items:center;flex-wrap:wrap;gap:12px}
  .hero-thread span{margin:0;transform:rotate(-90deg)}
  .product-exercises{grid-template-columns:1fr;gap:24px}
}
@media (max-width:600px){
  .hero-thread{display:none}
  .product-community{min-height:0}
  .training-loop li{grid-template-columns:30px minmax(0,1fr);gap:6px 16px;padding:22px 0}
  .training-loop p{grid-column:2}
  .training-loop h3{font-size:23px}
}
