/* Sage-style overrides for the public marketing site */
:root{
  --sage-primary:#00744A;
  --sage-primary-dark:#00523A;
  --sage-primary-light:#E8F5EE;
  --sage-text:#0F1B2D;
  --sage-muted:#5B6B7E;
  --sage-bg:#FFFFFF;
  --sage-soft:#F4F6F8;
  --sage-line:#E6E8EB;
}

body{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  color:var(--sage-text);
  background:var(--sage-bg);
  letter-spacing:-0.01em;
}

h1,h2,h3,h4,h5,h6{
  color:var(--sage-text) !important;
  font-family:"Inter",sans-serif !important;
  font-weight:700 !important;
  letter-spacing:-0.02em;
}

.paragraph,p{ color:var(--sage-muted) !important; font-weight:400 !important; }

/* Buttons */
.btn{
  border-radius:8px !important;
  padding:10px 22px !important;
  font-weight:500 !important;
  font-size:15px !important;
  transition:all .15s ease;
}
.btn-primary,.btn-secondary,
[style*="background-color: rgb(70, 105, 250)"],
[style*="background-color:#296fda"]{
  background-color:var(--sage-primary) !important;
  border-color:var(--sage-primary) !important;
  color:#fff !important;
  box-shadow:0 1px 2px rgba(0,116,74,.15) !important;
}
.btn-primary:hover,.btn-secondary:hover{ background-color:var(--sage-primary-dark) !important; border-color:var(--sage-primary-dark) !important; }
.btn-outline-primary{
  border:1px solid var(--sage-primary) !important;
  color:var(--sage-primary) !important;
  background:transparent !important;
}
.btn-outline-primary:hover{ background:var(--sage-primary) !important; color:#fff !important; }

/* Header / nav */
header{ border-bottom:1px solid var(--sage-line); padding:20px 0 !important; background:#fff; }
header .nav .nav-item .nav-link{
  font-family:"Inter",sans-serif !important;
  color:var(--sage-text) !important;
  font-weight:500 !important;
  font-size:15px !important;
}
header .nav .nav-item .nav-link:hover,
header .nav .nav-item .nav-link.active{ color:var(--sage-primary) !important; }

/* Cards / sections */
.invoice-card,.pricing-plan,.questions,.accordion{
  border:1px solid var(--sage-line) !important;
  border-radius:14px !important;
  box-shadow:0 1px 2px rgba(15,27,45,.04) !important;
}
.section .invoice-card-section{ background:var(--sage-soft) !important; border-radius:20px; }
.section .invoice-card-section .invoice-cards .invoice-card .icon,
.app-features-right .feature-content .icon{
  background-color:var(--sage-primary) !important;
  box-shadow:0 6px 16px rgba(0,116,74,.25) !important;
}
.app-rate{ background-color:#0F1B2D !important; }
.app-rate .owl-theme .owl-nav [class*=owl-]{ color:var(--sage-primary) !important; }

/* Pricing plan accent */
.pricing-plan .plan-top{ background:var(--sage-primary-light); border-radius:14px 14px 0 0; }
.pricing-plan .plan-top .price,
.pricing-plan .plan-top h3{ color:var(--sage-primary) !important; }

/* Forms */
.form-control{
  border:1px solid var(--sage-line) !important;
  border-radius:10px !important;
  height:52px !important;
  font-size:15px !important;
  font-weight:400 !important;
  padding:12px 16px !important;
}
.form-control:focus{ border-color:var(--sage-primary) !important; box-shadow:0 0 0 3px var(--sage-primary-light) !important; }

/* Footer */
.footer-section{ background:#0F1B2D !important; color:#C7D0DA; }
.footer-section *{ color:#C7D0DA !important; }
.footer-section .social-icon .social-box{
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
  box-shadow:none !important;
  border:1px solid rgba(255,255,255,.1);
}
.footer-section .social-icon .social-box:hover{ background:var(--sage-primary) !important; }

/* Discover section */
.discover-section{ background:var(--sage-soft) !important; }
.discover-section .accordion .accordion-item .accordion-header .accordion-button{
  font-weight:600 !important;
  color:var(--sage-text) !important;
}

/* Banner */
.banner-section h1{ font-size:60px !important; line-height:1.1 !important; font-weight:800 !important; }
@media(max-width:767px){ .banner-section h1{ font-size:40px !important; } }

/* ============ Sage-modern hero ============ */
.sage-hero{
  position:relative;
  padding:80px 0 110px;
  background:#F4F6F8;
  overflow:hidden;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
.sage-hero-blob{
  position:absolute; right:-180px; top:-180px;
  width:560px; height:560px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(0,116,74,.18), rgba(0,116,74,0) 70%);
  pointer-events:none; z-index:0;
}
.sage-hero .container{position:relative; z-index:1;}

.sage-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(0,116,74,.08); color:#00744A;
  padding:6px 14px; border-radius:999px;
  font-size:13px; font-weight:600; letter-spacing:.02em;
  margin-bottom:22px;
}
.sage-eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#00744A;display:inline-block;}

.sage-hero-title{
  font-family:'Inter',sans-serif !important;
  font-size:clamp(36px, 5vw, 60px) !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  color:#0B1F2A !important;
  letter-spacing:-0.02em !important;
  margin:0 0 20px !important;
}
.sage-hero-sub{
  font-size:18px; line-height:1.6; color:#4F5B62;
  max-width:520px; margin:0 0 32px;
}
.sage-hero-cta{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:28px;}
.sage-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:14px 26px; border-radius:10px; font-weight:600;
  font-size:15px; text-decoration:none; transition:all .15s ease;
  border:1px solid transparent;
}
.sage-btn-primary{background:#00744A; color:#fff !important;}
.sage-btn-primary:hover{background:#005c3a; color:#fff !important; transform:translateY(-1px); box-shadow:0 6px 18px rgba(0,116,74,.25);}
.sage-btn-ghost{background:#fff; color:#0B1F2A !important; border-color:#E1E5E8;}
.sage-btn-ghost:hover{border-color:#00744A; color:#00744A !important;}

.sage-hero-meta{display:flex; align-items:center; gap:10px; color:#6B7378; font-size:14px;}
.sage-hero-stars{color:#F2B400; letter-spacing:2px; font-size:15px;}

/* Visual mock cards */
.sage-hero-visual{
  position:relative; min-height:440px;
}
.sage-mock{
  position:absolute; background:#fff;
  border:1px solid #ECEFF1; border-radius:16px;
  box-shadow:0 24px 48px -16px rgba(11,31,42,.18), 0 2px 4px rgba(11,31,42,.04);
  font-family:'Inter',sans-serif;
  color:#0B1F2A;
}
.sage-mock-front{
  top:20px; left:20px; right:40px;
  padding:24px 26px;
}
.sage-mock-head{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:20px; padding-bottom:18px; border-bottom:1px solid #F0F2F4;}
.sage-mock-label{font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#9AA4A9; font-weight:600;}
.sage-mock-num{font-size:18px; font-weight:700; color:#0B1F2A; margin-top:4px;}
.sage-mock-status{
  background:rgba(0,116,74,.1); color:#00744A;
  padding:5px 12px; border-radius:999px;
  font-size:11px; font-weight:700; letter-spacing:.06em;
}
.sage-mock-rows{display:flex; flex-direction:column; gap:12px;}
.sage-mock-row{display:flex; justify-content:space-between; align-items:center; font-size:14px; color:#4F5B62;}
.sage-mock-row b{color:#0B1F2A; font-weight:600;}
.sage-mock-total{
  display:flex; justify-content:space-between; align-items:center;
  margin-top:18px; padding-top:18px; border-top:1px solid #F0F2F4;
  font-size:15px; color:#4F5B62;
}
.sage-mock-total b{font-size:22px; color:#00744A; font-weight:800;}

.sage-mock-stat{
  bottom:30px; left:-10px;
  padding:18px 22px; min-width:200px;
}
.sage-mock-stat-label{font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#9AA4A9; font-weight:600; margin-bottom:6px;}
.sage-mock-stat-value{font-size:26px; font-weight:800; color:#0B1F2A; line-height:1;}
.sage-mock-stat-change{font-size:12px; color:#00744A; font-weight:600; margin-top:6px;}

.sage-mock-client{
  top:-30px; right:-20px;
  padding:14px 18px; display:flex; align-items:center; gap:12px;
}
.sage-mock-avatar{
  width:40px; height:40px; border-radius:50%;
  background:#00744A; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:14px;
}
.sage-mock-client-name{font-size:14px; font-weight:700; color:#0B1F2A;}
.sage-mock-client-sub{font-size:12px; color:#6B7378;}

@media (max-width: 991px){
  .sage-hero{padding:48px 0 64px;}
  .sage-hero-visual{min-height:380px; margin-top:32px;}
  .sage-mock-front{right:20px;}
  .sage-mock-stat{left:0;}
  .sage-mock-client{right:0;}
}

/* Polish header on landing */
.header{background:#fff; border-bottom:1px solid #ECEFF1; padding:14px 0;}
.header .header-logo img{max-height:44px; width:auto !important;}
.header .nav-link{color:#0B1F2A !important; font-weight:500 !important; padding:8px 16px !important;}
.header .nav-link:hover{color:#00744A !important;}

/* Sage brand text logo */
.sage-brand{display:inline-flex; align-items:center; gap:10px; text-decoration:none;}
.sage-brand-mark{
  width:36px; height:36px; border-radius:9px; background:#00744A; color:#fff;
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:800; font-size:14px; letter-spacing:.02em;
  font-family:'Inter',sans-serif;
}
.sage-brand-text{font-family:'Inter',sans-serif; font-weight:500; font-size:18px; color:#0B1F2A;}
.sage-brand-text b{font-weight:800;}
.sage-brand-light .sage-brand-text{color:#fff;}

/* Z-order for hero mock cards */
.sage-mock-front{z-index:1;}
.sage-mock-stat{z-index:3;}
.sage-mock-client{z-index:3;}
