/* LAUNCHER — CARDS / STEPS / PRICING / FAQ / CTA */
/* CARDS */
  .cards-grid{
    display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; margin-top: 48px;
  }
  .card{
    background: #ffffff; border: 1px solid var(--line); border-radius: 12px; padding: 32px; transition: transform 0.3s; text-align: left;
  }
  .card:hover{ transform: translateY(-4px); }
  .card-icon{ font-size: 24px; margin-bottom: 20px; color: var(--accent); }
  .card h3{ font-family:'Syne',sans-serif; font-size: 18px; margin-bottom: 12px; color: var(--ink); }
  .card p{ font-size: 15px !important; text-align: left !important; margin: 0 !important; color: var(--muted); }

  /* STEPS */
  .steps-grid{
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin-top: 64px; position: relative;
  }
  .steps-grid::before{
    content: ''; position: absolute; top: 32px; left: 10%; right: 10%; height: 1px; background: var(--line); z-index: 0;
  }
  @media(max-width: 860px){
    .steps-grid{ grid-template-columns: 1fr; }
    .steps-grid::before{ display: none; }
  }
  .step{ position: relative; z-index: 1; text-align: center; }
  .step-number{
    width: 64px; height: 64px; border: 1px solid var(--line); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin: 0 auto 24px; font-family:'Syne',sans-serif; font-weight: 700; font-size: 20px; color: var(--accent); background: #ffffff;
  }
  .step h3{ font-family:'Syne',sans-serif; font-size: 18px; margin-bottom: 12px; color: var(--ink); }
  .step p{ font-size: 14px !important; margin: 0 auto !important; max-width: 240px; color: var(--muted); }

  /* PRICING */
  .pricing-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; margin-top: 64px; }
  .plan-card{ background: #ffffff; border: 1px solid var(--line); border-radius: 16px; padding: 40px 24px; position: relative; display: flex; flex-direction: column; text-align: left; }
  .plan-card.highlight{ border-color: var(--accent); background: rgba(26, 46, 80, 0.04); }
  .plan-tag{ position: absolute; top: -12px; right: 24px; background: var(--accent); color: white; font-size: 11px; font-weight: 700; padding: 4px 12px; border-radius: 99px; letter-spacing: 0.05em; }
  .plan-name{ font-family:'Syne',sans-serif; font-size: 24px; font-weight: 700; margin-bottom: 16px; color: var(--ink); }
  .plan-desc{ font-size: 13px; color: var(--muted); margin-bottom: 32px; font-style: italic; min-height: 48px; }
  .plan-features{ list-style: none; margin-bottom: 40px; flex-grow: 1; padding: 0; }
  .plan-features li{ font-size: 13px; margin-bottom: 16px; display: flex; gap: 12px; color: var(--ink); opacity: 0.85; }
  .plan-features li::before{ content: '✓'; color: var(--accent); font-weight: bold; }
  .plan-card .btn{ width: 100%; text-align: center; }
  .btn-outline{ background: transparent; border: 1px solid var(--ink); color: var(--ink); }
  .btn-outline:hover{ background: rgba(28, 26, 22, 0.05); }
  .btn-rust{ background: var(--accent); color: white; border: 1px solid var(--accent); transition: all 0.2s ease; }
  .btn-rust:hover{ background: var(--blue-light); border-color: var(--blue-light); }

  /* MAINTENANCE BANNER */
  .maintenance-banner{
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 32px;
    margin-top: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    gap: 32px;
  }
  .maintenance-content{
    flex: 1 1 40%;
  }
  .maintenance-features{
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .maintenance-features li {
    margin-bottom: 0;
  }
  .maintenance-action{
    flex: 0 0 auto;
  }
  @media(max-width: 900px){
    .maintenance-banner{
      flex-direction: column;
      align-items: flex-start;
      gap: 24px;
    }
    .maintenance-action{
      width: 100%;
    }
    .maintenance-action .btn{
      width: 100%;
      text-align: center;
      display: block;
    }
  }

  /* FAQ */
  .faq-container{ max-width: 800px; margin: 48px auto 0; text-align: left; }
  details{ background: #ffffff; border: 1px solid var(--line); border-radius: 12px; margin-bottom: 16px; overflow: hidden; }
  summary{ padding: 24px; font-weight: 500; font-size: 16px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; color: var(--ink); }
  summary::-webkit-details-marker{ display:none; }
  summary::after{ content: '+'; color: var(--accent); font-size: 24px; font-weight: 400; }
  details[open] summary::after{ content: '−'; }
  .faq-content{ padding: 0 24px 24px; font-size: 15px; line-height: 1.6; color: var(--muted); }

  /* CTA SECTION */
  .cta-section{ padding: 120px 6vw; text-align: center; background: #0e1c33; color: #ffffff; }
  .cta-section h2{ font-size: clamp(32px, 4vw, 56px); margin-bottom: 24px; font-family:'Playfair Display', serif; font-weight: 700; color: #ffffff; line-height: 1.1; }
  .cta-section h2 em{ font-style: italic; color: var(--blue-light); font-weight: 600; }
  .cta-section p{ margin: 0 auto 40px; color: rgba(255, 255, 255, 0.7); max-width: 600px; font-size: 18px; }
  .cta-buttons{ display: flex; justify-content: center; gap: 24px; align-items: center; }
  .cta-link-hover{ color: rgba(255, 255, 255, 0.8); text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, 0.3); padding-bottom: 2px; transition: all .2s; font-size: 15px; }
  .cta-link-hover:hover{ color: #ffffff; border-color: #ffffff; }
  .link-hover:hover{ border-color: var(--ink); }
