/* ---------- PRODUCTS PAGE ---------- */
@media (max-width:860px){
  .navlinks.open{ display:flex; position:absolute; top:82px; left:0; right:0; flex-direction:column; gap:16px; background:var(--bg); padding:20px 32px; border-bottom:1px solid var(--border); }
}

.product-hero{ padding:72px 0 0; }
.product-hero h1{ font-size:clamp(2rem,4.4vw,3.4rem); margin:14px 0 20px; max-width:20ch; }
.product-hero p.lead{ font-size:1.08rem; max-width:62ch; }
.product-hero .product-actions{ margin-top:34px; }
.product-built-on{ margin-top:22px; font-family:var(--font-mono); font-size:0.72rem; color:var(--text-faint); }
.product-built-on b{ color:var(--text); font-weight:600; }

.facts-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:56px; }
@media (max-width:860px){ .facts-grid{ grid-template-columns:repeat(2,1fr); } }
.fact-tile{
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:26px 22px;
}
.fact-head{ font-family:var(--font-display); font-size:1.25rem; color:var(--text); line-height:1.15; }
.fact-label{ margin-top:10px; font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-faint); }

.features-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:960px){ .features-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .features-grid{ grid-template-columns:1fr; } }
.pillar ul{ margin-top:14px; }
.pillar li{ list-style:none; display:flex; gap:10px; font-size:0.86rem; padding:3px 0; }
.pillar li::before{ content:"→"; color:var(--lime-deep); font-weight:700; }

/* ---------- PRICING ---------- */
.pricing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch; }
@media (max-width:960px){ .pricing-grid{ grid-template-columns:1fr; max-width:520px; } }
.price-card{
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:36px 32px;
  display:flex; flex-direction:column; position:relative;
}
.price-card.featured{ background:var(--bg-dark); border-color:var(--bg-dark); }
.price-badge{
  position:absolute; top:-13px; left:32px;
  background:var(--lime); color:var(--lime-text);
  font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.08em;
  padding:6px 12px; border-radius:var(--radius-pill);
}
.price-card h3{ font-size:1.35rem; margin:10px 0 6px; }
.price-card.featured h3{ color:var(--cream-on-dark); }
.price-for{ font-size:0.88rem; }
.price-card.featured .price-for{ color:#B9B6A7; }
.price-amount{ margin:24px 0 4px; font-family:var(--font-display); font-size:2.3rem; color:var(--text); line-height:1; }
.price-amount small{ font-family:var(--font-mono); font-size:0.72rem; color:var(--text-faint); letter-spacing:0.04em; }
.price-card.featured .price-amount{ color:var(--cream-on-dark); }
.price-note{ font-family:var(--font-mono); font-size:0.7rem; color:var(--text-faint); margin-bottom:24px; }
.price-card .includes{ margin:0 0 28px; grid-template-columns:1fr; gap:4px; }
.price-card .includes li{ font-size:0.88rem; padding:4px 0; }
.price-card.featured .includes li{ color:#C7C4B6; }
.price-card .btn{ margin-top:auto; justify-content:center; }
.offer-kicker.on-dark{ color:var(--lime); }
.pricing-foot{ margin-top:30px; font-size:0.88rem; max-width:80ch; }

/* ---------- DEMO ---------- */
.demo{ background:var(--bg-dark); }
.demo-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center; }
@media (max-width:900px){ .demo-grid{ grid-template-columns:1fr; gap:36px; } }
.demo h2{ color:var(--cream-on-dark); font-size:clamp(1.7rem,2.8vw,2.4rem); margin-top:14px; }
.demo p{ color:#B9B6A7; margin-top:16px; }
.demo .product-actions{ margin-top:28px; }
.demo-steps{ border:1px solid var(--border-dark); border-radius:var(--radius-lg); overflow:hidden; }
.demo-step{ display:flex; gap:16px; padding:20px 24px; border-bottom:1px solid var(--border-dark); align-items:flex-start; }
.demo-step:last-child{ border-bottom:none; }
.demo-step p{ margin:0; color:var(--cream-on-dark); font-size:0.94rem; }

/* ---------- REVIEWS ---------- */
.reviews-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:960px){ .reviews-grid{ grid-template-columns:1fr; } }
.review-card{
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:32px;
  display:flex; flex-direction:column;
}
.review-stars{ color:var(--lime-deep); letter-spacing:0.12em; font-size:0.95rem; }
.review-card blockquote{ margin:16px 0 22px; color:var(--text); font-size:0.98rem; line-height:1.6; }
.review-who{ margin-top:auto; padding-top:18px; border-top:1px solid var(--border); }
.review-name{ color:var(--text); font-weight:700; font-size:0.92rem; }
.review-meta{ font-family:var(--font-mono); font-size:0.68rem; color:var(--text-faint); margin-top:2px; }

/* ---------- FAQ ---------- */
.faq{ max-width:820px; border-top:1px solid var(--border); }
.faq details{ border-bottom:1px solid var(--border); padding:20px 0; }
.faq summary{
  cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px;
  color:var(--text); font-weight:700; font-size:1rem;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-family:var(--font-mono); color:var(--text-faint); flex:none; }
.faq details[open] summary::after{ content:"−"; }
.faq details p{ margin-top:12px; font-size:0.94rem; max-width:70ch; }

.product-cta{
  background:var(--lime); border-radius:var(--radius-lg);
  padding:52px 46px; text-align:center;
}
.product-cta h2{ color:var(--lime-text); font-size:clamp(1.5rem,2.6vw,2.1rem); max-width:24ch; margin:0 auto 16px; }
.product-cta p{ color:var(--lime-text); opacity:.85; max-width:54ch; margin:0 auto 28px; font-size:0.98rem; }
.product-cta .btn-ghost:hover{ background:var(--lime-text); color:var(--lime); }
@media (max-width:560px){
  .product-cta .btn{ width:100%; justify-content:center; }
  .product-cta{ padding:40px 24px; }
}
