/* minimalist, mobile-first */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Instrument+Sans:ital,wght@0,400..700;1,400..700&display=swap');

:root{--fg:#151415;--bg:#FCFAF1;--muted:#666;--line:#151415;}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:'Instrument Sans',ui-sans-serif,system-ui,Segoe UI,Roboto,Arial,Apple Color Emoji,Segoe UI Emoji}

/* Animations */
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(30px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes fadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes scaleIn{
  from{opacity:0;transform:scale(0.9)}
  to{opacity:1;transform:scale(1)}
}

/* Hero Section */
.hero{
  min-height:100vh;
  background:url('/hero-bg-sm.png') center center/cover no-repeat;
  display:flex;
  flex-direction:column;
  position:relative;
  align-items:center;
  justify-content:center;
}
.hero-header{
  padding:24px 40px;
}
.hero-tag{
  font-size:14px;
  color:#151415;
  font-weight:400;
}
.hero-content{
  text-align:center;
  padding:40px 20px;
  animation:fadeIn 1s ease-out;
}
.hero-title{
  font-size:64px;
  font-weight:700;
  font-family:'Instrument Serif',serif;
  color:#151415;
  margin:0;
  line-height:1.2;
  animation:fadeInUp 0.8s ease-out 0.2s both;
}
.hero-logo{
  height:80px;
  width:80px;
  position:fixed;
  bottom:60px;
  left:50%;
  margin-left:-40px;
  animation:fadeInUp 0.8s ease-out 0.5s both;
  transition:all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  z-index:100;
}
.hero-logo:hover{
  transform:scale(1.05);
}
.hero-logo.scrolled{
  height:40px;
  width:40px;
  top:20px;
  bottom:auto;
  left:50%;
  margin-left:-20px;
  opacity:0.3;
}
.hero-logo.scrolled:hover{
  opacity:1;
  transform:scale(1.1);
}
.hero-name{
  font-size:16px;
  color:#151415;
  font-weight:500;
}

@media (max-width: 768px){
  .hero-title{
    font-size:36px;
  }
}

/* Features Section */
.features{
  min-height:100vh;
  background:url('/features-bg.png') center center/cover no-repeat;
  display:flex;
  align-items:center;
  padding:60px 20px;
  position:relative;
}
.features-container{
  max-width:1200px;
  margin:0 auto;
  width:100%;
}
.features-headline{
  font-size:42px;
  font-weight:400;
  font-family:'Instrument Sans',sans-serif;
  color:#151415;
  margin:0 0 60px 0;
  line-height:1.3;
  max-width:900px;
  opacity:0;
  transform:translateY(30px);
  transition:opacity 0.8s ease-out, transform 0.8s ease-out;
}
.features-headline.animate{
  opacity:1;
  transform:translateY(0);
}
.features-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  margin-bottom:40px;
}
.features-column{
  display:flex;
  flex-direction:column;
  gap:24px;
  align-items:flex-start;
  opacity:0;
  transform:translateY(30px);
  transition:opacity 0.8s ease-out, transform 0.8s ease-out;
}
.features-column.animate{
  opacity:1;
  transform:translateY(0);
}
.features-column:nth-child(1).animate{
  transition-delay:0.2s;
}
.features-column:nth-child(2).animate{
  transition-delay:0.3s;
}
.column-title{
  font-size:28px;
  font-weight:600;
  font-family:'Instrument Sans',sans-serif;
  color:#151415;
  margin:0 0 12px 0;
}
.feature-item{
  font-size:16px;
  line-height:1.6;
  color:#151415;
}
.feature-item strong{
  font-weight:600;
}
.feature-tag{
  display:inline-block;
  background:#151415;
  color:#fff;
  padding:8px 20px;
  border-radius:20px;
  font-size:14px;
  font-weight:500;
  margin-top:12px;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.feature-tag:hover{
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(21,20,21,0.2);
}
.features-logo{
  position:absolute;
  bottom:40px;
  right:40px;
  height:48px;
  width:48px;
}

@media (max-width: 968px){
  .features-columns{
    grid-template-columns:1fr;
    gap:40px;
  }
  .features-headline{
    font-size:32px;
  }
}

/* Demo Section */
.demo{
  min-height:100vh;
  background:url('/features-bg.png') center center/cover no-repeat;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:0;
  position:relative;
}
.demo-content{
  padding:120px 20px 60px;
}
.demo-container{
  max-width:1200px;
  margin:0 auto;
  width:100%;
}
.demo-header{
  display:grid;
  grid-template-columns:300px 1fr;
  gap:60px;
  margin-bottom:40px;
  align-items:start;
  opacity:0;
  transform:translateY(30px);
  transition:opacity 0.8s ease-out, transform 0.8s ease-out;
}
.demo-header.animate{
  opacity:1;
  transform:translateY(0);
}
.demo-title{
  font-size:48px;
  font-weight:600;
  font-family:'Instrument Serif',serif;
  color:#151415;
  margin:0;
  line-height:1.2;
}
.demo-description{
  font-size:16px;
  line-height:1.6;
  color:#151415;
}
.demo-description p{
  margin:0;
}
.demo-signup{
  text-align:center;
  margin-bottom:48px;
  opacity:0;
  transform:translateY(30px);
  transition:opacity 0.8s ease-out 0.2s, transform 0.8s ease-out 0.2s;
}
.demo-signup.animate{
  opacity:1;
  transform:translateY(0);
}
.demo-form{
  display:flex;
  gap:12px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.demo-form input{
  min-width:280px;
  padding:14px 20px;
  border:1px solid var(--line);
  border-radius:24px;
  font-size:16px;
  background:#fff;
  font-family:'Instrument Sans',sans-serif;
  transition:border-color 0.3s ease, box-shadow 0.3s ease;
}
.demo-form input:focus{
  outline:none;
  border-color:var(--fg);
  box-shadow:0 0 0 3px rgba(21,20,21,0.1);
}
.demo-form button{
  padding:14px 32px;
  border:none;
  border-radius:24px;
  background:#151415;
  color:#fff;
  font-size:16px;
  cursor:pointer;
  font-weight:500;
  font-family:'Instrument Sans',sans-serif;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.demo-form button:hover{
  transform:translateY(-2px);
  box-shadow:0 4px 16px rgba(21,20,21,0.3);
}
.demo-form button:active{
  transform:translateY(0);
}
.demo-note{
  font-size:14px;
  color:#151415;
  margin:0;
}
.demo-note a{
  color:#151415;
  text-decoration:underline;
}
.demo-video{
  max-width:1100px;
  margin:0 auto;
  width:100%;
  opacity:0;
  transform:scale(0.9);
  transition:opacity 1s ease-out 0.4s, transform 1s ease-out 0.4s;
}
.demo-video.animate{
  opacity:1;
  transform:scale(1);
}
.demo-video .videoplayer{
  width:100%;
  border-radius:16px 16px 0 0;
  background:#000;
  box-shadow:0 20px 60px rgba(0,0,0,0.3);
  border:none;
  display:block;
  margin:0;
  vertical-align:bottom;
  transition:box-shadow 0.3s ease;
}
.demo-video .videoplayer:hover{
  box-shadow:0 25px 80px rgba(0,0,0,0.4);
}
.demo-logo{
  position:absolute;
  bottom:40px;
  right:40px;
  height:48px;
  width:48px;
}

@media (max-width: 968px){
  .demo-header{
    grid-template-columns:1fr;
    gap:24px;
  }
  .demo-title{
    font-size:36px;
  }
  .demo-form{
    flex-direction:column;
    align-items:stretch;
  }
  .demo-form input,
  .demo-form button{
    width:100%;
  }
}

.foot{padding:40px 20px;color:var(--muted);text-align:center}
/* allow nicer font rendering even without Inter */
