/* Base reset */
*{box-sizing:border-box}
html,body{height:100%;margin:0}

/* Body / typography */
body{
  color:#fff;
  line-height:1.4;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  background-color:#2d253c;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial;
}

/* Fixed background via pseudo-element (avoids background-attachment:fixed) */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background-image:url("../img/Jmix.jpg");
  background-position:top right;
  background-repeat:no-repeat;
  background-size:cover;
  will-change:transform;
  transform:translateZ(0);
}

/* Hero link (full-viewport visual hero, clickable) */
.hero-link{
  display:block;
  width:100%;
  height:100vh;
  text-decoration:none;
  color:inherit;
  position:relative;
}

/* Visible hero content inside the link */
.hero-content{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  height:100%;
  padding:2rem;
  background:linear-gradient(180deg, rgba(45,37,60,0.25) 0%, rgba(45,37,60,0.55) 100%); /* subtle overlay for contrast */
}

/* Hero text */
.hero-content h1{
  margin:0 0 .5rem;
  font-size:clamp(1.5rem,5vw,3rem);
  line-height:1.05;
}
.hero-sub{margin:0 0 1rem;color:#e9e6ef}
.hero-cta{
  display:inline-block;
  padding:.6rem 1rem;
  background:#ff7a59;
  color:#fff;
  border-radius:6px;
  font-weight:600;
  margin-top:.5rem;
}

/* Main content */
main{max-width:1100px;margin:0 auto;padding:2rem}
.intro h2, .features h2{margin-top:0}
section{margin-bottom:2rem}

/* Ensure sections are visible after hero (no extra spacing pushing them off-screen) */
main{position:relative;z-index:1}

/* Mobile: use smaller background image and adjust hero padding */
@media (max-width:720px){
  body::before{
    background-image:url("../img/Jmix-small.jpg");
    background-position:top right;
    background-size:cover;
  }
  .hero-content{padding:1.25rem}
  .hero-cta{padding:.5rem .75rem}
}

/* Respect reduced motion */
@media (prefers-reduced-motion:reduce){
  body::before{will-change:auto;transform:none}
}

