:root{
  --teal:#5BC0BE; --aqua:#A7E2E3; --text:#273640; --muted:#6B8594; --bg:#F7FBFC; --white:#fff;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--text);background:var(--bg);line-height:1.65}

h1,h2,h3,h4{margin:.2rem 0 .4rem;line-height:1.25}
h1{font-size:1.6rem} h2{font-size:2.4rem} h3{font-size:1.4rem} h4{font-size:1.05rem}

.header{
  position:sticky;top:0;z-index:10;background:var(--white);
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;border-bottom:1px solid #e9eff3
}
.brand{display:flex;align-items:center;gap:16px}
.brand-text .tag{margin:0;color:var(--teal);font-weight:600}
.nav a{margin-left:16px;text-decoration:none;color:var(--text);font-weight:700}
.nav a:hover{color:var(--teal)}

.hero{position:relative;overflow:hidden;background:linear-gradient(165deg,#eefbfb,#ffffff);padding:90px 18px 78px}
.hero-content{position:relative;z-index:1;max-width:900px;margin:0 auto;text-align:center}
.hero .cta{margin-top:12px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.btn{display:inline-block;padding:12px 18px;border-radius:999px;border:2px solid var(--teal);text-decoration:none;font-weight:700}
.btn.primary{background:var(--teal);color:#0f2830;border-color:var(--teal)}
.btn.ghost{color:var(--teal);background:transparent}

/* Stronger, layered diagonal waves */
.hero-wave{
  position:absolute; inset:-12% -4% 0 -4%;
  pointer-events:none; z-index:0;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'><path fill='%232f6fa4' fill-opacity='.15' d='M0,224L48,224C96,224,192,224,288,197.3C384,171,480,117,576,112C672,107,768,149,864,170.7C960,192,1056,192,1152,181.3C1248,171,1344,149,1392,138.7L1440,128L1440,0L0,0Z'/></svg>") no-repeat center/120% 100%,
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'><path fill='%233e8cc7' fill-opacity='.20' d='M0,192L48,186.7C96,181,192,171,288,176C384,181,480,203,576,208C672,213,768,203,864,192C960,181,1056,171,1152,165.3C1248,160,1344,160,1392,160L1440,160L1440,0L0,0Z'/></svg>") no-repeat center/120% 100%,
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'><path fill='%235BC0BE' fill-opacity='.30' d='M0,256L48,245.3C96,235,192,213,288,213.3C384,213,480,235,576,240C672,245,768,235,864,224C960,213,1056,203,1152,192C1248,181,1344,171,1392,165.3L1440,160L1440,0L0,0Z'/></svg>") no-repeat center/120% 100%;
  transform:rotate(-2.5deg);
}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;z-index:0;
  background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(247,251,252,1) 100%);
}

.section{max-width:980px;margin:0 auto;padding:42px 18px}
.cards{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.cards li,.card{background:var(--white);border:1px solid #e9eff3;border-radius:16px;padding:16px}

blockquote.card{margin:0}
blockquote.card p{margin:0 0 8px}
blockquote.card footer{color:var(--muted);font-style:italic}

.contact{list-style:none;margin:0;padding:0}
.contact li{margin:6px 0}

.footer{padding:22px 18px 44px;text-align:center;color:var(--muted)}
.to-top{display:inline-block;margin-bottom:8px;color:var(--teal);text-decoration:none}
.to-top:hover{text-decoration:underline}

@media(min-width:760px){h1{font-size:1.8rem}h2{font-size:2.6rem}}


:root { --header-h: 96px; }

/* Prevent anchor-jump overlap with sticky header */
.section, .hero { scroll-margin-top: var(--header-h); }

/* On small screens the header can wrap; increase offset */
@media (max-width: 640px) {
  :root { --header-h: 120px; }
}

/* Optional: subtle shadow so header separation is clear while scrolling */
.header { box-shadow: 0 2px 8px rgba(0,0,0,0.04); }


/* Mobile menu */
.menu-toggle{
  display:none;
  border:none;
  background:transparent;
  font-size:28px;
  line-height:1;
  padding:8px 10px;
  margin-left:auto;
  cursor:pointer;
}
.menu-toggle:focus{outline:2px solid var(--teal); outline-offset:2px; border-radius:8px;}

/* Desktop nav */
.nav{display:flex; align-items:center;}
@media (max-width: 860px){
  .menu-toggle{display:block;}
  .nav{
    position:absolute;
    top:100%;
    right:0;
    left:0;
    display:none;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    background:var(--white);
    border-bottom:1px solid #e9eff3;
    box-shadow:0 6px 16px rgba(0,0,0,.06);
    padding:8px 12px 12px;
  }
  .nav.open{display:flex;}
  .nav a{
    display:block;
    margin:6px 8px;
    padding:8px 6px;
    font-weight:700;
  }
  .brand img.logo{width:52px; height:52px;}
  .brand-text h1{font-size:1.4rem;}
  .brand-text .tag{font-size:.95rem;}
}
