/* BluePoof â€” consolidated stylesheet */
:root {
  --color-primary: #3478f6;
  --color-primary-dark: #235bd2;
  --color-text: #18243b;
  --color-muted: #68778f;
  --color-background: #ffffff;
  --color-surface: #f5f8ff;
  --color-border: #e5ecf7;
  --radius-card: 24px;
  --radius-button: 14px;
  --container-width: 1160px;
  --shadow-card: 0 12px 40px rgba(36, 75, 140, 0.06);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color: var(--color-text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  background-color: #eaf6ff;
  background-image: linear-gradient(to bottom, rgba(255,255,255,.02), rgba(255,255,255,.76)), url("../assets/images/cloud-background.jpg");
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.container { width: min(calc(100% - 48px), var(--container-width)); margin-inline: auto; }
.section { padding: 110px 0; }

/* Navigation overlays the hero and stays transparent. */
.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 100;
  background: transparent;
  border: 0;
}
.navbar {
  width: min(calc(100% - 48px), var(--container-width));
  min-height: 90px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.brand { color: #fff; font-size: 26px; font-weight: 800; letter-spacing: -1.2px; }
.nav-links { display: flex; align-items: center; gap: 36px; margin-left: auto; }
.nav-links a, .footer-links a { font-size: 14px; font-weight: 500; transition: opacity .2s ease, color .2s ease; }
.nav-links a { color: #fff; }
.nav-links a:hover { opacity: .75; }
.footer-links a:hover { color: var(--color-primary); }
.language-toggle {
  padding: 9px 15px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 10px;
  background: rgba(255,255,255,.18);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Hero: responsive, content-led; never clips the phone. */
.hero { position: relative; min-height: 100svh; overflow: visible; background: transparent; }
.hero-content {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(12px, 2.5vh, 28px);
  padding-block: clamp(110px, 14vh, 170px) clamp(32px, 5vh, 70px);
  text-align: center;
}
.hero-text { width: 100%; display: flex; flex-direction: column; align-items: center; }
.eyebrow {
  display: inline-block;
  margin-bottom: clamp(8px, 1.6vh, 18px);
  color: #e6f2ff;
  font-size: clamp(11px, 1.4vh, 15px);
  font-weight: 800;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  text-shadow: 0 1px 10px rgba(0,75,160,.35);
}
.hero h1 {
  max-width: 980px;
  color: #fff;
  font-size: clamp(40px, min(7vw, 8vh), 100px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -.045em;
  text-shadow: 0 3px 22px rgba(23,85,158,.18);
}
.hero h1 span { color: inherit; }
.hero-text > p {
  max-width: 650px;
  margin-top: clamp(12px, 2vh, 26px);
  color: #254e79;
  font-size: clamp(15px, 1.9vh, 21px);
  line-height: 1.7;
}
.primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(46px, 5.5vh, 62px);
  margin-top: clamp(16px, 2.5vh, 32px);
  padding-inline: clamp(24px, 3vw, 38px);
  border-radius: var(--radius-button);
  background: var(--color-primary);
  color: #fff;
  font-size: clamp(13px, 1.5vh, 16px);
  font-weight: 700;
  box-shadow: 0 12px 25px rgba(52,120,246,.22);
  transition: transform .2s ease, background .2s ease;
}
.primary-button:hover { transform: translateY(-3px); background: var(--color-primary-dark); }
.hero-visual { width: 100%; display: flex; justify-content: center; align-items: center; flex: 0 0 auto; }
.phone-placeholder {
  position: relative;
  width: clamp(155px, 22vh, 285px);
  aspect-ratio: 285 / 550;
  height: auto;
  padding: 40px 15px;
  border: clamp(5px, .8vh, 9px) solid #202b40;
  border-radius: clamp(27px, 4vh, 48px);
  background: linear-gradient(165deg, #fff, #e5efff);
  box-shadow: 0 30px 70px rgba(45,91,160,.18), 0 10px 30px rgba(45,91,160,.08);
  text-align: center;
  transform: none;
}
.phone-placeholder::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: 34%;
  height: 5%;
  max-height: 23px;
  border-radius: 20px;
  background: #202b40;
}
.phone-placeholder > span {
  display: block;
  margin-top: 40%;
  color: var(--color-primary);
  font-size: clamp(19px, 2.4vh, 30px);
  font-weight: 800;
  letter-spacing: -1.5px;
}
.phone-placeholder > p { margin-top: 14px; color: var(--color-muted); font-size: clamp(10px, 1.3vh, 13px); }

/* Light translucent surfaces keep the cloud image visible below the hero. */
.about { background: rgba(255,255,255,.80); text-align: center; }
.section h2 { font-size: clamp(32px, 4vw, 46px); line-height: 1.2; letter-spacing: -1.5px; }
.section-description { max-width: 650px; margin: 24px auto 0; color: var(--color-muted); font-size: 16px; }
.features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 58px; }
.feature-card {
  padding: 32px 24px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: rgba(245,248,255,.94);
  box-shadow: var(--shadow-card);
  text-align: left;
  transition: transform .25s ease, box-shadow .25s ease;
}
.feature-card:hover { transform: translateY(-6px); box-shadow: 0 18px 45px rgba(36,75,140,.1); }
.feature-card h3 { margin-bottom: 14px; font-size: 17px; line-height: 1.4; }
.feature-card p { color: var(--color-muted); font-size: 14px; line-height: 1.8; }
.contact { background: rgba(235,245,255,.86); text-align: center; }
.contact p { max-width: 520px; margin: 22px auto; color: var(--color-muted); }
.contact-link { display: inline-block; margin-top: 12px; color: var(--color-primary); font-size: 20px; font-weight: 700; overflow-wrap: anywhere; }
.contact-link:hover { text-decoration: underline; }
.site-footer { padding: 34px 0; border-top: 1px solid var(--color-border); background: rgba(255,255,255,.9); }
.footer-content { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.footer-content > span { color: var(--color-muted); font-size: 13px; }
.footer-links { display: flex; gap: 26px; }

@media (max-width: 960px) { .features-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px) {
  .container, .navbar { width: min(calc(100% - 36px), var(--container-width)); }
  .navbar { min-height: 72px; flex-wrap: wrap; gap: 12px; padding-block: 14px; }
  .brand { font-size: 23px; }
  .nav-links { order: 3; width: 100%; justify-content: space-between; gap: 10px; }
  .nav-links a { font-size: 12px; }
  .hero-content { padding-top: 90px; padding-bottom: 45px; gap: 22px; }
  .hero h1 { font-size: clamp(36px, 9vw, 56px); letter-spacing: -.04em; }
  .hero-text > p { margin-inline: auto; font-size: 15px; }
  .phone-placeholder { width: clamp(165px, 45vw, 245px); }
  .section { padding: 75px 0; }
  .features-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 38px; }
  .feature-card { padding: 26px; }
  .footer-content { flex-direction: column; text-align: center; }
  body { background-attachment: scroll; }
}
@media (max-height: 720px) and (min-width: 681px) {
  .hero-content { padding-top: 96px; padding-bottom: 30px; gap: 12px; }
  .hero h1 { font-size: clamp(36px, 7vh, 64px); }
  .hero-text > p { margin-top: 10px; }
  .primary-button { margin-top: 12px; }
  .phone-placeholder { width: clamp(140px, 23vh, 190px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
/* MOBILE NAVIGATION */

.mobile-menu-toggle {
  display: none;
}

@media (max-width: 680px) {
  .navbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
  }

  .brand {
    margin-right: auto;
  }

  .navbar .nav-links {
    display: none;
  }

  .language-toggle {
    order: 1;
  }

  .mobile-menu-toggle {
    order: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.12);
    cursor: pointer;
  }

  .mobile-menu-toggle span {
    display: block;
    width: 19px;
    height: 2px;
    border-radius: 2px;
    background: white;
  }
}
@media (max-width: 680px) {
  .navbar {
    position: relative;
  }

  .navbar .nav-links.is-open {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 14px;
    background: rgba(27, 92, 174, 0.96);
    box-shadow: 0 12px 30px rgba(15, 50, 100, 0.18);
    z-index: 100;
  }

  .navbar .nav-links.is-open a {
    display: block;
    padding: 13px 14px;
    font-size: 14px;
    color: white;
  }

  .mobile-menu-toggle[aria-expanded="true"] {
    background: rgba(255, 255, 255, 0.25);
  }
}