/* ================= HERO ================= */

.tool-hero {
      padding: 120px 20px 80px;
      background: linear-gradient(135deg,#eef2ff,#f5f3ff);
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    
    .tool-blob {
      position: absolute;
      width: 520px;
      top: -140px;
      left: -180px;
      opacity: .15;
      animation: floatSlow 20s ease-in-out infinite;
    }
    
    .tool-hero-content {
      max-width: 900px;
      margin: auto;
    }
    
    .tool-badge {
      display: inline-block;
      padding: 10px 18px;
      background: linear-gradient(to right,#6366f1,#8b5cf6);
      color: #fff;
      border-radius: 999px;
      font-weight: 600;
      margin-bottom: 20px;
    }
    
    .tool-hero h1 {
      font-size: 3rem;
      font-weight: 800;
      color: #111827;
    }
    
    .tool-hero p {
      font-size: 1.1rem;
      color: #4b5563;
    }
    
    /* ================= TOOL ================= */
    
    .tool-section {
      padding: 80px 20px;
      background: #f8fafc;
    }
    
    .tool-container {
      max-width: 1200px;
      margin: auto;
    }
    
    /* WORKSPACE */
    
    .tool-workspace {
      display: grid;
      grid-template-columns: 1fr;
      gap: 40px;
    }
    
    @media (min-width:1024px) {
      .tool-workspace {
        grid-template-columns: 1fr 1fr;
      }
    
      .tool-form-wrap {
        position: sticky;
        top: 100px;
      }
    }
    
    /* CARD */
    
    .tool-card {
      background: #fff;
      border-radius: 24px;
      padding: 40px;
      border: 1px solid #e5e7eb;
      box-shadow: 0 30px 60px rgba(0,0,0,.08);
    }
    
    .tool-title {
      font-size: 1.5rem;
      margin-bottom: 24px;
    }
    
    /* FORM */
    
    .form-group {
      margin-bottom: 16px;
    }
    
    label {
      font-weight: 600;
      display: block;
      margin-bottom: 6px;
    }
    
    label span { color:#ef4444 }
    
    input,select,textarea {
      width: 100%;
      padding: 14px 16px;
      border-radius: 14px;
      border: 1px solid #e5e7eb;
    }
    
    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }
    
    .tool-btn {
      width: 100%;
      padding: 16px;
      border-radius: 18px;
      background: linear-gradient(to right,#6366f1,#8b5cf6);
      color:#fff;
      font-weight:700;
      border:none;
      cursor:pointer;
    }
    
    .tool-micro-text {
      margin-top: 12px;
      font-size: .85rem;
      text-align: center;
      color: #6b7280;
    }
    
    /* PREVIEW */
    
    .preview-header {
      display:flex;
      justify-content:space-between;
      font-size:.85rem;
      color:#6b7280;
    }
    
    .receipt-preview {
      background:#fff;
      border-radius:16px;
      border:1px solid #e5e7eb;
      position:relative;
      overflow:hidden;
    }
    
    .preview-watermark {
      position:absolute;
      inset:0;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:4rem;
      font-weight:800;
      color:#e5e7eb;
      transform:rotate(-30deg);
    }
    
    .receipt-body {
      padding:32px;
      position:relative;
      z-index:1;
    }
    
    .receipt-head {
      text-align:center;
      border-bottom:1px solid #e5e7eb;
      padding-bottom:12px;
      margin-bottom:16px;
    }
    
    .receipt-meta {
      display:flex;
      justify-content:space-between;
      font-size:.85rem;
    }
    
    .receipt-row {
      margin-top:16px;
    }
    
    .receipt-amount {
      margin-top:16px;
      padding:16px;
      background:#f9fafb;
      border:1px dashed #d1d5db;
      border-radius:12px;
      display:flex;
      flex-direction:column;
      gap:4px;
    }
    
    .receipt-footer {
      margin-top:32px;
      display:flex;
      justify-content:space-between;
      font-size:.85rem;
    }
    
    .sign {
      border-top:1px solid #d1d5db;
      padding-top:4px;
    }
    
    /* CTA */
    
    .tool-download-cta {
      max-width: 600px;
      margin: 60px auto 0;
      text-align: center;
    }
    
    .tool-download-btn {
      width:100%;
      padding:14px;
      border-radius:14px;
      background:#111827;
      color:#fff;
      font-weight:700;
      border:none;
      opacity:.7;
    }
    
    /* MOTION */
    
    @keyframes floatSlow {
      0% { transform: translateY(0) }
      50% { transform: translateY(-20px) }
      100% { transform: translateY(0) }
    }
    
    @media (prefers-reduced-motion: reduce) {
      * { animation:none!important }
    }
    