/* ===== Reset & Base ===== */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #1c1e21;
  line-height: 1.5;
  background: #fff;
  overflow-x: hidden;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
  display: block;
}

/* ===== Navbar ===== */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fcf5eb;
  height: 80px;
  display: flex;
  align-items: center;
}

.navbar-inner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.navbar-left {
  flex-shrink: 0;
}

.navbar-logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.navbar-logo img {
  height: 24px;
  width: auto;
}

.navbar-links {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
  justify-content: center;
}

.nav-link {
  font-size: 14px;
  font-weight: 400;
  color: #1c1e21;
  padding: 8px 16px;
  border-radius: 50px;
  transition: background 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.nav-link:hover {
  background: rgba(0, 0, 0, 0.05);
}

.nav-link svg {
  flex-shrink: 0;
}

.navbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.nav-btn {
  font-size: 14px;
  font-weight: 400;
  padding: 10px 20px;
  border-radius: 50px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
  font-family: inherit;
}

.nav-btn svg {
  flex-shrink: 0;
}

.nav-btn-login {
  color: #1c1e21;
  background: #fff;
  border: 1px solid #1c1e21;
}

.nav-btn-login:hover {
  background: #f0f0f0;
}

.nav-btn-download {
  color: #1c1e21;
  background: #43cd66;
  border: 1px solid #43cd66;
}

.nav-btn-download:hover {
  background: #3bba5b;
  border-color: #3bba5b;
}

/* Language select */
.lang-select-wrapper {
  display: flex;
  align-items: center;
  gap: 4px;
  position: relative;
}

.globe-icon {
  color: #1c1e21;
  flex-shrink: 0;
}

.lang-select {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: none;
  font-size: 13px;
  color: #1c1e21;
  cursor: pointer;
  padding: 4px 0;
  font-family: inherit;
}

.lang-select:focus {
  outline: none;
}

.nav-lang {
  padding: 6px 12px;
  border-radius: 50px;
  border: 1px solid #d1d1d1;
}

/* Hamburger */
.hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  flex-direction: column;
  gap: 5px;
}

.hamburger svg {
  display: block;
  color: #1c1e21;
}

/* Mobile Nav */
.mobile-nav-overlay {
  display: none;
  position: fixed;
  top: 80px;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fcf5eb;
  z-index: 999;
  padding: 24px;
}

.mobile-nav-overlay.active {
  display: block;
}

.mobile-nav-link {
  display: block;
  font-size: 18px;
  color: #1c1e21;
  padding: 16px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.mobile-nav-btns {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}

.mobile-lang {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* ===== Hero Section ===== */
.hero {
  margin-top: 80px;
  background: #fcf5eb;
  padding: 32px;
}

.hero-container {
  max-width: 1136px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  border-radius: 25px;
}

/* Hero photo fills container */
.hero-photo {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Overlay sits on top of the photo */
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 20%;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  padding: 0 24px;
}

/* Text on the left ~33% */
.hero-text {
  flex: 0 0 33%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 32px 0 0;
}

.hero-text h1 {
  font-size: 81px;
  font-weight: 400;
  line-height: 81px;
  color: #fff;
  margin-bottom: 16px;
  letter-spacing: -3.24px;
}

.hero-subtitle {
  font-size: 19px;
  line-height: 25px;
  color: #fff;
  margin-bottom: 19px;
  font-weight: 400;
}

.asterisk {
  font-size: inherit;
}

.hero-buttons {
  display: flex;
  gap: 12px;
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 28px;
  border-radius: 50px;
  font-size: 17px;
  font-weight: 400;
  cursor: pointer;
  transition: background 0.2s;
  font-family: inherit;
  white-space: nowrap;
}

.btn svg {
  flex-shrink: 0;
}

.btn-hero-primary {
  background: #25d366;
  color: #1c1e21;
  border: 1px solid transparent;
}

.btn-hero-primary:hover {
  background: #20c15b;
}

.btn-hero-secondary {
  background: #fff;
  color: #1c1e21;
  border: 1px solid #1c1e21;
}

.btn-hero-secondary:hover {
  background: #f0f0f0;
}

/* Bubbles on the right ~67% */
.hero-bubbles {
  flex: 0 0 67%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 16px 0;
  gap: 0;
}

.hero-bubbles img {
  width: 100%;
  height: auto;
}

.hero-footnote {
  font-size: 13px;
  color: #5e5e5e;
  font-weight: 400;
  text-align: left;
  max-width: 1136px;
  margin: 16px auto 0;
  padding: 0;
}

/* ===== Quote Section ===== */
.quote-section {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 32px;
  gap: 0;
  overflow: hidden;
  max-width: 1200px;
  margin: 0 auto;
}

.hello-img {
  width: 100%;
  height: auto;
  flex: 0 0 calc(50% - 450px);
  min-width: 0;
}

.quote-text {
  font-size: 49px;
  font-weight: 400;
  line-height: 49px;
  color: #1c1e21;
  letter-spacing: -1.47px;
  text-align: center;
  max-width: 900px;
  flex-shrink: 0;
  padding: 0 40px;
}

/* ===== Feature Sections ===== */
.feature {
  padding: 80px 32px;
}

.feature-inner {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: space-between;
}

.feature-inner.reverse {
  flex-direction: row-reverse;
}

.feature-text {
  flex: 0 0 450px;
  max-width: 450px;
}

.feature-text h2 {
  font-size: 61px;
  font-weight: 400;
  line-height: 61px;
  color: #1c1e21;
  margin-bottom: 24px;
  letter-spacing: -1.83px;
}

.feature-desc {
  font-size: 18px;
  line-height: 1.6;
  color: #5e5e5e;
  margin-bottom: 28px;
  font-weight: 400;
}

.feature-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #008069;
  font-size: 18px;
  font-weight: 400;
  transition: gap 0.2s;
}

.feature-link:hover {
  gap: 12px;
}

.feature-link svg {
  flex-shrink: 0;
}

.feature-media {
  flex: 0 1 540px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.feature-img {
  width: 100%;
  max-width: 540px;
  height: auto;
  border-radius: 0;
}

.feature-media-double {
  flex-direction: column;
  gap: 0;
  position: relative;
}

.feature-media-double .feature-img {
  max-width: 480px;
}

/* Status section */
.feature-media-status {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.status-main {
  max-width: 360px;
  border-radius: 0;
}

.status-avatar {
  width: 202px;
  height: auto;
  border-radius: 0 !important;
  object-fit: cover;
  margin-top: -40px;
  position: relative;
  z-index: 2;
}

/* ===== Footer ===== */
/* Mobile footer top - hidden on desktop */
.footer-mobile-top {
  display: none;
}

.footer {
  background: #111b21;
  color: #fff;
  padding: 60px 32px 0;
}

.footer-inner {
  max-width: 1136px;
  margin: 0 auto;
}

.footer-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  gap: 60px;
}

.footer-logo-section {
  flex-shrink: 0;
}

.footer-logo {
  height: 28px;
  width: auto;
  margin-bottom: 24px;
}

.btn-footer-download {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 24px;
  border-radius: 50px;
  background: #25d366;
  color: #1c1e21;
  font-size: 14px;
  font-weight: 400;
  transition: background 0.2s;
  white-space: nowrap;
  font-family: inherit;
}

.btn-footer-download:hover {
  background: #20c15b;
}

.footer-columns {
  display: flex;
  gap: 60px;
  flex-wrap: wrap;
}

.footer-col {
  min-width: 140px;
}

.footer-col h4 {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 16px;
  color: #fff;
}

.footer-col a {
  display: block;
  font-size: 14px;
  color: #8696a0;
  padding: 5px 0;
  transition: color 0.2s;
}

.footer-col a:hover {
  color: #fff;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 0;
  flex-wrap: wrap;
  gap: 16px;
}

.footer-bottom-left {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.footer-copyright {
  font-size: 13px;
  color: #8696a0;
}

.footer-bottom-link {
  font-size: 13px;
  color: #8696a0;
  transition: color 0.2s;
}

.footer-bottom-link:hover {
  color: #fff;
}

.footer-bottom-right {
  display: flex;
  align-items: center;
  gap: 20px;
}

.footer-social {
  display: flex;
  align-items: center;
  gap: 16px;
}

.social-icon {
  color: #8696a0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s;
}

.social-icon:hover {
  color: #fff;
}

.footer-lang {
  padding: 6px 12px;
  border-radius: 50px;
  border: 1px solid #3b4a54;
}

.footer-lang .globe-icon {
  color: #8696a0;
}

.footer-lang .lang-select {
  color: #8696a0;
  font-size: 13px;
}

/* ===== Animations ===== */

/* Easing: WhatsApp "cubicTwo" */
:root {
  --wa-ease: cubic-bezier(0.17, 0.17, 0, 1);
}

/* Hero load animation: staggered fade-in from right/left */
.anim-hero-load {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 0.33s var(--wa-ease), transform 0.33s var(--wa-ease);
}

.anim-hero-load.anim-visible {
  opacity: 1;
  transform: translate(0) scale(1);
}

/* Staggered delays for hero elements */
.hero-text h1.anim-hero-load { transition-delay: 0.4s; }
.hero-subtitle.anim-hero-load { transition-delay: 0.8s; }
.hero-buttons.anim-hero-load { transition-delay: 1.3s; }

/* Bubble staggered delays */
.hero-bubbles img:nth-child(1).anim-hero-load { transition-delay: 2.4s; }
.hero-bubbles img:nth-child(2).anim-hero-load { transition-delay: 2.7s; }
.hero-bubbles img:nth-child(3).anim-hero-load { transition-delay: 3.0s; }
.hero-bubbles img:nth-child(4).anim-hero-load { transition-delay: 3.2s; }
.hero-bubbles img:nth-child(5).anim-hero-load { transition-delay: 3.5s; }
.hero-bubbles img:nth-child(6).anim-hero-load { transition-delay: 3.7s; }
.hero-bubbles img:nth-child(7).anim-hero-load { transition-delay: 4.0s; }

/* Scroll-triggered fade-in: slide up 120px */
.anim-scroll {
  opacity: 0;
  transform: translateY(120px);
  transition: opacity 1s var(--wa-ease), transform 1s var(--wa-ease);
}

.anim-scroll.anim-visible {
  opacity: 1;
  transform: translate(0);
}

/* Prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  .anim-hero-load,
  .anim-scroll {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Mobile download icon in navbar - hidden on desktop */
.nav-mobile-download {
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 37px;
  height: 38.9px;
  padding: 0 6px;
  color: #1c1e21;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

/* ===== Responsive ===== */
@media (max-width: 1024px) {
  .hero-text h1 {
    font-size: 56px;
    line-height: 56px;
  }

  .quote-text {
    font-size: 36px;
    line-height: 40px;
  }

  .feature-text h2 {
    font-size: 44px;
    line-height: 48px;
  }

  .feature-inner {
    gap: 24px;
  }

  .feature-text {
    flex: 1;
    min-width: 0;
  }

  .feature-media {
    flex: 1;
    min-width: 0;
  }

  .footer-columns {
    gap: 32px;
  }
}

@media (max-width: 768px) {
  /* --- Navbar mobile --- */
  .navbar {
    height: auto;
  }

  .navbar-inner {
    height: 64px;
    justify-content: space-between;
    padding: 0 24px;
  }

  .navbar-left {
    order: -1;
    display: none;
  }

  .nav-lang {
    display: none;
  }

  .navbar-links {
    display: none;
  }

  .navbar-right {
    display: none;
  }

  .hamburger {
    display: flex;
    order: -1;
    padding: 1px 6px;
    width: 37px;
    height: 38.9px;
    justify-content: center;
    align-items: center;
  }

  .navbar-logo {
    order: 0;
    flex: 1;
    justify-content: center;
  }

  .nav-mobile-download {
    display: flex;
    order: 1;
    min-width: 37px;
    height: 38.9px;
  }

  /* --- Hero mobile --- */
  .hero {
    padding: 8px 16px 0;
    margin-top: 64px;
  }

  .hero-container {
    border-radius: 15px;
    height: 516px;
  }

  .hero-photo {
    height: 100%;
    object-fit: cover;
  }

  .hero-overlay {
    flex-direction: column;
    bottom: 0;
    padding: 200px 24px 0;
    justify-content: flex-start;
    box-sizing: border-box;
  }

  .hero-text {
    flex: none;
    display: block;
    padding: 0 16px 0 0;
  }

  .hero-text h1 {
    font-size: 45px;
    line-height: 45px;
    letter-spacing: -1.35px;
    margin-bottom: 0;
  }

  .hero-subtitle {
    font-size: 17px;
    line-height: 22px;
    margin-top: 17px;
    margin-bottom: 0;
  }

  /* Only show download button on mobile, hide login */
  .hero-buttons .btn-hero-secondary {
    display: none;
  }

  .hero-buttons {
    flex-direction: column;
    margin-top: 49px;
  }

  .btn-hero-primary {
    justify-content: center;
    line-height: 18px;
  }

  .hero-bubbles {
    display: none;
  }

  .hero-footnote {
    padding: 0;
    margin: 13px 0 0;
    text-align: center;
  }

  /* --- Quote section mobile --- */
  .quote-section {
    padding: 60px 24px 3px;
    flex-direction: column;
    gap: 34px;
  }

  .hello-img {
    flex: none;
    width: 268px;
    max-width: 268px;
  }

  .hello-img.hello-left {
    min-height: 151px;
    object-fit: cover;
    object-position: center;
  }

  .hello-img.hello-right {
    min-height: 164px;
    object-fit: cover;
    object-position: center;
  }

  .quote-text {
    font-size: 25px;
    line-height: 25px;
    letter-spacing: -1px;
    padding: 0;
  }

  /* --- Feature sections mobile --- */
  .feature {
    padding: 56px 24px;
    background: #fcf5eb;
  }

  /* Per-section bottom padding to match real site section heights */
  .feature:nth-of-type(3) { padding-bottom: 28px; }   /* calls: 45-17 */
  .feature:nth-of-type(4) { padding-bottom: 52px; }   /* encrypt: 69-17 */
  .feature:nth-of-type(5) { padding-bottom: 39px; }   /* groups: 56-17 */
  .feature:nth-of-type(6) { padding-bottom: 60px; }   /* status: 77-17 */
  .feature:nth-of-type(7) { padding-bottom: 392px; }  /* business: 409-17 */

  .feature-inner {
    flex-direction: column;
    gap: 58px;
    text-align: left;
  }

  .feature-inner.reverse {
    flex-direction: column-reverse;
    gap: 58px;
    text-align: left;
  }

  .feature-text {
    flex: none;
    max-width: none;
  }

  .feature-text h2 {
    font-size: 33px;
    line-height: 33px;
    letter-spacing: -1px;
    margin-bottom: 0;
  }

  .feature-desc {
    font-size: 17px;
    line-height: 22px;
    margin-top: 17px;
    margin-bottom: 25px;
    padding-bottom: 0;
    color: #1c1e21;
  }

  .feature-link {
    font-size: 17px;
    color: #1c1e21;
  }

  /* Encrypt section (Feature 2) has dark bg + white text on mobile */
  .feature:nth-of-type(4) {
    background: #111b21;
  }

  .feature:nth-of-type(4) .feature-text h2,
  .feature:nth-of-type(4) .feature-desc,
  .feature:nth-of-type(4) .feature-link {
    color: #fff;
  }

  .feature:nth-of-type(4) .feature-link svg {
    color: #fff;
  }

  .feature-img {
    max-width: 100%;
  }

  /* Group images overlap on mobile */
  .feature-media-double .feature-img:first-child {
    width: 122%;
    max-width: none;
    margin-left: -12px;
    order: 2;
    margin-top: -394px;
    position: relative;
    z-index: 2;
  }

  .feature-media-double .feature-img:last-child {
    order: 1;
  }

  /* Status section overlap on mobile */
  .status-main {
    max-width: 320px;
  }

  .status-avatar {
    width: 202px;
    height: auto;
    border-radius: 0 !important;
    margin-top: -267px;
    z-index: -1;
  }

  /* --- Footer mobile --- */
  .footer {
    padding: 0;
  }

  .footer-inner {
    max-width: none;
  }

  /* Mobile footer top: download + social bar */
  .footer-mobile-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
  }

  .footer-mobile-top .btn-footer-download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 70px;
    font-size: 17px;
    line-height: 16px;
    margin: 32px 0;
    border: 1px solid transparent;
  }

  .footer-mobile-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 16px 0;
    height: 82px;
    width: 100%;
    border-bottom: 1px solid rgb(51, 70, 63);
    margin-bottom: 32px;
  }

  .footer-mobile-social .social-icon {
    width: 48px;
    height: 48px;
    background: #1c1e21;
    border: 1px solid #fff;
    border-radius: 50%;
    color: #fff;
  }

  /* Footer top: logo + columns */
  .footer-top {
    display: block;
    padding: 0 0 0 24px;
    border-bottom: none;
  }

  .footer-logo-section {
    display: block;
    padding: 0;
  }

  .footer-logo {
    height: 62px;
    width: 125px;
    margin-bottom: 1px;
  }

  .footer-logo-section .btn-footer-download {
    display: none;
  }

  .footer-columns {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0;
    width: 100%;
    padding: 0;
  }

  .footer-col {
    width: 50%;
    padding: 0;
    min-width: 0;
    margin-bottom: 32px;
    box-sizing: border-box;
  }

  .footer-col h4 {
    font-size: 13px;
    margin-bottom: 0;
    padding-bottom: 16px;
    line-height: 16.9px;
  }

  .footer-col a {
    font-size: 17px;
    padding: 0;
    margin-bottom: 8px;
    display: block;
    line-height: 20.4px;
  }

  /* Footer bottom bar */
  .footer-bottom {
    display: block;
    padding: 16px 24px;
  }

  .footer-bottom-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 0;
  }

  .footer-copyright {
    display: block;
    margin: 0 56px 0 0;
    color: #fff;
    font-size: 13px;
  }

  .footer-bottom-link {
    display: block;
    margin-right: 0;
    font-size: 13px;
  }

  .footer-link-terms {
    color: rgb(3, 115, 233);
    display: block;
  }

  .footer-link-sitemap {
    font-size: 12px;
    color: #fff;
    display: inline;
  }

  .footer-bottom-right .footer-social {
    display: none;
  }

  .footer-bottom-right {
    display: block;
    width: 100%;
    margin-top: 16px;
  }

  .footer-lang {
    border: none;
    padding: 0;
    border-radius: 0;
  }

  .footer-lang .globe-icon {
    display: none;
  }

  .footer-lang .lang-select {
    font-size: 17px;
    padding: 16px 28px;
    width: auto;
    border-radius: 50px;
    color: #fff;
    font-weight: 700;
    border: 2px solid #fff;
    background: #111b21;
    display: inline-block;
  }

  /* Mobile nav overlay adjusts for navbar height */
  .mobile-nav-overlay {
    top: 64px;
  }
}
