/* Chively Landing Page Styles */
:root{
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-alt: #f7f8f9;
  --text: #1f2937;
  --muted: #5b6370;
  --brand-500: #2a8a6b;
  --brand-600: #21785d;
  --brand-100: #e6f3ee;
  --brand-gradient: linear-gradient(135deg, #2a8a6b 0%, #4a9d7a 50%, #21785d 100%);
  --brand-gradient-light: linear-gradient(135deg, #e6f3ee 0%, #f0f8f5 50%, #e6f3ee 100%);
  --accent: #ffdcb8;
  --shadow: 0 10px 30px rgba(20, 29, 38, .08);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--text); background:var(--bg); line-height:1.6;
}

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

.site-header{
  position:sticky; top:0; z-index:10; background:rgba(255,255,255,.85); backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid #eef0f2;
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:.9rem 0}
.brand{display:flex; align-items:center; gap:.6rem; font-weight:700; color:var(--text); text-decoration:none}
.primary-nav{display:flex; gap:1rem; align-items:center}
.primary-nav a{color:var(--text); text-decoration:none; font-weight:500}
.nav-toggle{display:none; background:none; border:0; font-size:1.5rem; cursor: pointer; transition: transform 0.3s ease}
.nav-toggle:hover{transform: scale(1.1)}
.nav-toggle.active{transform: rotate(90deg)}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.7rem 1rem; border-radius:12px; text-decoration:none; font-weight:600; border:1px solid transparent; box-shadow:var(--shadow)}
.btn--primary{background:var(--brand-gradient); color:white; border-color:var(--brand-500); box-shadow: 0 4px 15px rgba(42, 138, 107, 0.3);}
.btn--primary:hover{background:linear-gradient(135deg, #21785d 0%, #2a8a6b 50%, #1a6b52 100%); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(42, 138, 107, 0.4);}
.btn--ghost{background:#fff; color:var(--text); border-color:#e5e7eb}
.btn--lg{padding:1rem 1.2rem; border-radius:14px}
.btn--sm{padding:.5rem .8rem; border-radius:10px; font-size:.95rem}

.hero{position:relative; overflow:clip; background:linear-gradient(135deg, #ffffff 0%, #f6faf8 50%, #e8f5f0 100%); min-height: 40vh; display: flex; align-items: center}
.hero__top-image{display:flex; justify-content:center; align-items:center; padding:2rem 0 1rem; margin-bottom:1rem}
.hero__top-img{max-width:min(600px, 90%); height:auto; border-radius:16px; box-shadow:var(--shadow)}
.hero__wrap{display:grid; grid-template-columns: 1.1fr .9fr; gap:2rem; align-items:center; padding:2rem 0 2rem}
.hero__copy h1{font-size: clamp(2.1rem, 3.6vw, 3.2rem); line-height:1.12; margin:0 0 1rem; background: var(--brand-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;}
.hero__copy h2{font-size: clamp(1.5rem, 2.5vw, 2rem); line-height:1.12; margin:0 0 1rem; background: var(--brand-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;}
.hero__copy p{color:var(--muted); font-size:1.05rem; max-width:60ch}
.hero__cta{display:flex; gap:1rem; margin:1.4rem 0 1rem}
.hero__stats{display:flex; flex-wrap:wrap; gap:1.2rem; list-style:none; padding:0; margin:1rem 0 0}
.hero__stats li{color:var(--muted)}
.hero__stats strong{color:var(--text)}

.hero__visual{position:relative; animation: fadeInRight 1s ease-out 0.5s both}
.hero__visual img{width:125%; height:auto; display:block; margin:0 auto; border-radius:12px; box-shadow: 0 20px 40px rgba(42, 138, 107, 0.2); transition: transform 0.3s ease}
.hero__visual img:hover{transform: scale(1.02)}

.hero__bg{position:absolute; inset:-10% -30% auto -30%; z-index:-1; opacity:.9; animation: fadeIn 2s ease-out}
.hero__bg img{width:100%; height:auto; filter:grayscale(10%) saturate(105%) contrast(102%); transition: transform 0.3s ease}
.hero__bg img:hover{transform: scale(1.05)}

@keyframes fadeIn{
  from{opacity:0}
  to{opacity:0.9}
}

.section{padding:4rem 0; position: relative}
.section--alt{background: linear-gradient(135deg, #f7f8f9 0%, #ffffff 100%)}
.section__title{font-size:clamp(1.6rem, 2.5vw, 2rem); margin:0 0 .6rem}
.section__sub{color:var(--muted); margin:0 0 2rem}

.grid{display:grid; gap:1.2rem}
.features{grid-template-columns:repeat(4,1fr)}
.card{background:var(--surface); border:1px solid #edf0f2; border-radius:16px; padding:1.2rem; box-shadow:var(--shadow); backdrop-filter: blur(10px); background: rgba(255, 255, 255, 0.9)}
.feature .icon{font-size:1.6rem; background:var(--brand-gradient-light); color:var(--brand-600); width:44px; height:44px; display:grid; place-items:center; border-radius:12px; margin-bottom:.6rem; box-shadow: 0 2px 8px rgba(42, 138, 107, 0.1);}
.feature .icon i{font-size:1.2rem}

.how{grid-template-columns:repeat(3,1fr)}
.how__icon{font-size:1.5rem}
.how__img{width:100%; border-radius:12px; margin-top:.6rem; background:#f4f6f7; border:none; aspect-ratio: 16/10; object-fit:cover}

.gallery{display:grid; gap:1rem; grid-template-columns:repeat(3,1fr)}
.gallery .phone{width:100%; margin:0;}

.screenshots-showcase{display:flex; justify-content:center; align-items:center; margin:2rem 0; animation: fadeInUp 0.8s ease-out}
.screenshots-image{max-width:100%; height:auto; border-radius:12px; box-shadow: 0 20px 40px rgba(20, 29, 38, 0.15); transition: transform 0.3s ease}
.screenshots-image:hover{transform: scale(1.02)}

.pricing{display:grid; justify-items:center}
.price-card{text-align:center; max-width:560px}
.price-card .badge{display:inline-block; background:var(--brand-gradient-light); color:var(--brand-600); padding:.35rem .6rem; border-radius:999px; font-weight:700; margin-bottom:.6rem; box-shadow: 0 2px 8px rgba(42, 138, 107, 0.15);}
.price{font-size:2rem; margin:.2rem 0 1rem}
.price .old{text-decoration:line-through; color:#9aa3ad; margin-right:.4rem}
.price .new{color:var(--brand-600); font-weight:800}
.price .per{font-size:1rem; color:var(--muted); margin-left:.2rem}
.list{list-style:none; padding:0; margin:0 0 1rem; color:var(--muted)}
.list li{padding:.3rem 0}

.signup{position:relative; overflow:clip; background: linear-gradient(135deg, #f0f8f5 0%, #e6f3ee 50%, #f0f8f5 100%)}
.signup__bg{position:absolute; inset:0; z-index:-1; opacity:.15}
.signup__bg img{width:100%; height:100%; object-fit:cover}
.signup__card{max-width:640px; margin-inline:auto; text-align:center; padding:2rem; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); border-radius: 20px; box-shadow: 0 20px 40px rgba(42, 138, 107, 0.1); border: 1px solid rgba(42, 138, 107, 0.1)}
.form{display:flex; flex-direction: column; gap:.15rem; justify-content:center; margin:1rem 0; align-items: center}
.form input{padding:.9rem 1rem; border-radius:12px; border:1px solid #dfe3e7; width:100%; max-width:500px; font-size:1rem}
.form button{white-space:nowrap; width:auto; max-width:200px}
.recaptcha-container{display: flex; justify-content: center; margin: .1rem 0}
.benefits{color:var(--muted)}
.toast{display:none; margin-top:.8rem; background:#e7f8ef; border:1px solid #b9efd2; color:#0e5d3f; padding:.7rem 1rem; border-radius:12px;}

.site-footer{background:#101417; color:#c7cdd4; margin-top:2rem}
.footer{display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:1rem; padding:1.2rem 0}
.brandline .brand{font-weight:800; color:#fff}
.brandline .tagline{display:block; color:#93a1af; font-size:.95rem}
.footer__links a{color:#c7cdd4; text-decoration:none; margin-right:1rem}
.social a{font-size:1.2rem; margin-left:.6rem; text-decoration:none}
.legal{text-align:center; padding:.7rem 0; border-top:1px solid #1f2429; color:#93a1af; font-size:.9rem}

.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0}

/* Animations and Transitions */
*{transition: all 0.3s ease}

.hero__copy h1{animation: fadeInUp 0.8s ease-out}
.hero__copy p{animation: fadeInUp 0.8s ease-out 0.2s both}
.hero__cta{animation: fadeInUp 0.8s ease-out 0.4s both}
.hero__stats{animation: fadeInUp 0.8s ease-out 0.6s both}

@keyframes fadeInUp{
  from{opacity:0; transform:translateY(30px)}
  to{opacity:1; transform:translateY(0)}
}

.card{transition: transform 0.3s ease, box-shadow 0.3s ease}
.card:hover{transform: translateY(-5px); box-shadow: 0 20px 40px rgba(20,29,38,0.15)}

.feature .icon{transition: transform 0.3s ease}
.feature:hover .icon{transform: scale(1.1)}

.btn{transition: all 0.3s ease}
.btn:hover{transform: translateY(-2px)}

/* Responsive Design */
@media (max-width: 1200px){
  .container{width: min(1000px, 95%)}
  .hero__wrap{gap: 1.5rem}
  .features{grid-template-columns: repeat(2, 1fr)}
}

@media (max-width: 900px){
  .hero__wrap{grid-template-columns:1fr; padding:2rem 0 1.5rem; text-align:center}
  .hero__copy h1{font-size: clamp(1.8rem, 4vw, 2.5rem)}
  .hero__copy p{max-width: 100%}
  .hero__cta{flex-direction: column; align-items: center; gap: 0.8rem}
  .hero__cta .btn{width: 100%; max-width: 280px}
  .hero__stats{justify-content: center}
  .features{grid-template-columns:1fr; gap: 1rem}
  .how{grid-template-columns:1fr; gap: 1.5rem}
  .how__step{text-align: center}
  .gallery{grid-template-columns:1fr; gap: 1.5rem}
  .screenshots-showcase{margin: 1.5rem 0}
  .primary-nav{display:none; position:absolute; top:64px; right:4%; background:#fff; padding:1rem; border-radius:12px; box-shadow:var(--shadow); flex-direction:column; align-items:flex-start; z-index: 1000}
  .nav-toggle{display:block}
  .footer{grid-template-columns: 1fr; text-align: center; gap: 1.5rem}
  .footer__links{justify-content: center}
}

@media (max-width: 600px){
  .container{width: 95%}
  .hero{padding: 1rem 0}
  .hero__wrap{padding: 1.5rem 0 1rem}
  .section{padding: 2.5rem 0}
  .card{padding: 1rem}
  .hero__visual img{width: 100%; max-width: 300px; margin: 0 auto}
  .hero__visual{text-align: center}
  .screenshots-image{max-width: 100%}
  .form{flex-direction: column; align-items: center}
  .form input{min-width: 100%; max-width: 300px}
  .form button{width: 100%; max-width: 300px}
  .recaptcha-container{transform: scale(1.0)}
}

@media (max-width: 400px){
  .hero__copy h1{font-size: 1.6rem}
  .section__title{font-size: 1.4rem}
  .btn--lg{padding: 0.8rem 1rem}
  .card{padding: 0.8rem}
}
/* Footer */
.footer {
  background: #2d3748;
  color: white;
  padding: 3rem 0 1rem;
}

.footer-content {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  margin-bottom: 2rem;
}

.footer-brand h3 {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

.footer-brand p {
  color: #a0aec0;
}

.footer-links {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.footer-links a {
  color: #a0aec0;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-links a:hover {
  color: white;
}

.footer-social {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
}

.footer-social a {
  width: 40px;
  height: 40px;
  background: var(--brand-600);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-decoration: none;
  transition: background 0.3s ease;
}

.footer-social a:hover {
  background: var(--brand-500);
}

/* Font Awesome Icon Styling */
.feature-icon {
  width: 60px;
  height: 60px;
  background: var(--brand-gradient-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  box-shadow: 0 4px 15px rgba(42, 138, 107, 0.2);
  transition: transform 0.3s ease;
}

.feature-icon i {
  font-size: 1.5rem;
  color: var(--brand-600);
}

.feature-icon:hover {
  transform: scale(1.1);
}

.footer-social a i {
  font-size: 1.2rem;
}

.footer-bottom {
  text-align: left;
  color: #a0aec0;
}


/* How It Works Section */
.how-it-works {
  padding: 80px 0;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  position: relative;
  overflow: hidden;
  scroll-margin-top: 80px;
}

.how-it-works::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="%23e2e8f0" opacity="0.3"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
  opacity: 0.5;
  z-index: 1;
}

.section-header {
  text-align: center;
  margin-bottom: 4rem;
  position: relative;
  z-index: 2;
}

.section-header h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 1rem;
  animation: fadeInUp 0.8s ease-out;
}

.section-header p {
  font-size: 1.2rem;
  color: var(--muted);
  max-width: 600px;
  margin: 0 auto;
  animation: fadeInUp 0.8s ease-out 0.2s both;
}

.steps-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2.5rem;
  margin-top: 3rem;
  position: relative;
  z-index: 2;
}

.step {
  text-align: center;
  position: relative;
  padding: 2rem 1.5rem;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(42, 138, 107, 0.1);
  box-shadow: 0 10px 30px rgba(42, 138, 107, 0.1);
  transition: all 0.4s ease;
  animation: fadeInUp 0.8s ease-out;
  opacity: 0;
  transform: translateY(30px);
}

.step:nth-child(1) { animation-delay: 0.1s; }
.step:nth-child(2) { animation-delay: 0.3s; }
.step:nth-child(3) { animation-delay: 0.5s; }

.step.animate {
  opacity: 1;
  transform: translateY(0);
}

.step:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(42, 138, 107, 0.2);
  border-color: var(--brand-500);
}

.step-number {
  width: 70px;
  height: 70px;
  background: var(--brand-gradient);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0 auto 1.5rem;
  box-shadow: 0 10px 30px rgba(42, 138, 107, 0.3);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.step-number::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  transition: left 0.6s ease;
}

.step:hover .step-number::before {
  left: 100%;
}

.step:hover .step-number {
  transform: scale(1.1);
  box-shadow: 0 15px 35px rgba(42, 138, 107, 0.4);
}

.step-content h3 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 1rem;
  transition: color 0.3s ease;
}

.step:hover .step-content h3 {
  color: var(--brand-600);
}

.step-content p {
  color: var(--muted);
  line-height: 1.6;
  max-width: 280px;
  margin: 0 auto;
  transition: color 0.3s ease;
}

/* Responsive Design */
@media (max-width: 768px) {
  .how-it-works {
    padding: 60px 0;
  }
  
  .steps-container {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 2rem;
  }
  
  .step {
    padding: 1.5rem 1rem;
  }
  
  .step-number {
    width: 60px;
    height: 60px;
    font-size: 1.5rem;
  }
  
  .section-header h2 {
    font-size: 2rem;
  }
  
  .section-header p {
    font-size: 1.1rem;
  }
}

@media (max-width: 480px) {
  .how-it-works {
    padding: 40px 0;
  }
  
  .step {
    padding: 1rem;
  }
  
  .step-number {
    width: 50px;
    height: 50px;
    font-size: 1.2rem;
  }
  
  .step-content h3 {
    font-size: 1.3rem;
  }
  
  .step-content p {
    font-size: 0.95rem;
  }
}

/* Features Section */
.features {
  padding: 100px 0;
  background: white;
}

.section-header {
  text-align: center;
  margin-bottom: 4rem;
}

.section-header h2 {
  font-size: 2.5rem;
  font-weight: 700;
  color: #2d3748;
  margin-bottom: 1rem;
}

.section-header p {
  font-size: 1.2rem;
  color: #718096;
  max-width: 600px;
  margin: 0 auto;
}

.features-grid {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 600px;
  margin: 0 auto;
}

.feature-card {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.5rem;
  border-radius: 15px;
  background: #f8fafc;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-card:hover {
  transform: translateX(5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.feature-icon {
  width: 60px;
  height: 60px;
  background: var(--brand-gradient);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.feature-icon i {
  font-size: 1.5rem;
  color: white;
}

.feature-content {
  flex: 1;
}

.feature-content h3 {
  font-size: 1.3rem;
  font-weight: 600;
  color: #2d3748;
  margin-bottom: 0.5rem;
}

.feature-content p {
  color: #718096;
  line-height: 1.6;
  margin: 0;
}
