:root{
  --bg: #f4f6fb;
  --card: #ffffff;
  --ink: #141416;
  --muted: #6b6f76;
  --accentA: #6c63ff;
  --accentB: #8f94fb;
  --max-width: 1200px;
  --radius: 14px;
}

/* Reset */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  background: lightgrey;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
}

a.btn {
  display: inline-block;
  background: linear-gradient(135deg, #6a11cb, #2575fc);
  color: #fff;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}
a.btn:hover {
  background: linear-gradient(135deg, #2575fc, #6a11cb);
  transform: translateY(-2px);
}
/* container utility */
.container{
  width:90%;
  max-width:var(--max-width);
  margin:0 auto;
}

/* header */
.site-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 0;
  background:transparent;
}
.brand{display:flex;align-items:center;gap:14px}
.brand-logo{width:56px;height:auto;border-radius:10px;box-shadow:0 8px 24px rgba(16,16,20,0.06)}
.brand-name{font-weight:700;font-size:1.05rem}
.brand-tag{color:var(--muted);font-size:0.9rem}

/* nav */
.nav{
  display:flex;
  gap:20px;
  align-items:center;
}
.nav a{
  color:var(--ink);
  text-decoration:none;
  font-weight:600;
  padding:8px 10px;
  border-radius:8px;
  transition:all .18s ease;
}
.nav a:hover{color:var(--accentA); background: rgba(108,99,255,0.06)}
.nav a.active{color:var(--accentA)}

/* hamburger */
.menu-toggle{
  display:none;
  font-size:1.6rem;
  background:none;
  border:none;
  color:var(--ink);
  cursor:pointer;
}

/* HERO (angled) */
.hero{
  padding:60px 0 80px;
  position:relative;
  overflow:visible;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1fr 560px;
  gap:40px;
  align-items:center;
}

/* left media */
.hero-media{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.device{width:100%;max-width:720px;border-radius:16px; box-shadow: 0 30px 60px rgba(16,16,20,0.12); transform: translateY(6px); display:block}

/* floating circular badge */
.floating-badge{
  position:absolute;
  left: -18px;
  bottom: -18px;
  width:84px;
  height:84px;
  background:linear-gradient(180deg,var(--card),#f2f3f8);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:1.6rem;
  color: var(--accentA);
  box-shadow: 0 12px 30px rgba(16,16,20,0.12);
}

/* right panel with angled background and rotated label */
.hero-panel{
  position:relative;
  padding:34px;
  min-height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* angled decorative element (big diagonal band that cuts across) */
/* Fix for angled hero sections text visibility */
.hero-panel::before {
  background: linear-gradient(
    160deg,
    rgba(140,136,255,0.85) 0%,   /* reduced opacity */
    rgba(143,148,251,0.78) 100%
  );
}

.hero-content,
.page-hero--angled .page-hero-content {
  position: relative;
  z-index: 2;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,0.4); /* improves readability */
  background: rgba(0,0,0,0.25);           /* optional dark overlay behind text */
  border-radius: 10px;
  padding: 20px;
}


/* content area sits above the slanted bg */
.hero-content{
  position:relative;
  z-index:2;
  color: #fff;
  padding:34px 40px;
  max-width:520px;
}
.hero-title{
  margin:0 0 12px 0;
  font-size:2.05rem;
  line-height:1.05;
  letter-spacing:-0.02em;
}

/* shared dark overlay box for hero text */
/* Make hero overlay lighter so text is visible */
.hero-text-box {
  background: rgba(0,0,0,0.15);
  padding: 20px 24px;
  border-radius: 12px;
  text-shadow: 0 2px 6px rgba(0,0,0,0.35);
  display: inline-block;
  max-width: 600px;
}


/* Better card layout on about & why pages */
.content-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 28px;
  margin: 60px auto;
  max-width: 1100px;
}

.content-cards .card {
  background: var(--card);
  padding: 24px;
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.05);
}


/* Center services & benefits grids */
.services-grid,
.benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin: 40px auto 80px auto;
  max-width: 1000px; /* keeps them centered */
}

.hero-sub{margin:0 0 18px;color:rgba(255,255,255,0.92);font-size:1rem}
.hero-actions{display:flex;gap:14px;align-items:center}

/* buttons */
.btn{
  display:inline-block;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700}
.btn-primary{background:var(--card);color:var(--ink); box-shadow:0 12px 30px rgba(16,16,20,0.12)}
.btn-ghost{background:transparent;color:rgba(255,255,255,0.95);border:1px solid rgba(255,255,255,0.14)}

/* slanted label that visually follows the angle */
.angle-label{
  position:absolute;
  right: -28%;
  top: 24%;
  transform: rotate(-18deg);
  background: rgba(255,255,255,0.98);
  color: var(--accentA);
  padding:10px 22px;
  border-radius: 40px;
  font-weight:800;
  box-shadow: 0 18px 40px rgba(20,20,30,0.08);
  z-index:3;
}

/* small cards row (teasers) */
.cards-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:-60px;
  margin-bottom:60px;
  align-items:start;
}
.card{
  background:var(--card);
  padding:24px;
  border-radius:12px;
  box-shadow: 0 10px 30px rgba(20,20,30,0.06);
}

/* page-hero with image on left and angled shape on right */
.page-hero{
  padding:60px 0;
}
.page-hero--angled .page-hero-inner{
  display:grid;
  grid-template-columns: 420px 1fr;
  gap:36px;
  align-items:center;
}
.page-hero-media img{
  width:100%;
  border-radius:14px;
  box-shadow: 0 24px 50px rgba(20,20,30,0.06);
}
.page-hero-content h1{font-size:2rem;margin-bottom:8px}
.page-hero-content p{color:white}

/* services grid */
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin:40px 0 80px;
}
.service-card{
  background:linear-gradient(180deg,#ffffff, #fbfbff);
  padding:26px;border-radius:12px;box-shadow:0 18px 46px rgba(16,16,20,0.06);
}

/* benefits grid */
.benefits-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:40px 0 80px;
}
.benefit-card{background:linear-gradient(180deg,#fff,#fbfbff);padding:26px;border-radius:12px;box-shadow:0 18px 46px rgba(16,16,20,0.06)}

/* footer */
.site-footer{background:transparent;padding:32px 0;text-align:center}


/* small responsive adjustments */
@media (max-width: 1100px){
  .hero-grid{grid-template-columns: 1fr 420px}
  .cards-row{grid-template-columns:repeat(2,1fr)}
  .services-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 860px){
  .hero-grid{grid-template-columns: 1fr; gap:22px}
  .hero-panel::before{display:none}
  .angle-label{right:8%;transform:rotate(-12deg);top:auto;bottom:-10px}
  .cards-row{margin-top:20px}
  .page-hero--angled .page-hero-inner{grid-template-columns:1fr}
  .page-hero-media img{max-height:360px;object-fit:cover}
  .services-grid{grid-template-columns:1fr}
  .benefits-grid{grid-template-columns:1fr}
}

/* mobile navigation */
@media (max-width:768px){
  .menu-toggle{display:block}
  .nav{
    position:fixed;
    top:72px;
    right:18px;
    display:flex;
    flex-direction:column;
    gap:8px;
    background:rgba(255,255,255,0.98);
    border-radius:12px;
    padding:12px;
    box-shadow:0 20px 60px rgba(20,20,30,0.12);
    display:none;
    z-index:9999;
    width:220px;
  }
  .nav.open{display:flex}
  .nav a{padding:10px;border-radius:8px}
  .brand-text{display:none} /* keep logo only */
  .brand-logo{width:44px}
}
@media (max-width:480px){
  .hero-title{font-size:1.6rem}
  .hero-sub{font-size:0.95rem}
  .hero-actions{flex-direction:column;align-items:stretch}
  .btn{width:100%;text-align:center}
}
/* Center services and benefits grid */
.services-grid,
.benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 28px;
  margin: 60px auto 80px auto;
  max-width: 1100px;   /* keeps grid centered */
  padding: 0 20px;     /* adds breathing room on small screens */
}
