:root{
  /* LibreOffice inspired palette */
  --lo-green: #18A303;   /* LibreOffice main green */ /* cite in chat context */
  --lo-green-2:#43C330;
  --ink:#0b1220;
  --muted:#6c757d;
  --soft:#f6f8fb;
  --card:#ffffff;
  --accent:#18A303;
  --radius: 18px;
}

*{scroll-behavior:smooth;}
body{
  color: var(--ink);
  background:#fff;
}

.py-6{ padding: 4.5rem 0; }
.bg-soft{ background: var(--soft); }

.topbar{
  background:#0e172a;
  color: rgba(255,255,255,.8);
}
.topbar-link{
  color: rgba(255,255,255,.85);
  text-decoration:none;
}
.topbar-link:hover{ color:#fff; text-decoration:underline; }

.navbar-glass{
  backdrop-filter: blur(12px);
  background: rgba(255,255,255,.85);
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.brand-text{
  font-weight:700;
  letter-spacing:.2px;
}
.text-accent{ color: var(--accent)!important; }

.btn-cta{
  background: var(--lo-green);
  border: 1px solid var(--lo-green);
  color:#fff;
  border-radius: 999px;
  font-weight: 700;
}
.btn-cta:hover{
  background: #149102;
  border-color:#149102;
  color:#fff;
}
.btn-outline-dark{
  border-radius: 999px;
  font-weight: 700;
}

/* HERO */
.hero{
  position: relative;
  min-height: 92vh;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform: scale(1.03);
}
.hero-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(11,18,32,.92), rgba(11,18,32,.65));
}
.hero-content{
  position: relative;
  z-index: 2;
  padding: 3.5rem 0;
}
.text-white-75{ color: rgba(255,255,255,.78); }

.badge-soft{
  background: rgba(24,163,3,.15);
  color:#d7ffd7;
  border: 1px solid rgba(24,163,3,.35);
  padding: .55rem .85rem;
  border-radius: 999px;
  font-weight: 600;
}

.card-elevated{
  border: 0;
  border-radius: var(--radius);
  box-shadow: 0 18px 60px rgba(0,0,0,.12);
}
.list-checked{
  list-style:none;
  padding-left:0;
}
.list-checked li{
  padding-left: 1.6rem;
  margin-bottom:.55rem;
  position:relative;
}
.list-checked li:before{
  content:"\F26A"; /* bootstrap icon check2-circle */
  font-family: "bootstrap-icons";
  position:absolute;
  left:0;
  top:.05rem;
  color: var(--lo-green);
}

.trust-strip{
  background: #0e172a;
}
.trust-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:.75rem 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.85);
  border: 1px solid rgba(255,255,255,.08);
}

/* Feature cards */
.feature-card{
  background: var(--card);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: var(--radius);
  padding: 1.25rem 1.25rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
}
.icon-circle{
  width: 46px; height: 46px;
  display:grid; place-items:center;
  border-radius: 14px;
  background: rgba(24,163,3,.12);
  color: var(--lo-green);
  font-size: 1.2rem;
  margin-bottom: .85rem;
}

/* Apps */
.app-pill{
  background:#fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: .85rem 1rem;
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
}

/* Cases */
.case-card{
  border-radius: var(--radius);
  overflow:hidden;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 12px 32px rgba(0,0,0,.06);
  background:#fff;
}
.case-img{
  width:100%;
  height: 180px;
  object-fit: cover;
}

/* Testimonials */
.testimonial-card{
  border-radius: var(--radius);
  background:#fff;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 12px 32px rgba(0,0,0,.06);
  padding: 1.5rem;
}
.stars{ color: #f1b800; letter-spacing:1px; }

/* FAQ callout */
.callout{
  border-radius: var(--radius);
  border: 1px solid rgba(24,163,3,.22);
  background: rgba(24,163,3,.08);
}

/* Footer */
.footer{
  background: #0e172a;
  color:#fff;
}
.footer-link{
  color: rgba(255,255,255,.78);
  text-decoration:none;
}
.footer-link:hover{ color:#fff; text-decoration:underline; }
.footer-hr{
  border-color: rgba(255,255,255,.12);
}

/* Mobile tweaks */
@media (max-width: 991px){
  .hero{
    min-height: 94vh;
  }
  .hero-overlay{
    background: linear-gradient(180deg, rgba(11,18,32,.92), rgba(11,18,32,.72));
  }
}