:root{
  --hp-primary:#6A5AE0;
  --hp-primary-2:#5646d7;
  --hp-accent:#4FD1C5;
  --hp-bg:#F6F8FC;
  --hp-surface:#ffffff;
  --hp-text:#1F2937;
  --hp-muted:#6B7280;
  --hp-border:rgba(17,24,39,.10);
  --hp-shadow:0 12px 30px rgba(17,24,39,.10);
  --hp-radius:18px;
  /* used to offset sticky header below the ticker bar */
  --hp-topbar-h:34px;
}

html,body{background:var(--hp-bg); color:var(--hp-text);}
body{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial;}

/* --- Layout helpers (TicketBewust content-grid system) --- */
.content-grid,
.full-width{
  --padding-inline: 1.5rem;
  --content-max-width: 1200px;
  --breakout-max-width: 1800px;
  --breakout-size: calc((var(--breakout-max-width) - var(--content-max-width)) / 2);
  --content-grid-gap: 2.25rem;
  display:grid;
  grid-template-columns:
    [full-width-start] minmax(var(--padding-inline),1fr)
    [breakout-start] minmax(0,var(--breakout-size))
    [content-start] min(100% - var(--padding-inline)*2,var(--content-max-width))
    [content-end] minmax(0,var(--breakout-size))
    [breakout-end] minmax(var(--padding-inline),1fr)
    [full-width-end];
}
.content-grid > :not(.breakout, .full-width),
.full-width > :not(.breakout, .full-width){
  grid-column: content;
}
.content-grid > .breakout{ grid-column: breakout; }
.content-grid > .full-width{ grid-column: full-width; }

/* Keep Bootstrap containers visually aligned with the grid */
.container{max-width:1200px;}

/* --- Top ticker bar (TicketBewust vibe) --- */
.hp-topbar{
  background:#5A3E85; /* TicketBewust purple */
  color:#fff;
  height:var(--hp-topbar-h);
  display:flex;
  align-items:center;
  overflow:hidden;
  position:sticky;
  top:0;
  z-index:1000;
}
.hp-topbar-track{
  display:flex;
  gap:0;
  width:100%;
  animation: hp-marquee 18s linear infinite;
}
.hp-topbar-items{
  display:flex;
  align-items:center;
  gap:44px;
  white-space:nowrap;
  padding-left:24px;
  font-size:13px;
  font-weight:600;
}
.hp-topbar strong{font-weight:800;}
@keyframes hp-marquee{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .hp-topbar-track{animation:none;}
}

/* --- Header / Nav (converted from TicketBewust layout) --- */
.hp-site-header{
  background:#fff;
  position:sticky;
  top:var(--hp-topbar-h);
  z-index:999;
  border-bottom:1px solid rgba(0,0,0,.06);
  transition: box-shadow .2s ease, border-color .2s ease;
}
.hp-site-header.hp-scrolled{
  box-shadow:0 10px 26px rgba(15,23,42,.10);
  border-bottom-color:transparent;
}
.hp-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 0;
}
.hp-brand{
  text-decoration:none;
  display:flex;
  align-items:center;
}
.hp-brand-text{
  font-size:34px;
  font-weight:900;
  letter-spacing:-.03em;
  color:var(--hp-primary);
  line-height:1;
}

.hp-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex:1;
}
.hp-nav-link{
  text-decoration:none;
  color:rgba(17,24,39,.9);
  font-weight:700;
  font-size:15px;
  padding:10px 10px;
  border-radius:12px;
  transition:background .15s ease, color .15s ease, opacity .15s ease;
}
.hp-nav-link:hover{
  color:var(--hp-primary);
  background:rgba(90,62,133,.08);
}

.hp-actions{display:flex; align-items:center; gap:10px;}
.hp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  border-radius:999px;
  padding:10px 16px;
  text-decoration:none;
  font-size:14px;
  white-space:nowrap;
  border:1px solid transparent;
}
.hp-btn-ghost{
  color:var(--hp-primary);
  border-color:rgba(90,62,133,.25);
  background:#fff;
}
.hp-btn-ghost:hover{background:rgba(90,62,133,.06);}
.hp-btn-primary{
  background:var(--hp-primary);
  color:#fff;
}
.hp-btn-primary:hover{background:var(--hp-primary-2);}

.hp-burger{
  display:none;
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  position:relative;
}
.hp-burger span{
  position:absolute;
  left:11px;
  right:11px;
  height:2px;
  background:rgba(17,24,39,.85);
  border-radius:2px;
  transition:transform .15s ease, top .15s ease, opacity .15s ease;
}
.hp-burger span:nth-child(1){top:13px;}
.hp-burger span:nth-child(2){top:20px;}
.hp-burger span:nth-child(3){top:27px;}

@media (max-width: 992px){
  .hp-burger{display:inline-flex; align-items:center; justify-content:center;}
  .hp-nav{display:none;}
  .hp-site-header.hp-open .hp-nav{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    padding:14px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:18px;
    box-shadow:0 18px 40px rgba(15,23,42,.18);
    position:absolute;
    left:1.5rem;
    right:1.5rem;
    top:calc(100% + 12px);
  }
  .hp-site-header{position:sticky;}
  .hp-header-inner{position:relative;}
  .hp-actions{display:none;}
  html.hp-nav-open{overflow:hidden;}
}

/* Bootstrap collapse menu visual polish */
@media (max-width: 992px){
  .navbar-collapse{margin-top:12px; padding:12px; background:#fff; border:1px solid var(--hp-border); border-radius:16px; box-shadow:0 18px 40px rgba(17,24,39,.12);}
  .navbar-nav{gap:6px;}
  .navbar .nav-link{display:block; padding:12px 12px;}
  .hp-actions{margin-top:10px; display:flex; gap:10px; flex-wrap:wrap;}
}

.btn, .action-button{border-radius:999px !important; font-weight:700;}
.btn-hp-cta{background:var(--hp-primary); border:1px solid rgba(106,90,224,.25); color:#fff !important; box-shadow:0 10px 22px rgba(106,90,224,.22);} 
.btn-hp-cta:hover{background:var(--hp-primary-2); color:#fff !important;}
.logo-button{background:var(--hp-primary) !important; border:0 !important; color:#fff !important; box-shadow:0 10px 22px rgba(106,90,224,.22);} 
.logo-button:hover{background:var(--hp-primary-2) !important;}
.btn-hp-ghost{background:transparent; border:1px solid rgba(106,90,224,.35); color:var(--hp-primary) !important;}
.btn-hp-ghost:hover{background:rgba(106,90,224,.08);} 

/* --- Hero --- */
.w3l-hero-headers-9 .css-slider{min-height:560px;}
.w3l-hero-headers-9 .slide{padding:120px 0 70px; background:linear-gradient(180deg,#ffffff 0%, var(--hp-bg) 100%);}
.w3l-hero-headers-9 .banner-text{max-width:620px;}
.w3l-hero-headers-9 h4{color:var(--hp-primary); font-weight:800; letter-spacing:-.02em; margin-bottom:10px;}
.w3l-hero-headers-9 h3{font-size:44px; line-height:1.08; letter-spacing:-.03em; color:var(--hp-text);} 
.w3l-hero-headers-9 p{color:var(--hp-muted); font-size:16.5px; max-width:52ch;}

.hp-hero-grid{display:grid; grid-template-columns: 1.1fr .9fr; gap:28px; align-items:center;}
.hp-hero-card{background:var(--hp-surface); border:1px solid var(--hp-border); border-radius:var(--hp-radius); box-shadow:var(--hp-shadow); padding:18px;}
.hp-hero-device{width:100%; height:auto; display:block; border-radius:14px;}

.hp-badges{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px;}
.hp-badge{display:flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid var(--hp-border); border-radius:999px; background:#fff; color:var(--hp-text); font-weight:700; font-size:12.5px;}
.hp-badge img{width:16px; height:16px;}

/* --- Trust strip (TicketBewust vibe) --- */
.hp-trust-strip{background:#E8FBF7; border-top:1px solid rgba(79,209,197,.35); border-bottom:1px solid rgba(79,209,197,.35);} 
.hp-trust-wrap{display:flex; align-items:center; gap:18px; flex-wrap:wrap; padding:14px 0;}
.hp-pill{display:flex; align-items:center; gap:8px; background:#fff; border:1px solid rgba(79,209,197,.35); border-radius:999px; padding:10px 12px; font-weight:800; font-size:12.5px; color:var(--hp-text);} 
.hp-pill small{font-weight:700; color:var(--hp-muted);} 

/* --- Cards / sections --- */
.title-big, .team-head{color:var(--hp-text) !important; letter-spacing:-.02em;}
.para{color:var(--hp-muted) !important;}

.hp-section{padding:70px 0;}
.hp-card{background:var(--hp-surface); border:1px solid var(--hp-border); border-radius:var(--hp-radius); box-shadow:var(--hp-shadow); padding:22px; height:100%;}
.hp-card h4{font-weight:800; letter-spacing:-.02em;}
.hp-card p{margin:0; color:var(--hp-muted);} 

.hp-step{display:flex; gap:14px; align-items:flex-start;}
.hp-step .num{width:36px; height:36px; border-radius:12px; display:grid; place-items:center; background:rgba(106,90,224,.12); color:var(--hp-primary); font-weight:900;}

.hp-logo-row{display:flex; gap:22px; align-items:center; flex-wrap:wrap; opacity:.9;}
.hp-logo{height:22px; width:auto; filter:grayscale(1); opacity:.9;}

/* --- Reviews --- */
.hp-review{display:flex; gap:12px;}
.hp-avatar{width:36px; height:36px; border-radius:999px; background:linear-gradient(135deg, rgba(106,90,224,.25), rgba(79,209,197,.25));}
.hp-stars{letter-spacing:1px; color:var(--hp-primary); font-weight:900;}

/* --- FAQ --- */
.hp-faq details{background:#fff; border:1px solid var(--hp-border); border-radius:16px; padding:14px 16px; box-shadow:0 10px 24px rgba(17,24,39,.06);}
.hp-faq details + details{margin-top:12px;}
.hp-faq summary{cursor:pointer; font-weight:800; color:var(--hp-text);} 
.hp-faq p{margin:10px 0 0; color:var(--hp-muted);} 

/* --- Footer --- */
.w3l-footer-29-main .footer-29{background:var(--hp-text) !important;}
.footer-title-29{color:#fff !important; font-weight:900;}
.w3l-footer-29-main a{color:rgba(255,255,255,.9) !important;}
.w3l-footer-29-main p{color:rgba(255,255,255,.78) !important;}
.w3l-copyright{border-top:1px solid rgba(255,255,255,.10);} 

/* --- Forms --- */
input, select, textarea{border-radius:14px !important; border:1px solid var(--hp-border) !important;}
input:focus, textarea:focus{outline:none; box-shadow:0 0 0 4px rgba(106,90,224,.12) !important; border-color:rgba(106,90,224,.35) !important;}

/* Responsive */
@media (max-width: 991px){
  .hp-hero-grid{grid-template-columns:1fr;}
  .w3l-hero-headers-9 h3{font-size:36px;}
  .w3l-hero-headers-9 .slide{padding:105px 0 50px;}
}
@media (max-width: 480px){
  .w3l-hero-headers-9 h3{font-size:32px;}
}

/* link-card helpers */
.hp-link-card { text-decoration:none; color:inherit; }
.hp-link-card:hover { transform: translateY(-1px); box-shadow: 0 18px 40px rgba(15,23,42,.08); }
.hp-link { margin-top:14px; font-weight:900; color: var(--hp-primary); }
