/* ------------------------------
   Raleway font
---------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700;800&display=swap');

/* ------------------------------
   Base / Resets
---------------------------------*/
:root{
  --bg: #ffffff;
  --text: #2b2b2b;
  --muted: #242424;
  --heading: #0f1222;
  --accent: #1ea7fd; /* section title blue */
  --card: #f7f8fb;
  --border: #e8ebf0;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
}

*{ box-sizing: border-box; }
html, body{
  margin:0; padding:0; background:var(--bg); color:var(--text);
  font-family: "Raleway", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  line-height: 1.55;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
img{ max-width:100%; display:block; }
h1,h2,h3,h4{ color:var(--heading); margin:0 0 .4rem; line-height:1.2; }
p { margin: 0 0 1.1rem; 
    color:var(--muted); 
    font-weight: 500; 
    font-size: 1.4rem;
}

.container{
  width: min(1200px, 92vw);
  margin-inline: auto;
}

h3 {
    font-style: italic;

}

/* ------------------------------
   HERO
   (use assets/willGBG.png at 30% opacity)
---------------------------------*/
.hero{
  position: relative;
  min-height: 54vh;
  display:flex;
  align-items: center;
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background: url("../assets/willGBG.png") center/cover no-repeat;
  opacity:.3;                 /* 30% opacity background image */
  z-index:-1;
}
.hero-content{
  padding: 72px 0 56px;
}
.hero h1{
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 800;
  letter-spacing: -.02em;
  margin-bottom: .35rem;
}
.hero p{
  font-size: clamp(16px, 2.2vw, 20px);
  max-width: 780px;
  margin-bottom: 18px;
}
.hero img{
  height: 44px; width: auto;
}

/* ------------------------------
   Sub-hero (two-column)
---------------------------------*/
.sub-hero-section{
  padding: 46px 0 16px;
}
.sub-hero-section .container{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 42px;
  align-items: center;
}
.sub-hero-left h1{
  color: var(--accent);
  font-size: clamp(28px, 3.6vw, 36px);
  margin-bottom: .6rem;
}
.sub-hero-left h3{
  font-size: 30px;
  margin: 4.4rem 0 .4rem;
}
.sub-hero-right img{
  width: 100%;
  max-width: 280px;
  margin-left: auto;
  filter: drop-shadow(0 12px 25px rgba(0,0,0,.15));
  border-radius: 22px;
}

/* ------------------------------
   Divider (subtle)
---------------------------------*/
.sub-hero-section + .main-body{
  border-top: 1px solid var(--border);
}

/* ------------------------------
   Main body top
   Left = text, Right = timeline component
---------------------------------*/
.main-body{ padding: 40px 0 20px; }
.main-body-top{
  display: grid;
  grid-template-columns: 1.05fr .95fr; /* horizontal split */
  gap: 44px;
  align-items: center;
  padding: 36px 0 38px;
}
.main-body-top h2{
  font-size: clamp(24px, 3vw, 36px);
  margin-bottom: .6rem;
}

.main-body-top p{
  line-height: 220%;
}


.description h1{
  font-size: 18px; margin-bottom: .25rem;
}
.description p{
  font-size: 14px; margin-bottom: 10px;
}


/* ------------------------------
   Main body bottom (screens)
---------------------------------*/
.main-body-bottom{ padding: 10px 0 40px; }
.main-body-bottom h3{
  font-size: clamp(20px, 2.6vw, 34px);
  margin: 6px 0 14px;
}
.main-body-bottom p{
    line-height: 220%;
}

.screenshot-row{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 10px 0 16px;
}

.screenshot-row img{
    width:100%;
    height:auto;          /* remove aspect-ratio + object-fit */
    /* border-radius:22px;  */
    /* border:1px solid var(--border); */
  /* box-shadow:0 18px 30px rgb(156, 34, 34); */
}

/* ------------------------------
   Download CTA
   (assets/cta-bg.png as background)
---------------------------------*/
.download-section{
  position: relative;
  margin-top: 18px;
  background: url("../assets/cta-bg.png") center/cover no-repeat;
  min-height: 380px;

  /* Keep content aligned left but centered vertically */
  display: flex;
  align-items: center; /* vertical centering */
}

.download-section .container{
  /* Keep container width rules */
  display: flex;
  align-items: center;     /* Vertically centers inner content */
  padding: 0;              /* remove extra top/bottom padding so height does the work */
}

.download-inner{
  display: flex;
  flex-direction: column;  /* stack icon, heading, badges vertically */
  align-items: flex-start; /* ✅ left aligned */
  text-align: left;

  gap: clamp(20px, 4vw, 16px); /* More vertical space between items */
}

/* Icon tile adjustments */
.download-section .icon-div img{
  width: 120px;
  height: 120px;
  object-fit: contain;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.12));
}

/* Heading spacing controlled by gap now */
.download-section h2{
  margin-bottom: 16px;
}

/* Badge spacing */
.store-badges{
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.store-badges img{
  height: 44px;
  width: auto;
}


/* ------------------------------
   Footer
---------------------------------*/
.footer{
  padding: 26px 0 40px;
  text-align:center;
  color: #7a8090;
  border-top: 1px solid var(--border);
}
.footer h4{
  margin:0; font-weight:500; font-size: 18px;
}
.footer a{
  color: inherit; text-decoration: underline; text-underline-offset: 2px;
}

/* ------------------------------
   Utilities
---------------------------------*/
.username{ font-weight: 700; color: var(--heading); }
.date{ color: var(--muted); }

/* ------------------------------
   Responsive
---------------------------------*/

@media (max-width: 1024px){
  .sub-hero-section .container,
  .main-body-top{
    grid-template-columns: 1fr;
  }
  .sub-hero-right img{
    margin: 12px auto 0;
  }
  .timeline-container{
    margin-top: 8px;
  }

  .download-section .container{
    display: flex;
    justify-content: center; 
    align-items: center;    
    text-align: center;      
  }

  .download-inner{
    align-items: center;
  }

  .download-section .icon-div{ justify-self: center; }

  .store-badges{
    justify-content: center;
    width: 100%;
  }
}


@media (max-width: 640px){
  .hero{ min-height: 48vh; }
  .screenshot-row{ grid-template-columns: repeat(2,1fr); }
  .stats-container{ grid-template-columns: repeat(2,1fr); }
  .download-section .icon-div img{ width: 104px; height: 104px; }
  .download-section .store-badges img{ height: 40px; }
}
