:root{
  --text:#16333a;
  --muted:#5f7379;
  --line:#d7eef2;
  --brand:#11daf5;
  --brand-dark:#0cb7cf;
  --brand-soft:#e9fcff;
  --accent:#087f90;
  --bg:#ffffff;
  --bg-soft:#f5fdff;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.65;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4,p{margin:0 0 1rem}
h1{font-size:clamp(2.25rem, 5vw, 3.4rem);line-height:1.15}
h2{font-size:clamp(1.75rem, 4vw, 2.4rem);line-height:1.2}
h3{font-size:1.2rem}
.container{width:min(calc(100% - 2rem), var(--max));margin:0 auto}
.section{padding:4.5rem 0}
.section.compact{padding:3.25rem 0}
.center{text-align:center}
.muted{color:var(--muted)}
.eyebrow{font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:#888; font-weight:700}
.topbar{
  border-bottom:1px solid var(--line);
  background:#fff;
  font-size:.95rem;
}
.topbar .container{
  display:flex; justify-content:flex-end; gap:1.25rem; padding:.85rem 0;
}
.topbar a{color:#4b4b4b}
.site-header{
  background:#fff;
  position:sticky; top:0; z-index:30;
  border-bottom:1px solid var(--line);
}
.nav{
  min-height:86px;
  display:grid;
  grid-template-columns:180px 1fr 210px;
  align-items:center;
  gap:1rem;
}
.logo{
  display:flex; align-items:center; gap:.65rem; font-weight:700;
}
.logo-mark{
  width:34px; height:34px; border-radius:50%;
  display:grid; place-items:center;
  border:2px solid var(--brand);
  font-size:1rem;
}
.logo-text{font-size:1.2rem}
.nav-links{
  display:flex; justify-content:center; gap:2rem;
}
.nav-links a{
  color:#222;
  font-size:1rem;
}
.nav-links a:hover,.nav-links a.active{color:var(--accent)}
.nav-contact{
  justify-self:end;
  color:#333;
  font-size:.98rem;
}
.menu-toggle{
  display:none;
  width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:10px;
}
.hero{
  padding:5rem 0 4rem;
}
.hero .container{max-width:980px}
.hero p{
  font-size:1.08rem;
  color:#595959;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
.hero-cta{
  margin-top:1.5rem;
  display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:46px; padding:.8rem 1.2rem; border-radius:6px;
  border:1px solid #d9d9d9; background:#fff; color:#222; font-weight:600;
}
.btn.primary{background:var(--brand);color:#05333a;border-color:var(--brand); box-shadow:0 8px 20px rgba(17,218,245,.22)}
.divider-stars{
  display:flex; justify-content:center; gap:1rem; color:var(--brand); font-size:1.1rem;
  margin-top:2.2rem;
}
.feature-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:center;
  padding:1rem 0;
}
.feature-row.reverse .feature-copy{order:2}
.feature-row.reverse .feature-visual{order:1}
.feature-copy h3{
  font-size:1.55rem;
  margin:.35rem 0 1rem;
}
.feature-copy p{color:#5b5b5b}
.visual-card{
  background:linear-gradient(180deg, #ffffff 0%, var(--brand-soft) 100%);
  border:1px solid var(--line);
  border-radius:22px;
  padding:1.2rem;
  box-shadow:0 10px 30px rgba(0,0,0,.04);
}
.phone{
  width:min(100%, 365px);
  margin:0 auto;
  border-radius:30px;
  padding:12px;
  background:linear-gradient(180deg, #12cfe7 0%, #0aa8c0 100%);
}
.phone-screen{
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(180deg,#effdff 0%,#ffffff 100%);
  min-height:640px;
  padding:14px;
}
.app-head{
  display:flex; justify-content:space-between; align-items:center; margin-bottom:14px;
}
.app-title{font-weight:700}
.dotrow{display:flex; gap:4px}
.dotrow span{width:8px;height:8px;border-radius:50%;background:#bbb;display:block}
.post-card{
  background:#fff;
  border:1px solid #ececec;
  border-radius:18px;
  padding:1rem;
  margin-bottom:1rem;
}
.post-meta{
  display:flex; gap:.75rem; align-items:center; margin-bottom:.65rem;
}
.avatar{
  width:34px; height:34px; border-radius:50%;
  background:linear-gradient(135deg,#11daf5,#8aeffc);
}
.chip{
  display:inline-block;
  font-size:.82rem;
  color:#555;
  background:#ecfbfe;
  border-radius:999px;
  padding:.34rem .58rem;
  margin-top:.55rem;
}
.post-actions{
  display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin-top:.75rem;
}
.post-actions div{
  background:#f6fdff; border:1px solid var(--line); border-radius:12px; text-align:center; padding:.55rem .45rem; font-size:.9rem;
}
.contact-band{
  background:linear-gradient(180deg, #fbfeff 0%, var(--brand-soft) 100%);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.contact-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:2rem;
}
.card{
  background:#fff; border:1px solid var(--line); border-radius:12px; padding:1.4rem;
}
.contact-line{font-size:1.35rem; margin-top:.5rem}
label{font-weight:600; display:block}
input, textarea{
  width:100%; margin-top:.45rem; margin-bottom:1rem;
  border:1px solid #ddd; border-radius:8px; padding:.9rem;
  font:inherit;
}
textarea{min-height:150px;resize:vertical}
.status{
  display:none; margin-top:.75rem; padding:.8rem 1rem; border-radius:8px; background:var(--brand-soft); color:var(--accent); border:1px solid var(--line);
}
.footer{
  padding:1.8rem 0 2.4rem;
  background:#fff;
}
.footer-nav{
  display:flex; flex-wrap:wrap; justify-content:center; gap:1.35rem; margin-bottom:1rem;
}
.footer p{color:#666; text-align:center}
.legal-wrap{
  display:grid; grid-template-columns:260px 1fr; gap:1.5rem;
}
.legal-nav{
  position:sticky; top:110px;
  align-self:start;
}
.legal-nav a{
  display:block; padding:.7rem .85rem; border:1px solid var(--line); border-radius:8px; margin-bottom:.6rem;
  background:#fff; color:#444;
}
.legal-content{
  background:#fff; border:1px solid var(--line); border-radius:12px; padding:1.5rem;
}
.legal-content h2{font-size:1.35rem; margin-top:1.6rem}
.legal-content h3{font-size:1.05rem; margin-top:1rem}
.reveal{opacity:0; transform:translateY(16px); transition:all .45s ease}
.reveal.visible{opacity:1; transform:none}

@media (max-width: 900px){
  .nav{grid-template-columns:1fr auto auto}
  .nav-links{
    display:none;
    grid-column:1/-1;
    padding-bottom:1rem;
    flex-direction:column;
    align-items:flex-start;
    gap:.8rem;
  }
  .nav.open .nav-links{display:flex}
  .menu-toggle{display:block}
  .nav-contact{display:none}
  .feature-row,.contact-grid,.legal-wrap{grid-template-columns:1fr}
  .legal-nav{position:static}
}

.hero{
  background:
    radial-gradient(circle at top center, rgba(17,218,245,.12), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #fbfeff 100%);
}
.logo-image{
  width:34px;
  height:34px;
  object-fit:contain;
  border-radius:4px;
}
.site-header{
  box-shadow:0 1px 0 rgba(17,218,245,.06);
}
.topbar{
  background:var(--brand-soft);
}
.topbar a:hover,
.nav-contact{
  color:var(--accent);
}
.card,
.legal-content,
.legal-nav a{
  border-color:var(--line);
}
.feature-copy h3{
  color:var(--accent);
}
.contact-line{
  color:var(--accent);
}
.btn:hover{
  transform:translateY(-1px);
}
.btn:not(.primary):hover{
  border-color:var(--brand);
  color:var(--accent);
  background:var(--brand-soft);
}
