:root {

  --bg: #f4f1f6;

  --surface: #ffffff;

  --text: #202020;

  --muted: #66616d;

  --line: #ddd4e2;

  --primary: #5f7cf6;

  --primary-dark: #4665e6;

  --shadow: 0 10px 30px rgba(33, 25, 45, 0.08);

  --radius: 18px;

}



* {

  box-sizing: border-box;

}



html {

  scroll-behavior: smooth;

}



body {

  margin: 0;

  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI",

    Tahoma, Arial, sans-serif;

  background: var(--bg);

  color: var(--text);

  line-height: 1.8;

}



a {

  color: inherit;

  text-decoration: none;

}



.container {

  width: min(1100px, calc(100% - 32px));

  margin: 0 auto;

}



.topbar {

  background: rgba(255, 255, 255, 0.92);

  backdrop-filter: blur(12px);

  border-bottom: 1px solid var(--line);

  position: sticky;

  top: 0;

  z-index: 10;

}



.nav {

  min-height: 72px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 18px;

}



.brand {

  font-size: 1.5rem;

  font-weight: 800;

  letter-spacing: -0.02em;

}



.menu {

  display: flex;

  align-items: center;

  gap: 18px;

  flex-wrap: wrap;

}



.menu a {

  color: var(--muted);

  font-weight: 600;

}



.menu a:hover {

  color: var(--text);

}



.hero {

  padding: 72px 0 40px;

}



.hero-box {

  background: linear-gradient(135deg, #ffffff, #f6f3fb);

  border: 1px solid var(--line);

  border-radius: 28px;

  box-shadow: var(--shadow);

  padding: 48px 28px;

  text-align: center;

}



.hero-box h1 {

  margin: 0 0 12px;

  font-size: clamp(2rem, 4vw, 3.4rem);

  line-height: 1.2;

}



.hero-box p {

  max-width: 760px;

  margin: 0 auto;

  color: var(--muted);

  font-size: 1.06rem;

}



.hero-actions {

  margin-top: 24px;

  display: flex;

  gap: 12px;

  justify-content: center;

  flex-wrap: wrap;

}



.btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-height: 48px;

  padding: 0 20px;

  border-radius: 14px;

  font-weight: 700;

  transition: 0.2s ease;

}



.btn.primary {

  background: var(--primary);

  color: #fff;

}



.btn.primary:hover {

  background: var(--primary-dark);

}



.btn.secondary {

  background: #fff;

  border: 1px solid var(--line);

}



.btn.secondary:hover {

  background: #faf8fc;

}



.features {

  padding: 24px 0 40px;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 18px;

}



.card {

  background: var(--surface);

  border: 1px solid var(--line);

  border-radius: var(--radius);

  box-shadow: var(--shadow);

  padding: 22px;

}



.card h2 {

  margin-top: 0;

  font-size: 1.2rem;

}



.card p {

  margin-bottom: 0;

  color: var(--muted);

}



.contact-strip {

  padding: 0 0 52px;

}



.contact-strip .container {

  background: var(--surface);

  border: 1px solid var(--line);

  border-radius: var(--radius);

  box-shadow: var(--shadow);

  padding: 24px;

  text-align: center;

}



.contact-strip h3 {

  margin: 0 0 8px;

}



.contact-strip p {

  margin: 0;

  color: var(--muted);

}



.contact-strip a,

.page-content a,

.footer a {

  color: var(--primary-dark);

  font-weight: 700;

}



.footer {

  border-top: 1px solid var(--line);

  padding: 18px 0 28px;

}



.footer-links {

  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 18px;

  flex-wrap: wrap;

  color: var(--muted);

}



.footer-links > div {

  display: flex;

  gap: 14px;

  flex-wrap: wrap;

}



.page-header {

  padding: 48px 0 16px;

}



.page-header h1 {

  margin: 0;

  font-size: clamp(1.8rem, 3.2vw, 2.7rem);

}



.page-content {

  padding: 8px 0 56px;

}



.page-box {

  background: var(--surface);

  border: 1px solid var(--line);

  border-radius: 24px;

  box-shadow: var(--shadow);

  padding: 28px;

}



.page-box h2 {

  margin-top: 0;

}



.page-box p,

.page-box li {

  color: var(--muted);

}



.page-box ul {

  padding-right: 18px;

  margin: 10px 0 0;

}



.mail-box {

  margin-top: 18px;

  padding: 18px;

  border: 1px solid var(--line);

  border-radius: 16px;

  background: #faf8fc;

  text-align: center;

}



.mail-box strong {

  display: block;

  margin-bottom: 8px;

  color: var(--text);

}



@media (max-width: 850px) {

  .features {

    grid-template-columns: 1fr;

  }



  .nav {

    padding: 12px 0;

    align-items: flex-start;

    flex-direction: column;

  }



  .menu {

    gap: 12px;

  }



  .hero-box {

    padding: 36px 20px;

  }

}
