:root{
    --bg:#050816;
    --surface:#111827;
    --surface2:#161f33;
    --primary:#4F8CFF;
    --secondary:#22D3EE;
    --text:#ffffff;
    --text2:#bfc7d5;
    --border:rgba(255,255,255,.08);
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:var(--bg);
    color:var(--text);
    font-family:Inter,sans-serif;
    line-height:1.7;
}

.container{
    width:min(1150px,90%);
    margin:auto;
}

header{
    border-bottom:1px solid var(--border);
    background:#081020;
}

.nav{
    height:75px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.logo{
    font-size:22px;
    font-weight:700;
    color:white;
    text-decoration:none;
}

.back-btn{
    text-decoration:none;
    color:white;
    border:1px solid var(--border);
    padding:10px 18px;
    border-radius:8px;
    transition:.3s;
}

.back-btn:hover{
    background:var(--primary);
}

.hero{
    padding:90px 0;
}

.hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.hero img{
    width:100%;
    border-radius:18px;
    border:1px solid var(--border);
}

.hero h1{
    font-size:48px;
    margin-bottom:20px;
}

.hero p{
    color:var(--text2);
    font-size:18px;
}

.badge{
    display:inline-block;
    padding:7px 16px;
    border-radius:30px;
    margin-bottom:20px;
    background:rgba(79,140,255,.15);
    color:var(--secondary);
}

section{
    padding:80px 0;
}

.card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:18px;
    padding:35px;
    margin-bottom:30px;
}

.card h2{
    margin-bottom:18px;
    font-size:28px;
}

.card p{
    color:var(--text2);
}

footer{
    border-top:1px solid var(--border);
    padding:35px 0;
    text-align:center;
    color:var(--text2);
}

@media(max-width:900px){

.hero-grid{
grid-template-columns:1fr;
}

.hero h1{
font-size:36px;
}

}


/* ###################################### Footer ###################################### */
/* Force Footer Alignment to match index.html */
footer {
  text-align: left;
}

footer .footer-top,
footer .footer-col,
footer .footer-desc {
  text-align: left;
}

footer .footer-top {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  align-items: start;
}

/* ###################################### Hero-to-content gap fix ###################################### */
/* styles.css defines plain `.hero` and `section` rules too, and since it loads
   AFTER product.css on product pages, it silently wins on tied specificity
   (min-height:100vh + padding-top:140px/padding-bottom:80px on .hero, and
   padding:140px 0 on section) — that's what's causing the big gap.
   `body .hero` / `body .hero + section` are more specific, so they win no
   matter the load order, and they only touch product pages since this rule
   only exists in product.css. */
body .hero{
  min-height:auto;
  padding-top:90px;
  padding-bottom:30px;
}

body .hero + section{
  padding-top:30px;
}