/* ===========================================
   Tree Launcher — Features Page
   =========================================== */

/* Page hero */
.page-hero {
  padding: 140px 24px 80px; text-align: center;
  max-width: 800px; margin: 0 auto;
}
.page-hero .label {
  font-size: 13px; font-weight: 600; color: var(--green-700);
  text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 16px;
}
.page-hero h1 {
  font-size: 50px; font-weight: 700; letter-spacing: -2.5px;
  line-height: 1.1; margin-bottom: 20px;
}
.page-hero p {
  font-size: 19px; line-height: 1.65; color: var(--text-secondary);
  max-width: 600px; margin: 0 auto;
}

/* Feature sections */
.feature-section { padding: 96px 24px; }
.feature-section:nth-child(even) { background: var(--neutral-100); }
.feature-inner { max-width: 1200px; margin: 0 auto; }
.feature-header { max-width: 640px; margin-bottom: 64px; }
.feature-header .icon-box {
  width: 48px; height: 48px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; margin-bottom: 20px;
}
.feature-header h2 {
  font-size: 36px; font-weight: 700; letter-spacing: -1.5px;
  line-height: 1.15; margin-bottom: 14px;
}
.feature-header p { font-size: 17px; line-height: 1.7; color: var(--text-secondary); }

/* Feature grid */
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.feature-card {
  background: var(--white); border-radius: 14px; padding: 28px;
  border: 1px solid var(--neutral-200);
  transition: transform 0.2s, box-shadow 0.2s;
}
.feature-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,0.05); }
.feature-card .card-icon {
  width: 36px; height: 36px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; margin-bottom: 16px;
}
.feature-card h4 { font-size: 16px; font-weight: 600; letter-spacing: -0.2px; margin-bottom: 8px; }
.feature-card p { font-size: 14px; line-height: 1.6; color: var(--text-secondary); }

/* Showcase rows */
.showcase-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px;
  align-items: center; margin-bottom: 80px;
}
.showcase-row:last-child { margin-bottom: 0; }
.showcase-row.reverse { direction: rtl; }
.showcase-row.reverse > * { direction: ltr; }
.showcase-text h3 {
  font-size: 26px; font-weight: 700; letter-spacing: -0.8px;
  line-height: 1.2; margin-bottom: 12px;
}
.showcase-text p {
  font-size: 16px; line-height: 1.7; color: var(--text-secondary); margin-bottom: 16px;
}
.showcase-text ul { list-style: none; margin: 0; }
.showcase-text li {
  font-size: 14px; padding: 5px 0; display: flex; align-items: flex-start;
  gap: 8px; color: var(--text-secondary); line-height: 1.45;
}
.showcase-text li::before { content: '\2713'; color: var(--green-500); font-weight: 700; flex-shrink: 0; }
.showcase-visual {
  background: var(--neutral-900); border-radius: 20px; height: 360px;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}

/* Showcase phone mockups */
.sv-phone {
  width: 180px; height: 310px; background: #111820;
  border-radius: 22px; padding: 14px; overflow: hidden;
}
.sv-header {
  font-size: 10px; color: rgba(255,255,255,0.3); margin-bottom: 10px;
  display: flex; align-items: center; gap: 5px;
}
.sv-item {
  display: flex; align-items: center; gap: 9px;
  padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,0.04);
}
.sv-dot { width: 22px; height: 22px; border-radius: 6px; flex-shrink: 0; }
.sv-label { font-size: 11px; color: rgba(255,255,255,0.8); }
.sv-sub { font-size: 9px; color: rgba(255,255,255,0.3); margin-top: 1px; }
.sv-chev { margin-left: auto; font-size: 10px; color: rgba(255,255,255,0.12); }

/* Pro banner */
.pro-banner {
  background: linear-gradient(135deg, var(--neutral-900), #1a2a1f);
  padding: 96px 24px; text-align: center;
}
.pro-banner h2 {
  font-size: 38px; font-weight: 700; color: white;
  letter-spacing: -1.5px; margin-bottom: 14px;
}
.pro-banner p {
  font-size: 18px; color: rgba(255,255,255,0.5); margin-bottom: 48px;
  max-width: 560px; margin-left: auto; margin-right: auto; line-height: 1.6;
}
.pro-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
  max-width: 900px; margin: 0 auto 48px;
}
.pro-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px; padding: 24px 20px; text-align: center;
  transition: border-color 0.2s;
}
.pro-card:hover { border-color: var(--amber-500); }
.pro-card .pro-icon { font-size: 28px; margin-bottom: 12px; }
.pro-card h4 { font-size: 14px; font-weight: 600; color: white; margin-bottom: 6px; }
.pro-card p { font-size: 12px; color: rgba(255,255,255,0.4); line-height: 1.5; }
.btn-pro {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--amber-500); color: #FFFFFF; padding: 16px 36px;
  border-radius: 12px; font-size: 16px; font-weight: 500;
  text-decoration: none; transition: all 0.2s;
}
.btn-pro:hover {
  background: #B8922E; transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(212,168,67,0.3);
}

/* Features final CTA — green variant */
.features-final-cta {
  background: var(--green-700); text-align: center; padding: 96px 24px;
}
.features-final-cta h2 {
  font-size: 40px; font-weight: 700; color: white;
  letter-spacing: -1.5px; margin-bottom: 16px;
}
.features-final-cta p { font-size: 18px; color: rgba(255,255,255,0.7); margin-bottom: 36px; }
.features-final-cta .btn-primary {
  background: white; color: var(--green-900);
  padding: 16px 36px; font-size: 16px; font-weight: 600;
}
.features-final-cta .btn-primary:hover {
  transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}

/* Responsive */
@media (max-width: 1024px) {
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .pro-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .page-hero h1 { font-size: 36px; }
  .feature-grid { grid-template-columns: 1fr; }
  .showcase-row, .showcase-row.reverse { grid-template-columns: 1fr; direction: ltr; gap: 32px; }
  .pro-grid { grid-template-columns: 1fr; }
  .features-final-cta h2, .pro-banner h2 { font-size: 30px; }
}
