/* =========================================================
   Zintego Design System
   Source of truth: approved homepage UI/UX
   Use this file for all future Zintego pages.
   ========================================================= */

/* ---------- Design tokens ---------- */
:root{
  --z-bg:#ffffff;
  --z-bg-soft:#f7fbff;
  --z-bg-blue:#eef5ff;
  --z-navy:#071632;
  --z-text:#2d4365;
  --z-muted:#536581;
  --z-border:#dbe8fb;
  --z-border-soft:#e3edf9;
  --z-blue:#0b63f6;
  --z-blue-2:#0755dd;
  --z-purple:#6b35f4;
  --z-green:#29d17f;
  --z-shadow-sm:0 10px 26px rgba(32,78,141,.05);
  --z-shadow-md:0 18px 48px rgba(32,78,141,.07);
  --z-shadow-lg:0 32px 90px rgba(50,88,210,.22);
  --z-radius-sm:12px;
  --z-radius-md:18px;
  --z-radius-lg:24px;
  --z-radius-xl:28px;
  --z-container:1500px;
  --z-font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ---------- Base helpers ---------- */
body{
  font-family:var(--z-font);
  color:var(--z-navy);
  background:var(--z-bg);
}

.container{
  max-width:var(--z-container);
  margin:0 auto;
  padding-left:32px;
  padding-right:32px;
}

.z-gradient-text{
  background:linear-gradient(90deg,var(--z-blue) 0%,#2467ff 45%,var(--z-purple) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.z-section{
  padding:54px 0;
  background:#fff;
}

.z-section-tight{
  padding:34px 0;
}

.z-section-title{
  text-align:center;
  margin-bottom:30px;
}

.z-section-title h2{
  font-size:32px;
  line-height:1.1;
  letter-spacing:-.045em;
  margin:0;
  color:var(--z-navy);
}

.z-section-title p{
  margin:10px auto 0;
  max-width:720px;
  color:var(--z-muted);
  line-height:1.6;
}

/* ---------- Buttons ---------- */
.btn,
.z-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:0 24px;
  border-radius:14px;
  text-decoration:none;
  font-weight:800;
  letter-spacing:-.01em;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
}

.btn-primary,
.z-btn-primary{
  background:linear-gradient(135deg,#0b67ff 0%,#0755dd 58%,#5b35f4 100%);
  color:#fff;
  box-shadow:0 12px 28px rgba(11,99,246,.22),inset 0 1px 0 rgba(255,255,255,.25);
}

.btn-primary:hover,
.z-btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(11,99,246,.28),inset 0 1px 0 rgba(255,255,255,.28);
}

.btn-primary span,
.z-btn-primary span{
  display:inline-block;
  transition:transform .2s ease;
}

.btn-primary:hover span,
.z-btn-primary:hover span{
  transform:translateX(3px);
}

.btn-secondary,
.z-btn-secondary{
  background:#fff;
  color:var(--z-blue);
  border:1px solid #bfd4f8;
  box-shadow:var(--z-shadow-sm);
}

.btn-white,
.z-btn-white{
  background:#fff;
  color:var(--z-blue);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* ---------- Icon system ---------- */
.zi-icon,
.z-icon{
  width:28px;
  height:28px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.z-icon-bubble,
.home-icon-bubble{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#f3f7ff,#fff);
  border:1px solid var(--z-border);
  color:var(--z-blue);
  box-shadow:var(--z-shadow-sm);
}

.z-icon-bubble-sm{
  width:40px;
  height:40px;
  border-radius:13px;
}

.z-icon-bubble-lg{
  width:76px;
  height:76px;
  border-radius:22px;
}

/* ---------- Cards ---------- */
.z-card,
.home-card{
  border:1px solid var(--z-border-soft);
  border-radius:20px;
  background:#fff;
  padding:28px;
  box-shadow:var(--z-shadow-md);
}

.z-card h3,
.home-card h3{
  font-size:18px;
  margin:0 0 8px;
  letter-spacing:-.025em;
  color:var(--z-navy);
}

.z-card p,
.home-card p{
  font-size:14px;
  line-height:1.65;
  color:var(--z-muted);
  margin:0;
}

/* ---------- Grids ---------- */
.z-grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.z-grid-4{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.z-grid-6{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:18px;
}

/* ---------- Hero system ---------- */
.z-hero{
  position:relative;
  overflow:hidden;
  padding:34px 0 42px;
  background:radial-gradient(circle at 75% 22%,#eef4ff 0,#fff 42%,#fff 100%);
  border-bottom:1px solid var(--z-border-soft);
}

.z-hero-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:32px;
  align-items:center;
}

.z-hero-badge,
.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:var(--z-bg-blue);
  border:1px solid var(--z-border);
  color:var(--z-blue);
  font-size:13px;
  font-weight:900;
  margin-bottom:18px;
}

.z-hero h1{
  font-size:clamp(40px,3.65vw,56px);
  line-height:1.08;
  letter-spacing:-.058em;
  margin:0 0 16px;
  color:var(--z-navy);
  font-weight:800;
}

.z-hero p{
  font-size:16px;
  line-height:1.65;
  color:var(--z-muted);
  margin:0 0 20px;
  max-width:560px;
}

.z-hero-chips,
.hero-chips{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:20px;
}

.z-hero-chip,
.hero-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:0 12px;
  border:1px solid var(--z-border);
  border-radius:13px;
  background:#fff;
  box-shadow:var(--z-shadow-sm);
  color:var(--z-navy);
  font-size:12px;
  font-weight:800;
}

.z-trust-row,
.trust-row{
  display:flex;
  gap:18px;
  align-items:center;
  color:var(--z-muted);
  font-size:14px;
}

.z-stars,
.stars{
  color:#ffb300;
  letter-spacing:2px;
  font-size:20px;
  line-height:1;
}

/* ---------- Template preview cards ---------- */
.z-template-preview-grid,
.template-grid-home{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
  max-width:980px;
  margin:0 auto;
}

.template-preview-card{
  border:1px solid var(--z-border);
  border-radius:22px;
  background:#fff;
  padding:18px;
  box-shadow:var(--z-shadow-md);
}

.invoice-preview-sheet{
  position:relative;
  min-height:320px;
  border:1px solid var(--z-border-soft);
  border-radius:18px;
  background:
    radial-gradient(circle at 8% 18%,rgba(11,99,246,.09),transparent 24%),
    radial-gradient(circle at 98% 4%,rgba(11,99,246,.08),transparent 22%),
    #fff;
  overflow:hidden;
  padding:18px;
}

/* ---------- Bottom CTA system ---------- */
.z-cta-banner,
.home-cta-banner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:42px;
  min-height:215px;
  border-radius:28px;
  padding:42px 52px;
  background:
    radial-gradient(circle at 95% 15%,rgba(255,255,255,.18),transparent 28%),
    linear-gradient(90deg,#075ee7 0%,#315df5 52%,#7538ff 100%);
  box-shadow:var(--z-shadow-lg);
  overflow:hidden;
  position:relative;
}

.home-cta-left,
.z-cta-left{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  align-items:center;
  gap:30px;
  min-width:0;
}

.home-cta-icon,
.z-cta-icon{
  width:92px;
  height:92px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.16);
  color:#fff;
  border:1px solid rgba(255,255,255,.24);
}

.home-cta-copy h2,
.z-cta-copy h2{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(32px,3.1vw,46px);
  line-height:1.08;
  letter-spacing:-.055em;
  font-weight:800;
}

.home-cta-copy p,
.z-cta-copy p{
  margin:0 0 18px;
  color:rgba(255,255,255,.92);
  font-size:18px;
  line-height:1.5;
}

.home-cta-checks,
.z-cta-checks{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
}

.home-cta-checks span,
.z-cta-checks span{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#fff;
  font-weight:800;
  font-size:14px;
  white-space:nowrap;
}

.home-cta-checks b,
.z-cta-checks b{
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--z-green);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:14px;
}

.home-cta-action,
.z-cta-action{
  display:flex;
  align-items:center;
  gap:24px;
  justify-content:flex-end;
}

/* ---------- Footer/header locks ---------- */
.site-header .dropdown-menu,
.site-header .nav-item-dropdown{
  display:none !important;
}

.site-footer .social,
.site-footer .footer-social,
.site-footer .social-links{
  display:none !important;
}

/* ---------- Responsive ---------- */
@media(max-width:1180px){
  .z-hero-grid{
    grid-template-columns:1fr;
  }
  .z-grid-6{
    grid-template-columns:repeat(3,1fr);
  }
  .z-template-preview-grid,
  .template-grid-home{
    grid-template-columns:1fr;
    max-width:420px;
  }
  .z-cta-banner,
  .home-cta-banner{
    grid-template-columns:1fr;
  }
  .home-cta-action,
  .z-cta-action{
    justify-content:flex-start;
  }
}

@media(max-width:900px){
  .z-grid-3,
  .z-grid-4{
    grid-template-columns:1fr;
  }
  .container{
    padding-left:22px;
    padding-right:22px;
  }
}

@media(max-width:760px){
  .home-cta-left,
  .z-cta-left{
    grid-template-columns:1fr;
  }
  .home-cta-action,
  .z-cta-action{
    flex-direction:column;
    align-items:flex-start;
  }
}



/* Invoice Generator Master Template */
.invoice-generator-master{background:#fff;color:var(--z-navy)}
.invoice-generator-master .invoice-generator-hero{
  position:relative;
  overflow:hidden;
  padding:34px 0 44px;
  background:radial-gradient(circle at 78% 28%,#eef4ff 0,#fff 43%,#fff 100%);
  border-bottom:1px solid var(--z-border-soft);
}
.invoice-generator-master .invoice-generator-hero-grid{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:36px;
  align-items:center;
  min-height:545px;
}
.invoice-generator-master .invoice-generator-hero h1{
  font-size:clamp(42px,4vw,62px);
  line-height:1.08;
  letter-spacing:-.062em;
  margin:0 0 18px;
  color:var(--z-navy);
}
.invoice-generator-master .invoice-generator-hero p{
  font-size:17px;
  line-height:1.68;
  color:var(--z-muted);
  max-width:590px;
  margin:0 0 24px;
}
.invoice-generator-master .invoice-generator-visual{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.invoice-generator-master .invoice-generator-visual img{
  width:min(850px,108%);
  max-width:none;
  filter:drop-shadow(0 28px 70px rgba(16,73,150,.16));
}
.invoice-generator-master .builder-preview{
  padding:58px 0;
}
.invoice-generator-master .builder-shell{
  border:1px solid var(--z-border);
  border-radius:28px;
  background:#fff;
  box-shadow:var(--z-shadow-md);
  padding:28px;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:28px;
}
.invoice-generator-master .builder-panel,
.invoice-generator-master .preview-panel{
  border:1px solid var(--z-border-soft);
  border-radius:22px;
  background:linear-gradient(180deg,#fbfdff,#fff);
  padding:24px;
}
.invoice-generator-master .builder-panel h3,
.invoice-generator-master .preview-panel h3{
  margin:0 0 18px;
  font-size:22px;
  letter-spacing:-.035em;
}
.invoice-generator-master .form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.invoice-generator-master .fake-field{
  border:1px solid var(--z-border);
  background:#fff;
  border-radius:12px;
  padding:13px 14px;
  color:var(--z-muted);
  font-size:13px;
  font-weight:700;
}
.invoice-generator-master .line-item-box{
  margin-top:16px;
  border:1px solid var(--z-border);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.invoice-generator-master .line-item-row{
  display:grid;
  grid-template-columns:1fr 70px 90px;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid #edf3fb;
  color:var(--z-text);
  font-size:13px;
}
.invoice-generator-master .line-item-row:first-child{
  background:#f3f7ff;
  color:var(--z-navy);
  font-weight:900;
}
.invoice-generator-master .line-item-row:last-child{border-bottom:0}
.invoice-generator-master .preview-invoice{
  background:#fff;
  border:1px solid var(--z-border);
  border-radius:18px;
  padding:24px;
  box-shadow:0 12px 32px rgba(32,78,141,.06);
}
.invoice-generator-master .preview-invoice-head{
  display:flex;
  justify-content:space-between;
  margin-bottom:24px;
}
.invoice-generator-master .preview-invoice-head h4{
  font-size:26px;
  color:var(--z-blue);
  margin:0;
}
.invoice-generator-master .preview-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:22px;
  padding:16px;
  border-radius:14px;
  background:var(--z-bg-blue);
  color:var(--z-blue);
  font-weight:900;
}
.invoice-generator-master .steps-grid,
.invoice-generator-master .benefit-grid{
  display:grid;
  gap:22px;
}
.invoice-generator-master .steps-grid{grid-template-columns:repeat(4,1fr)}
.invoice-generator-master .benefit-grid{grid-template-columns:repeat(3,1fr)}
.invoice-generator-master .step-card{
  text-align:center;
  position:relative;
}
.invoice-generator-master .step-number{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--z-blue);
  color:#fff;
  font-weight:900;
  margin:0 auto 14px;
}
.invoice-generator-master .use-case-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px;
}
.invoice-generator-master .use-case-card,
.invoice-generator-master .support-template-card{
  border:1px solid var(--z-border-soft);
  border-radius:18px;
  background:#fff;
  padding:20px;
  box-shadow:var(--z-shadow-sm);
  text-decoration:none;
  color:var(--z-navy);
}
.invoice-generator-master .use-case-card strong,
.invoice-generator-master .support-template-card strong{
  display:block;
  margin-top:12px;
}
.invoice-generator-master .support-template-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px;
}
.invoice-generator-master .invoice-generator-cta .home-cta-banner,
.invoice-generator-master .invoice-generator-cta .z-cta-banner{
  margin:0;
}
@media(max-width:1180px){
  .invoice-generator-master .invoice-generator-hero-grid,
  .invoice-generator-master .builder-shell{
    grid-template-columns:1fr;
  }
  .invoice-generator-master .invoice-generator-visual{
    justify-content:center;
  }
  .invoice-generator-master .invoice-generator-visual img{
    width:100%;
  }
  .invoice-generator-master .steps-grid,
  .invoice-generator-master .benefit-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .invoice-generator-master .use-case-grid,
  .invoice-generator-master .support-template-grid{
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:760px){
  .invoice-generator-master .steps-grid,
  .invoice-generator-master .benefit-grid,
  .invoice-generator-master .use-case-grid,
  .invoice-generator-master .support-template-grid,
  .invoice-generator-master .form-grid{
    grid-template-columns:1fr;
  }
}



/* Invoice generator homepage-match fixes */
.invoice-generator-home-match{
  font-family:var(--z-font) !important;
  background:#fff;
}
.invoice-generator-home-match .site-header,
.invoice-generator-home-match .site-footer{
  font-family:var(--z-font) !important;
}
.invoice-generator-home-match .invoice-generator-hero{
  padding:24px 0 30px !important;
  background:radial-gradient(circle at 76% 24%,#eef4ff 0,#fff 44%,#fff 100%) !important;
  border-bottom:1px solid var(--z-border-soft) !important;
}
.invoice-generator-home-match .invoice-generator-hero-grid{
  grid-template-columns:.9fr 1.1fr !important;
  gap:26px !important;
  min-height:500px !important;
  align-items:center !important;
}
.invoice-generator-home-match .invoice-generator-copy h1{
  font-size:clamp(40px,3.65vw,56px) !important;
  line-height:1.08 !important;
  letter-spacing:-.058em !important;
  margin:0 0 16px !important;
  color:var(--z-navy) !important;
  font-weight:800 !important;
  max-width:620px !important;
}
.invoice-generator-home-match .invoice-generator-copy p{
  font-size:16px !important;
  line-height:1.65 !important;
  color:var(--z-muted) !important;
  max-width:580px !important;
  margin:0 0 20px !important;
}
.invoice-generator-home-match .z-hero-badge{
  margin-bottom:18px !important;
}
.invoice-generator-home-match .z-hero-chips{
  gap:10px !important;
  margin-bottom:20px !important;
}
.invoice-generator-home-match .z-hero-chip{
  min-height:36px !important;
  padding:0 12px !important;
  font-size:12px !important;
}
.invoice-generator-home-match .hero-actions{
  display:flex !important;
  gap:16px !important;
  flex-wrap:wrap !important;
  margin-bottom:18px !important;
}
.invoice-generator-home-match .hero-actions .btn{
  height:50px !important;
  padding:0 23px !important;
}
.invoice-generator-home-match .invoice-generator-visual{
  min-height:440px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
}
.invoice-generator-home-match .invoice-generator-visual img{
  width:min(820px,108%) !important;
  height:auto !important;
  max-width:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 26px 54px rgba(16,73,150,.16)) !important;
}
.invoice-generator-home-match .builder-preview{
  padding:54px 0 !important;
}
.invoice-generator-home-match .builder-shell{
  border-radius:24px !important;
  box-shadow:var(--z-shadow-md) !important;
}
.invoice-generator-home-match .z-section{
  padding:54px 0 !important;
}
.invoice-generator-home-match .steps-grid,
.invoice-generator-home-match .benefit-grid{
  gap:22px !important;
}
.invoice-generator-home-match .z-card{
  border-radius:20px !important;
  box-shadow:var(--z-shadow-md) !important;
}
.invoice-generator-home-match .home-bottom-cta{
  padding:48px 0 70px !important;
}
.invoice-generator-home-match .home-cta-banner{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:42px !important;
  min-height:215px !important;
  border-radius:28px !important;
  padding:42px 52px !important;
}
@media(max-width:1180px){
  .invoice-generator-home-match .invoice-generator-hero-grid{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .invoice-generator-home-match .invoice-generator-visual{
    min-height:auto !important;
    justify-content:center !important;
  }
  .invoice-generator-home-match .invoice-generator-visual img{
    width:100% !important;
  }
}


/* Invoice generator true fix: hero stage + safe bottom CTA */
.invoice-generator-home-match .invoice-generator-hero{
  background:
    radial-gradient(circle at 82% 18%, rgba(11,99,246,.08), transparent 22%),
    linear-gradient(180deg,#fbfdff 0%, #f7faff 100%) !important;
}
.invoice-generator-home-match .invoice-generator-visual{
  align-items:center !important;
}
.invoice-generator-home-match .invoice-generator-visual-stage{
  width:100%;
  border-radius:30px;
  padding:18px 18px 8px;
  background:
    radial-gradient(circle at 85% 10%, rgba(86,132,255,.14), transparent 22%),
    radial-gradient(circle at 10% 88%, rgba(11,99,246,.08), transparent 20%),
    linear-gradient(135deg,#fdfefe 0%, #f4f8ff 56%, #eef4ff 100%);
  box-shadow:0 28px 70px rgba(24,72,145,.10);
  overflow:hidden;
}
.invoice-generator-home-match .invoice-generator-visual-stage img{
  width:100%;
  display:block;
  background:transparent !important;
  mix-blend-mode:normal;
  border-radius:18px;
}
.invoice-generator-home-match .invoice-generator-visual img{
  width:100% !important;
  max-width:100% !important;
  filter:none !important;
}

.invoice-generator-home-match .invoice-generator-cta-safe{
  padding:44px 0 78px !important;
}
.invoice-generator-home-match .invoice-generator-cta-banner{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:34px;
  align-items:center;
  border-radius:28px;
  padding:36px 42px;
  background:
    radial-gradient(circle at 92% 15%, rgba(255,255,255,.18), transparent 26%),
    linear-gradient(90deg, #0b63f6 0%, #345ef4 54%, #7a3cff 100%);
  box-shadow:0 20px 48px rgba(41,78,171,.18);
  overflow:hidden;
}
.invoice-generator-home-match .invoice-generator-cta-copy-block{
  min-width:0;
}
.invoice-generator-home-match .invoice-generator-cta-copy-block .z-hero-badge{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
  margin-bottom:16px !important;
}
.invoice-generator-home-match .invoice-generator-cta-copy-block .z-hero-badge .zi-icon{
  color:#fff !important;
}
.invoice-generator-home-match .invoice-generator-cta-copy-block h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(34px,3vw,46px);
  line-height:1.05;
  letter-spacing:-.055em;
  max-width:11ch;
}
.invoice-generator-home-match .invoice-generator-cta-copy-block p{
  margin:0 0 18px;
  color:rgba(255,255,255,.94);
  font-size:17px;
  line-height:1.65;
  max-width:640px;
}
.invoice-generator-home-match .invoice-generator-cta-copy-block .home-cta-checks{
  display:flex;
  flex-wrap:wrap;
  gap:14px 22px;
}
.invoice-generator-home-match .invoice-generator-cta-copy-block .home-cta-checks span{
  color:#fff;
  font-size:14px;
  font-weight:800;
}
.invoice-generator-home-match .invoice-generator-cta-side{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:22px;
  align-items:center;
}
.invoice-generator-home-match .invoice-generator-cta-card-wrap{
  width:170px;
  height:170px;
  border-radius:22px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.18);
  display:grid;
  place-items:center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}
.invoice-generator-home-match .invoice-generator-cta-card-wrap img{
  width:124px;
  height:auto;
  display:block;
}
.invoice-generator-home-match .invoice-generator-cta-actions{
  display:grid;
  gap:14px;
}
.invoice-generator-home-match .invoice-generator-cta-actions .btn{
  width:100%;
  justify-content:center;
  min-height:54px;
}
.invoice-generator-home-match .btn-ghost-light{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  padding:0 20px;
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  background:rgba(255,255,255,.08);
  font-weight:800;
}
.invoice-generator-home-match .btn-ghost-light:hover{
  background:rgba(255,255,255,.12);
}

/* universal future-page guardrails */
.page-hero-media-stage,
.invoice-generator-visual-stage{
  position:relative;
}
.page-hero-media-stage img,
.invoice-generator-visual-stage img{
  object-fit:contain;
}
.safe-banner-media img,
.invoice-generator-cta-card-wrap img{
  max-width:100%;
  height:auto;
}

@media (max-width: 1100px){
  .invoice-generator-home-match .invoice-generator-cta-banner{
    grid-template-columns:1fr;
    gap:24px;
  }
  .invoice-generator-home-match .invoice-generator-cta-side{
    grid-template-columns:150px 1fr;
  }
}
@media (max-width: 760px){
  .invoice-generator-home-match .invoice-generator-cta-banner{
    padding:28px 22px;
  }
  .invoice-generator-home-match .invoice-generator-cta-copy-block h2{
    max-width:none;
  }
  .invoice-generator-home-match .invoice-generator-cta-side{
    grid-template-columns:1fr;
    justify-items:start;
  }
  .invoice-generator-home-match .invoice-generator-cta-card-wrap{
    width:144px;
    height:144px;
  }
  .invoice-generator-home-match .invoice-generator-cta-actions{
    width:100%;
  }
}



/* Final priority fixes for invoice-generator page */
.invoice-generator-home-match .invoice-generator-visual-stage{
  width:100%;
  border-radius:30px;
  padding:20px;
  background:
    radial-gradient(circle at 80% 12%, rgba(11,99,246,.11), transparent 28%),
    radial-gradient(circle at 18% 92%, rgba(50,94,244,.07), transparent 26%),
    linear-gradient(135deg,#ffffff 0%,#f6faff 58%,#eef4ff 100%);
  box-shadow:0 28px 70px rgba(24,72,145,.10);
  overflow:hidden;
}
.invoice-generator-home-match .invoice-generator-visual-stage img{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:auto;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
}
.invoice-generator-home-match .invoice-generator-visual-stage img[src*="checker"],
.invoice-generator-home-match .invoice-generator-visual-stage img[src*="showcase"]{
  background:#f6faff !important;
}
.invoice-generator-home-match .invoice-template-strip-section{
  padding:44px 0 !important;
}
.invoice-generator-home-match .invoice-template-strip-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  max-width:1120px;
  margin:0 auto;
}
.invoice-generator-home-match .invoice-template-strip-card{
  display:grid;
  grid-template-columns:48px minmax(0, 1fr);
  gap:14px;
  align-items:center;
  min-height:104px;
  padding:18px 20px;
  border:1px solid var(--z-border-soft);
  border-radius:18px;
  background:#fff;
  color:var(--z-navy);
  text-decoration:none;
  box-shadow:var(--z-shadow-sm);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.invoice-generator-home-match .invoice-template-strip-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--z-shadow-md);
  border-color:#bdd3f8;
}
.invoice-generator-home-match .invoice-template-strip-card strong{
  display:block;
  font-size:17px;
  line-height:1.15;
  letter-spacing:-.025em;
  color:var(--z-navy);
}
.invoice-generator-home-match .invoice-template-strip-card small{
  display:block;
  margin-top:5px;
  color:var(--z-muted);
  font-size:13px;
  line-height:1.4;
}
.invoice-generator-home-match .invoice-template-strip-card .z-icon-bubble-sm{
  width:48px;
  height:48px;
  border-radius:15px;
}
.invoice-generator-home-match .invoice-template-strip-card .zi-icon{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Future-page prevention utilities */
.z-hero-media-stage{
  border-radius:30px;
  padding:20px;
  background:
    radial-gradient(circle at 80% 12%, rgba(11,99,246,.11), transparent 28%),
    radial-gradient(circle at 18% 92%, rgba(50,94,244,.07), transparent 26%),
    linear-gradient(135deg,#ffffff 0%,#f6faff 58%,#eef4ff 100%);
  box-shadow:0 28px 70px rgba(24,72,145,.10);
  overflow:hidden;
}
.z-hero-media-stage img{
  width:100%;
  max-width:100%;
  display:block;
  background:transparent;
  object-fit:contain;
}
.z-compact-card-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.z-compact-card-strip > a,
.z-compact-card{
  min-height:104px;
  padding:18px 20px;
  border:1px solid var(--z-border-soft);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--z-shadow-sm);
  text-decoration:none;
  color:var(--z-navy);
}
@media(max-width:980px){
  .invoice-generator-home-match .invoice-template-strip-grid,
  .z-compact-card-strip{
    grid-template-columns:1fr;
  }
}



/* New invoice-generator hero asset + asset-cleanup guardrails */
.invoice-generator-home-match .invoice-generator-visual-stage,
.invoice-generator-master .invoice-generator-visual-stage{
  width:100%;
  border-radius:30px;
  padding:20px;
  background:
    radial-gradient(circle at 80% 12%, rgba(11,99,246,.11), transparent 28%),
    radial-gradient(circle at 18% 92%, rgba(50,94,244,.07), transparent 26%),
    linear-gradient(135deg,#ffffff 0%,#f6faff 58%,#eef4ff 100%);
  box-shadow:0 28px 70px rgba(24,72,145,.10);
  overflow:hidden;
}
.invoice-generator-home-match .invoice-generator-visual-stage img,
.invoice-generator-master .invoice-generator-visual-stage img{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
  object-fit:contain !important;
}
.invoice-generator-home-match .invoice-template-strip-grid,
.invoice-generator-master .invoice-template-strip-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  max-width:1120px;
  margin:0 auto;
}
.invoice-generator-home-match .invoice-template-strip-card,
.invoice-generator-master .invoice-template-strip-card{
  display:grid;
  grid-template-columns:48px minmax(0, 1fr);
  gap:14px;
  align-items:center;
  min-height:104px;
  padding:18px 20px;
  border:1px solid var(--z-border-soft);
  border-radius:18px;
  background:#fff;
  color:var(--z-navy);
  text-decoration:none;
  box-shadow:var(--z-shadow-sm);
}
.invoice-generator-home-match .invoice-template-strip-card small,
.invoice-generator-master .invoice-template-strip-card small{
  display:block;
  margin-top:5px;
  color:var(--z-muted);
  font-size:13px;
  line-height:1.4;
}
@media(max-width:980px){
  .invoice-generator-home-match .invoice-template-strip-grid,
  .invoice-generator-master .invoice-template-strip-grid{
    grid-template-columns:1fr;
  }
}



/* Phase 1: Invoice Generator hero stabilization */
.invoice-generator-home-match .invoice-generator-hero{
  padding:34px 0 42px !important;
  background:
    radial-gradient(circle at 78% 18%, rgba(11,99,246,.09), transparent 28%),
    linear-gradient(180deg, #fbfdff 0%, #f6faff 100%) !important;
  overflow:hidden !important;
}
.invoice-generator-home-match .invoice-generator-hero-grid{
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr) !important;
  gap:56px !important;
  min-height:520px !important;
  align-items:center !important;
}
.invoice-generator-home-match .invoice-generator-copy h1{
  font-size:clamp(40px,3.55vw,56px) !important;
  line-height:1.08 !important;
  letter-spacing:-.058em !important;
  max-width:660px !important;
}
.invoice-generator-home-match .invoice-generator-copy p{
  max-width:610px !important;
}
.invoice-generator-home-match .invoice-generator-visual{
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:0 !important;
}
.invoice-generator-home-match .invoice-generator-visual-stage-safe{
  position:relative !important;
  width:100% !important;
  max-width:760px !important;
  aspect-ratio:1.38 / 1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  border-radius:0 !important;
}
.invoice-generator-home-match .invoice-generator-visual-stage-safe::before{
  content:"" !important;
  position:absolute !important;
  inset:10% 4% 4% 9% !important;
  background:radial-gradient(circle, rgba(11,99,246,.13), transparent 68%) !important;
  filter:blur(24px) !important;
  z-index:0 !important;
  pointer-events:none !important;
}
.invoice-generator-home-match .invoice-generator-visual-stage-safe img{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  max-height:500px !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 24px 48px rgba(16,73,150,.13)) !important;
}
@media(max-width:1280px){
  .invoice-generator-home-match .invoice-generator-hero-grid{
    gap:42px !important;
  }
  .invoice-generator-home-match .invoice-generator-visual-stage-safe{
    max-width:700px !important;
  }
  .invoice-generator-home-match .invoice-generator-visual-stage-safe img{
    max-height:465px !important;
  }
}
@media(max-width:1180px){
  .invoice-generator-home-match .invoice-generator-hero-grid{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .invoice-generator-home-match .invoice-generator-visual-stage-safe{
    max-width:820px !important;
    margin:0 auto !important;
  }
  .invoice-generator-home-match .invoice-generator-visual-stage-safe img{
    max-height:none !important;
  }
}
@media(max-width:760px){
  .invoice-generator-home-match .invoice-generator-hero{
    padding:28px 0 34px !important;
  }
  .invoice-generator-home-match .invoice-generator-copy h1{
    font-size:clamp(36px,10vw,44px) !important;
  }
}



/* Phase 2: invoice/business-specific icons */
.invoice-generator-home-match .zi-invoice-icon{
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.invoice-generator-home-match .z-icon-bubble{
  background:
    radial-gradient(circle at 35% 24%, rgba(11,99,246,.10), transparent 42%),
    linear-gradient(180deg,#f7fbff,#fff) !important;
  border:1px solid var(--z-border) !important;
  color:var(--z-blue) !important;
  box-shadow:0 12px 28px rgba(32,78,141,.07) !important;
}
.invoice-generator-home-match .z-hero-chip .zi-icon{
  width:22px;
  height:22px;
  stroke-width:1.95;
}
.invoice-generator-home-match .steps-grid .z-icon-bubble{
  width:64px;
  height:64px;
  border-radius:18px;
  margin:0 auto 18px;
}
.invoice-generator-home-match .benefit-grid .z-icon-bubble{
  width:64px;
  height:64px;
  border-radius:18px;
  margin-bottom:18px;
}
.invoice-generator-home-match .use-case-card{
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.invoice-generator-home-match .use-case-card .z-icon-bubble-sm{
  width:58px;
  height:58px;
  border-radius:16px;
}
.invoice-generator-home-match .use-case-card strong{
  margin-top:14px;
  font-size:18px;
  line-height:1.15;
  letter-spacing:-.025em;
}
.invoice-generator-home-match .use-case-card small{
  display:block;
  margin-top:8px;
  color:var(--z-muted);
  font-size:13px;
  line-height:1.45;
}
.invoice-generator-home-match .invoice-template-strip-card .z-icon-bubble-sm{
  width:58px;
  height:58px;
  border-radius:16px;
}
.invoice-generator-home-match .invoice-template-strip-card{
  grid-template-columns:58px minmax(0,1fr);
  min-height:116px;
  padding:20px 22px;
}
.invoice-generator-home-match .invoice-template-strip-card strong{
  font-size:18px;
  line-height:1.15;
  letter-spacing:-.025em;
}
.invoice-generator-home-match .invoice-template-strip-card small{
  font-size:14px;
  line-height:1.45;
}



/* Phase 3: polished invoice template shortcut section */
.invoice-generator-home-match .invoice-template-polished-section{
  padding:46px 0 58px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(11,99,246,.045), transparent 28%),
    #fff !important;
}
.invoice-generator-home-match .invoice-template-polished-shell{
  max-width:1240px;
  margin:0 auto;
}
.invoice-generator-home-match .invoice-template-polished-head{
  text-align:center;
  margin:0 auto 26px;
}
.invoice-generator-home-match .invoice-template-polished-head .z-hero-badge{
  margin:0 auto 14px !important;
}
.invoice-generator-home-match .invoice-template-polished-head h2{
  font-size:clamp(34px,3.2vw,48px);
  line-height:1.08;
  letter-spacing:-.055em;
  color:var(--z-navy);
  margin:0 0 10px;
}
.invoice-generator-home-match .invoice-template-polished-head p{
  max-width:720px;
  margin:0 auto;
  color:var(--z-muted);
  font-size:18px;
  line-height:1.6;
}
.invoice-generator-home-match .invoice-template-polished-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.invoice-generator-home-match .invoice-template-polished-card{
  display:grid;
  grid-template-columns:60px minmax(0,1fr) 28px;
  gap:16px;
  align-items:center;
  min-height:122px;
  padding:22px 22px;
  border:1px solid var(--z-border-soft);
  border-radius:22px;
  background:
    radial-gradient(circle at 12% 18%, rgba(11,99,246,.045), transparent 28%),
    #fff;
  color:var(--z-navy);
  text-decoration:none;
  box-shadow:0 14px 36px rgba(32,78,141,.055);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.invoice-generator-home-match .invoice-template-polished-card:hover{
  transform:translateY(-3px);
  border-color:#bcd3f7;
  box-shadow:0 24px 58px rgba(32,78,141,.10);
  background:
    radial-gradient(circle at 12% 18%, rgba(11,99,246,.075), transparent 30%),
    #fff;
}
.invoice-generator-home-match .invoice-template-polished-icon{
  width:60px;
  height:60px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 35% 24%, rgba(11,99,246,.13), transparent 42%),
    linear-gradient(180deg,#f7fbff,#fff);
  border:1px solid var(--z-border);
  color:var(--z-blue);
  box-shadow:0 10px 28px rgba(32,78,141,.07);
}
.invoice-generator-home-match .invoice-template-polished-icon .zi-icon,
.invoice-generator-home-match .invoice-template-polished-icon svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.invoice-generator-home-match .invoice-template-polished-copy strong{
  display:block;
  color:var(--z-navy);
  font-size:19px;
  line-height:1.15;
  letter-spacing:-.03em;
  margin:0 0 6px;
}
.invoice-generator-home-match .invoice-template-polished-copy small{
  display:block;
  color:var(--z-muted);
  font-size:14px;
  line-height:1.45;
}
.invoice-generator-home-match .invoice-template-polished-arrow{
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--z-blue);
  background:#f3f7ff;
  font-weight:900;
  transition:transform .2s ease, background .2s ease;
}
.invoice-generator-home-match .invoice-template-polished-card:hover .invoice-template-polished-arrow{
  transform:translateX(3px);
  background:#e8f1ff;
}
@media(max-width:1100px){
  .invoice-generator-home-match .invoice-template-polished-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .invoice-generator-home-match .invoice-template-polished-grid{
    grid-template-columns:1fr;
  }
  .invoice-generator-home-match .invoice-template-polished-card{
    grid-template-columns:54px minmax(0,1fr);
  }
  .invoice-generator-home-match .invoice-template-polished-arrow{
    display:none;
  }
  .invoice-generator-home-match .invoice-template-polished-icon{
    width:54px;
    height:54px;
  }
}



/* Phase 4: upgraded invoice-generator use-case section */
.invoice-generator-home-match .invoice-use-case-section{
  padding:50px 0 60px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(11,99,246,.045), transparent 30%),
    #fff !important;
}
.invoice-generator-home-match .invoice-use-case-head{
  text-align:center;
  margin:0 auto 28px;
}
.invoice-generator-home-match .invoice-use-case-head .z-hero-badge{
  margin:0 auto 14px !important;
}
.invoice-generator-home-match .invoice-use-case-head h2{
  margin:0 0 12px;
  color:var(--z-navy);
  font-size:clamp(34px,3.2vw,48px);
  line-height:1.08;
  letter-spacing:-.055em;
  font-weight:800;
}
.invoice-generator-home-match .invoice-use-case-head p{
  max-width:850px;
  margin:0 auto;
  color:var(--z-muted);
  font-size:18px;
  line-height:1.6;
}
.invoice-generator-home-match .invoice-use-case-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  max-width:1240px;
  margin:0 auto;
}
.invoice-generator-home-match .invoice-use-case-card{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 30px;
  gap:18px;
  align-items:center;
  min-height:156px;
  padding:24px;
  border:1px solid var(--z-border-soft);
  border-radius:22px;
  background:
    radial-gradient(circle at 12% 18%, rgba(11,99,246,.05), transparent 30%),
    #fff;
  color:var(--z-navy);
  text-decoration:none;
  box-shadow:0 14px 36px rgba(32,78,141,.055);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.invoice-generator-home-match .invoice-use-case-card:hover{
  transform:translateY(-3px);
  border-color:#bcd3f7;
  box-shadow:0 24px 58px rgba(32,78,141,.10);
  background:
    radial-gradient(circle at 12% 18%, rgba(11,99,246,.075), transparent 32%),
    #fff;
}
.invoice-generator-home-match .invoice-use-case-icon{
  width:64px;
  height:64px;
  border-radius:19px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 35% 24%, rgba(11,99,246,.13), transparent 42%),
    linear-gradient(180deg,#f7fbff,#fff);
  border:1px solid var(--z-border);
  color:var(--z-blue);
  box-shadow:0 10px 28px rgba(32,78,141,.07);
}
.invoice-generator-home-match .invoice-use-case-icon .zi-icon,
.invoice-generator-home-match .invoice-use-case-icon svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.invoice-generator-home-match .invoice-use-case-copy small{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  margin:0 0 9px;
  border-radius:999px;
  background:#f3f7ff;
  color:var(--z-blue);
  font-size:12px;
  font-weight:900;
}
.invoice-generator-home-match .invoice-use-case-copy strong{
  display:block;
  color:var(--z-navy);
  font-size:20px;
  line-height:1.12;
  letter-spacing:-.035em;
  margin:0 0 8px;
}
.invoice-generator-home-match .invoice-use-case-copy em{
  display:block;
  color:var(--z-muted);
  font-style:normal;
  font-size:14px;
  line-height:1.48;
}
.invoice-generator-home-match .invoice-use-case-arrow{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--z-blue);
  background:#f3f7ff;
  font-weight:900;
  transition:transform .2s ease, background .2s ease;
}
.invoice-generator-home-match .invoice-use-case-card:hover .invoice-use-case-arrow{
  transform:translateX(3px);
  background:#e8f1ff;
}
@media(max-width:1180px){
  .invoice-generator-home-match .invoice-use-case-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .invoice-generator-home-match .invoice-use-case-grid{
    grid-template-columns:1fr;
  }
  .invoice-generator-home-match .invoice-use-case-card{
    grid-template-columns:58px minmax(0,1fr);
    min-height:138px;
    padding:20px;
  }
  .invoice-generator-home-match .invoice-use-case-icon{
    width:58px;
    height:58px;
    border-radius:17px;
  }
  .invoice-generator-home-match .invoice-use-case-arrow{
    display:none;
  }
}



/* Phase 5: Future page generation guardrails */
.z-page-root{
  font-family:var(--z-font);
  background:#fff;
  color:var(--z-navy);
}
.z-page-root .site-header,
.z-page-root .site-footer{
  font-family:var(--z-font);
}
.z-safe-hero{
  position:relative;
  overflow:hidden;
  padding:34px 0 42px;
  background:
    radial-gradient(circle at 78% 18%, rgba(11,99,246,.09), transparent 28%),
    linear-gradient(180deg, #fbfdff 0%, #f6faff 100%);
  border-bottom:1px solid var(--z-border-soft);
}
.z-safe-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
  gap:56px;
  align-items:center;
  min-height:520px;
}
.z-safe-hero-copy h1{
  font-size:clamp(40px,3.55vw,56px);
  line-height:1.08;
  letter-spacing:-.058em;
  margin:0 0 16px;
  max-width:660px;
  color:var(--z-navy);
}
.z-safe-hero-copy p{
  max-width:610px;
  color:var(--z-muted);
  font-size:16px;
  line-height:1.65;
  margin:0 0 20px;
}
.z-safe-hero-media{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.z-safe-hero-media-stage{
  position:relative;
  width:100%;
  max-width:760px;
  aspect-ratio:1.38 / 1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
  border-radius:0;
}
.z-safe-hero-media-stage::before{
  content:"";
  position:absolute;
  inset:10% 4% 4% 9%;
  background:radial-gradient(circle, rgba(11,99,246,.13), transparent 68%);
  filter:blur(24px);
  z-index:0;
  pointer-events:none;
}
.z-safe-hero-media-stage img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  max-width:100%;
  max-height:500px;
  height:auto;
  object-fit:contain;
  object-position:center;
  background:transparent;
  border:0;
  box-shadow:none;
  filter:drop-shadow(0 24px 48px rgba(16,73,150,.13));
}
.z-safe-card-grid-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.z-safe-card-grid-4{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.z-safe-card{
  border:1px solid var(--z-border-soft);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--z-shadow-md);
  padding:28px;
  min-width:0;
}
.z-safe-compact-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  max-width:1120px;
  margin:0 auto;
}
.z-safe-compact-card{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-height:116px;
  padding:20px 22px;
  border:1px solid var(--z-border-soft);
  border-radius:18px;
  background:#fff;
  color:var(--z-navy);
  text-decoration:none;
  box-shadow:var(--z-shadow-sm);
}
.z-safe-cta{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:34px;
  align-items:center;
  border-radius:28px;
  padding:36px 42px;
  background:
    radial-gradient(circle at 92% 15%, rgba(255,255,255,.18), transparent 26%),
    linear-gradient(90deg, #0b63f6 0%, #345ef4 54%, #7a3cff 100%);
  box-shadow:0 20px 48px rgba(41,78,171,.18);
  overflow:hidden;
}
.z-safe-cta h2{
  color:#fff;
  font-size:clamp(34px,3vw,46px);
  line-height:1.05;
  letter-spacing:-.055em;
  margin:0 0 12px;
}
.z-safe-cta p{
  color:rgba(255,255,255,.94);
  font-size:17px;
  line-height:1.65;
  margin:0 0 18px;
}
.z-safe-media-card{
  width:170px;
  height:170px;
  border-radius:22px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.18);
  display:grid;
  place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.z-safe-media-card img{
  max-width:124px;
  height:auto;
  display:block;
}
@media(max-width:1180px){
  .z-safe-hero-grid{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .z-safe-hero-media-stage{
    max-width:820px;
    margin:0 auto;
  }
}
@media(max-width:980px){
  .z-safe-compact-strip,
  .z-safe-card-grid-3,
  .z-safe-card-grid-4{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .z-safe-hero{
    padding:28px 0 34px;
  }
  .z-safe-hero-copy h1{
    font-size:clamp(36px,10vw,44px);
  }
  .z-safe-cta{
    grid-template-columns:1fr;
    padding:28px 22px;
  }
}

/* Hard locks against known regressions */
.site-header .dropdown-menu,
.site-header .nav-item-dropdown,
.site-footer .social,
.site-footer .footer-social,
.site-footer .social-links{
  display:none !important;
}
img{
  max-width:100%;
}



/* Step 1 + Step 2 cleanup and invoice-specific icon system */
.zig-icon-defs{
  position:absolute !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
}
.invoice-generator-home-match .zi-invoice-icon{
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.invoice-generator-home-match .z-icon-bubble,
.invoice-generator-home-match .invoice-use-case-icon,
.invoice-generator-home-match .invoice-template-polished-icon,
.invoice-generator-home-match .invoice-template-strip-card .z-icon-bubble{
  background:
    radial-gradient(circle at 35% 24%, rgba(11,99,246,.13), transparent 42%),
    linear-gradient(180deg,#f7fbff,#fff) !important;
  border:1px solid var(--z-border) !important;
  color:var(--z-blue) !important;
  box-shadow:0 12px 28px rgba(32,78,141,.07) !important;
}
.invoice-generator-home-match .z-hero-chip .zi-invoice-icon{
  width:22px;
  height:22px;
  stroke-width:1.95;
}
.invoice-generator-home-match .steps-grid .z-icon-bubble{
  width:64px;
  height:64px;
  border-radius:18px;
  margin:0 auto 18px;
}
.invoice-generator-home-match .benefit-grid .z-icon-bubble{
  width:64px;
  height:64px;
  border-radius:18px;
  margin-bottom:18px;
}
.invoice-generator-home-match .invoice-use-case-card .zi-invoice-icon,
.invoice-generator-home-match .invoice-template-polished-card .zi-invoice-icon,
.invoice-generator-home-match .invoice-template-strip-card .zi-invoice-icon{
  width:30px;
  height:30px;
}



/* Simplified hero direction for all non-homepage pages */
.z-simple-hero{
  position:relative;
  overflow:hidden;
  padding:54px 0 58px;
  background:
    radial-gradient(circle at 78% 18%, rgba(11,99,246,.10), transparent 30%),
    radial-gradient(circle at 18% 92%, rgba(107,53,244,.045), transparent 28%),
    linear-gradient(180deg,#fbfdff 0%,#f6faff 100%);
  border-bottom:1px solid var(--z-border-soft);
}
.z-simple-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(219,232,251,.5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(219,232,251,.5) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at 50% 40%, black 0%, transparent 66%);
  opacity:.38;
  pointer-events:none;
}
.z-simple-hero-inner{
  position:relative;
  z-index:1;
  max-width:980px;
  margin:0 auto;
  text-align:center;
}
.z-simple-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 14px;
  margin:0 0 18px;
  border-radius:999px;
  background:#eef5ff;
  border:1px solid var(--z-border);
  color:var(--z-blue);
  font-size:13px;
  font-weight:900;
}
.z-simple-hero h1{
  margin:0 auto 16px;
  max-width:900px;
  font-size:clamp(42px,4.25vw,68px);
  line-height:1.05;
  letter-spacing:-.065em;
  color:var(--z-navy);
  font-weight:800;
}
.z-simple-hero h1 span{
  background:linear-gradient(90deg,#0b67ff 0%,#2467ff 45%,#6b35f4 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.z-simple-hero p{
  max-width:760px;
  margin:0 auto 24px;
  color:var(--z-muted);
  font-size:18px;
  line-height:1.62;
}
.z-simple-hero-actions{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}
.z-simple-hero-actions .btn{
  min-width:190px;
  height:54px;
}
@media(max-width:760px){
  .z-simple-hero{
    padding:42px 0 46px;
  }
  .z-simple-hero h1{
    font-size:clamp(36px,11vw,48px);
  }
  .z-simple-hero p{
    font-size:16px;
  }
}



/* Global header/footer/font parity with approved homepage */
html, body{
  font-family:var(--z-font, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}
.site-header,
.site-footer,
.site-header *,
.site-footer *{
  font-family:var(--z-font, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}
.site-header .dropdown-menu,
.site-header .nav-item-dropdown{
  display:none !important;
}
.site-footer .social,
.site-footer .footer-social,
.site-footer .social-links{
  display:none !important;
}



/* Locked final simplified hero direction */
.z-simple-hero{
  position:relative !important;
  overflow:hidden !important;
  padding:44px 0 48px !important;
  min-height:360px !important;
  display:flex !important;
  align-items:center !important;
  background:
    radial-gradient(circle at 76% 14%, rgba(11,99,246,.10), transparent 29%),
    radial-gradient(circle at 24% 86%, rgba(107,53,244,.045), transparent 30%),
    linear-gradient(180deg,#fbfdff 0%,#f6faff 100%) !important;
  border-bottom:1px solid var(--z-border-soft) !important;
}
.z-simple-hero:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background-image:
    linear-gradient(rgba(219,232,251,.48) 1px, transparent 1px),
    linear-gradient(90deg, rgba(219,232,251,.48) 1px, transparent 1px) !important;
  background-size:44px 44px !important;
  mask-image:radial-gradient(circle at 50% 40%, black 0%, transparent 68%) !important;
  opacity:.32 !important;
  pointer-events:none !important;
}
.z-simple-hero-inner{
  position:relative !important;
  z-index:1 !important;
  max-width:1080px !important;
  margin:0 auto !important;
  text-align:center !important;
}
.z-simple-hero .z-simple-eyebrow{
  display:none !important;
}
.z-simple-hero h1{
  margin:0 auto 18px !important;
  max-width:1180px !important;
  color:var(--z-navy) !important;
  font-size:clamp(52px,5.15vw,88px) !important;
  line-height:1.02 !important;
  letter-spacing:-.075em !important;
  font-weight:800 !important;
}
.z-simple-hero h1 span{
  background:linear-gradient(90deg,#0b67ff 0%,#2467ff 45%,#6b35f4 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
}
.z-simple-hero p{
  max-width:820px !important;
  margin:0 auto 28px !important;
  color:var(--z-muted) !important;
  font-size:22px !important;
  line-height:1.5 !important;
}
.z-simple-hero-actions{
  display:flex !important;
  justify-content:center !important;
  gap:18px !important;
  flex-wrap:wrap !important;
}
.z-simple-hero-actions .btn{
  min-width:250px !important;
  height:68px !important;
  border-radius:16px !important;
  font-size:18px !important;
  font-weight:900 !important;
}
.z-simple-hero-actions .btn-secondary{
  border:1px solid #bfd4f8 !important;
  color:var(--z-blue) !important;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(32,78,141,.05) !important;
}
@media(max-width:900px){
  .z-simple-hero{
    min-height:320px !important;
    padding:38px 0 42px !important;
  }
  .z-simple-hero h1{
    font-size:clamp(40px,10vw,58px) !important;
  }
  .z-simple-hero p{
    font-size:17px !important;
  }
  .z-simple-hero-actions .btn{
    min-width:210px !important;
    height:58px !important;
    font-size:16px !important;
  }
}
@media(max-width:560px){
  .z-simple-hero-actions{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .z-simple-hero-actions .btn{
    width:100% !important;
  }
}



/* Final hero heading size adjustment: match homepage text scale */
.z-simple-hero h1{
  font-size:clamp(54px,5.65vw,92px) !important;
  line-height:1.04 !important;
  letter-spacing:-.078em !important;
  font-weight:800 !important;
}
@media(max-width:900px){
  .z-simple-hero h1{
    font-size:clamp(42px,10.5vw,62px) !important;
    line-height:1.06 !important;
  }
}
@media(max-width:560px){
  .z-simple-hero h1{
    font-size:clamp(38px,11vw,50px) !important;
  }
}



/* Final hero heading size adjustment: one step smaller than homepage scale */
.z-simple-hero h1{
  font-size:clamp(50px,5.15vw,84px) !important;
  line-height:1.04 !important;
  letter-spacing:-.074em !important;
  font-weight:800 !important;
}
@media(max-width:900px){
  .z-simple-hero h1{
    font-size:clamp(40px,10vw,58px) !important;
    line-height:1.06 !important;
  }
}
@media(max-width:560px){
  .z-simple-hero h1{
    font-size:clamp(36px,10.5vw,48px) !important;
  }
}


/* SITEWIDE_ICON_TRANSPARENCY_CLEANUP_V1 */
.zg-feature-card__icon,
.zg-feature-card__icon img,
.zg-step-card__icon,
.zg-step-card__icon img,
.zg-industry-card__icon,
.zg-industry-card__icon img,
.zg-shortcut-card__icon,
.zg-shortcut-card__icon img,
.zg-shortcut-card__art,
.zg-shortcut-card__art img,
.zg-format-card__icon,
.zg-format-card__icon img,
.zg-related-icon-picture,
.zg-related-icon-picture img,
.zg-related-card__icon,
.zg-related-card__icon img,
.zg-receipt-template-popular__icon,
.zg-receipt-template-popular__icon img,
.zg-template-page-related__icon,
.zg-template-page-related__icon img {
  background: transparent !important;
}


/* V110: reusable SEO content block */
.z-seo-content-v110{
  position:relative;
  padding:64px 0 70px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.z-seo-content-v110 .z-seo-content-card{
  border:1px solid #dce8f7;
  border-radius:30px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 24px 70px rgba(29,72,138,.08);
  padding:42px 46px;
  max-width:1040px;
  margin:0 auto;
}
.z-seo-content-v110 .z-seo-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 13px;
  border:1px solid #dbe8ff;
  border-radius:999px;
  background:#f7fbff;
  color:#0b63f6;
  font-size:12px;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.z-seo-content-v110 h2{
  margin:0 0 18px;
  color:#061b45;
  font-size:clamp(30px,3vw,44px);
  line-height:1.08;
  letter-spacing:-.055em;
  font-weight:850;
}
.z-seo-content-v110 p{
  color:#344762;
  font-size:16px;
  line-height:1.84;
  margin:0 0 18px;
}
.z-seo-content-v110 p:last-child{margin-bottom:0;}
.z-seo-content-v110 a{
  color:#0b63f6;
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid rgba(11,99,246,.22);
}
.z-seo-content-v110 a:hover{border-bottom-color:rgba(11,99,246,.65);}
.z-seo-content-v110 .z-seo-more[hidden]{display:none;}
.z-seo-content-v110 .z-seo-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin-top:8px;
  padding:0 20px;
  border:1px solid #cfe0f8;
  border-radius:999px;
  background:#fff;
  color:#0b63f6;
  font-size:15px;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 12px 34px rgba(29,72,138,.08);
}
.z-seo-content-v110 .z-seo-toggle:focus-visible{
  outline:3px solid rgba(11,99,246,.22);
  outline-offset:3px;
}
@media(max-width:760px){
  .z-seo-content-v110{padding:46px 0 52px;}
  .z-seo-content-v110 .z-seo-content-card{padding:28px 24px;border-radius:24px;}
  .z-seo-content-v110 p{font-size:15px;line-height:1.75;}
}


/* V211A: repair SEO card wrapper compatibility and format-template spacing */
.z-seo-content-v110 .z-seo-shell{max-width:1120px;margin:0 auto;padding:0 24px;}
.z-seo-content-v110 .z-seo-card{
  border:1px solid #dce8f7;
  border-radius:30px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 24px 70px rgba(29,72,138,.08);
  padding:42px 46px;
  max-width:1040px;
  margin:0 auto;
}
.z-v211a-format-structure{padding-top:76px;}
.z-v211a-format-steps{padding-top:0;}
.z-v211a-format-related{padding-top:72px;}
@media(max-width:760px){
  .z-seo-content-v110 .z-seo-shell{padding:0 18px;}
  .z-seo-content-v110 .z-seo-card{padding:28px 24px;border-radius:24px;}
  .z-v211a-format-structure{padding-top:52px;}
  .z-v211a-format-related{padding-top:52px;}
}

/* V211D: sitewide interaction and mouseover polish */
:root {
  --z-hover-lift: translateY(-3px);
  --z-hover-shadow: 0 24px 60px rgba(15, 44, 91, .14);
  --z-hover-border: rgba(37, 99, 235, .34);
  --z-focus-ring: 0 0 0 4px rgba(37, 99, 235, .18);
}

/* Buttons and CTA links */
a.btn,
.btn,
.cta-button,
.z-cta a,
.z-simple-hero-actions a,
.invoice-page--cta a,
.zg-home-cta a,
.zg-cta a,
.z-seo-toggle {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, color .2s ease, opacity .2s ease;
}

a.btn:hover,
.btn:hover,
.cta-button:hover,
.z-simple-hero-actions a:hover,
.invoice-page--cta a:hover,
.zg-home-cta a:hover,
.zg-cta a:hover {
  transform: var(--z-hover-lift);
  box-shadow: var(--z-hover-shadow);
}

a.btn span,
.btn span,
.cta-button span,
.z-simple-hero-actions a span,
.invoice-page--cta a span,
.zg-home-cta a span,
.zg-cta a span,
.related-template-card__action,
.z-category-card__action,
.z-tool-card__action,
.z-blog-card__action {
  display: inline-block;
  transition: transform .2s ease;
}

a.btn:hover span,
.btn:hover span,
.cta-button:hover span,
.z-simple-hero-actions a:hover span,
.invoice-page--cta a:hover span,
.zg-home-cta a:hover span,
.zg-cta a:hover span,
.related-template-card:hover .related-template-card__action,
.z-category-card:hover .z-category-card__action,
.z-tool-card:hover .z-tool-card__action,
.z-blog-card:hover .z-blog-card__action {
  transform: translateX(4px);
}

/* Clickable cards */
.z-category-card,
.related-template-card,
.template-card,
.z-template-card,
.z-tool-card,
.tool-card,
.z-blog-card,
.blog-card,
.pricing-card,
.invoice-page__card,
.z-shortcut-card,
.zg-template-card,
a[class*="card"] {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, opacity .2s ease;
}

.z-category-card:hover,
.related-template-card:hover,
.template-card:hover,
.z-template-card:hover,
.z-tool-card:hover,
.tool-card:hover,
.z-blog-card:hover,
.blog-card:hover,
.pricing-card:hover,
a.invoice-page__card:hover,
a.z-shortcut-card:hover,
a.zg-template-card:hover,
a[class*="card"]:hover {
  transform: var(--z-hover-lift);
  box-shadow: var(--z-hover-shadow);
  border-color: var(--z-hover-border);
}

/* Header, dropdown, text, and footer links */
.site-header a,
.nav a,
.nav-link,
.dropdown-menu a,
.nav-dropdown__menu a,
.site-footer a,
.footer a,
.z-seo-content-v110 a {
  transition: color .18s ease, background-color .18s ease, opacity .18s ease, box-shadow .18s ease, transform .18s ease;
}

.site-header a:hover,
.nav a:hover,
.nav-link:hover,
.site-footer a:hover,
.footer a:hover,
.z-seo-content-v110 a:hover {
  color: #0f62fe;
}

.dropdown-menu a:hover,
.nav-dropdown__menu a:hover {
  background: rgba(37, 99, 235, .08);
  color: #0f62fe;
}

/* Accessible keyboard focus */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
.z-seo-toggle:focus-visible {
  outline: none;
  box-shadow: var(--z-focus-ring) !important;
  border-color: var(--z-hover-border) !important;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
  a.btn:hover,
  .btn:hover,
  .cta-button:hover,
  .z-simple-hero-actions a:hover,
  .invoice-page--cta a:hover,
  .zg-home-cta a:hover,
  .zg-cta a:hover,
  .z-category-card:hover,
  .related-template-card:hover,
  .template-card:hover,
  .z-template-card:hover,
  .z-tool-card:hover,
  .tool-card:hover,
  .z-blog-card:hover,
  .blog-card:hover,
  .pricing-card:hover,
  a.invoice-page__card:hover,
  a.z-shortcut-card:hover,
  a.zg-template-card:hover,
  a[class*="card"]:hover {
    transform: none !important;
  }
}


/* V212E accessibility and performance polish */
.z-skip-link {
  position: fixed;
  left: 16px;
  top: 16px;
  z-index: 9999;
  transform: translateY(-140%);
  padding: 12px 16px;
  border-radius: 12px;
  background: #071632;
  color: #fff;
  font-weight: 800;
  box-shadow: 0 18px 42px rgba(7, 22, 50, .22);
  transition: transform .18s ease;
}
.z-skip-link:focus,
.z-skip-link:focus-visible {
  transform: translateY(0);
  outline: 4px solid rgba(37, 99, 235, .28);
  outline-offset: 3px;
}
#main-content:focus { outline: none; }
@media (max-width: 767px) {
  a, button, .btn, [role="button"], input, select, textarea {
    min-height: 44px;
  }
}
