@font-face {
  font-family: Inter;
  src: url('assets/fonts/Inter-variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: Manrope;
  src: url('assets/fonts/Manrope-variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

html { scroll-behavior: smooth; }
.mislab { min-width: 320px; }
.mislab h1 { font-size: clamp(2.35rem, 5.35vw, 3.4rem); line-height: 1.04; letter-spacing: -.025em; }
.skip { position: absolute; left: -9999px; top: 8px; z-index: 20; background: white; padding: 12px; }
.skip:focus { left: 12px; }
.site-header { background: var(--ms-surface); border-bottom: 1px solid var(--ms-line); }
.header-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.header-inner nav { display: flex; flex-wrap: wrap; gap: clamp(12px, 2vw, 32px); }
.header-inner nav a, .header-contact { text-decoration: none; font-size: .88rem; font-weight: 600; white-space: nowrap; }
.header-inner nav a:hover, .header-inner nav a[aria-current] { color: var(--ms-blue); }
.header-contact { color: var(--ms-blue) !important; }
.hero { min-height: 620px; padding-block: clamp(72px, 8vw, 112px); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, 1fr); align-items: center; gap: 40px; }
.hero h1 { max-width: 640px; margin: 24px 0 28px; }
.hero h1 span { color: var(--ms-blue); }
.hero .ms-lead { max-width: 630px; margin-bottom: 36px; }
.hero-art { width: 100%; max-width: 560px; justify-self: center; }
.hero-art img { display: block; width: 100%; height: auto; mix-blend-mode: darken; }
.band { background: var(--ms-blue-deep); color: white; padding-block: clamp(70px, 8vw, 120px); }
.band .ms-kicker { color: #bdd0ff; }
.band h2 { max-width: 760px; margin: 22px 0 56px; }
.services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; }
.services article { border-top: 1px solid #6e7eb5; padding-top: 22px; }
.services article > span { color: var(--ms-cyan); font-size: .75rem; text-transform: uppercase; font-weight: 700; letter-spacing: .1em; }
.services h3 { font-size: clamp(1.5rem, 2vw, 2rem); margin: 24px 0 16px; }
.services p { color: #d2dbf6; }
.feature { display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: clamp(40px, 7vw, 120px); padding-block: clamp(80px, 9vw, 140px); }
.feature h2 { margin: 20px 0 22px; }
.feature .ms-lead { margin-bottom: 36px; }
.text-link { color: var(--ms-blue) !important; font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 5px; }
.document-visual { min-height: 390px; border-radius: 32px; background: #e6ecff; padding: 70px 10%; transform: rotate(3deg); box-shadow: 24px 24px 0 #d9e1ff; }
.doc-line { height: 22px; border-radius: 20px; background: white; margin-bottom: 22px; }
.doc-line.short { width: 65%; }
.doc-result { display: inline-block; background: var(--ms-blue); color: white; border-radius: 16px; padding: 20px 24px; margin-top: 38px; font-weight: 700; }
.products { padding-block: 20px 100px; }
.products h2 { margin: 18px 0 32px; }
.product-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.product-list article { background: var(--ms-surface); border: 1px solid var(--ms-line); border-radius: 24px; padding: 32px; }
.product-list h3 { font-size: 1.55rem; }
.product-list p { color: var(--ms-muted); }
.news-section { padding-block: 80px 120px; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.section-head h2 { margin: 14px 0 0; }
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.news-card { min-height: 300px; display: flex; flex-direction: column; border: 1px solid var(--ms-line); border-radius: 24px; padding: 28px; background: var(--ms-surface); }
.news-card time { color: var(--ms-muted); font-size: .75rem; }
.news-card h3 { font-size: 1.45rem; line-height: 1.18; margin: 20px 0 16px; }
.news-card h3 a { text-decoration: none; }
.news-card h3 a:hover { color: var(--ms-blue); }
.news-card p { font-size: .9rem; color: var(--ms-muted); }
.card-arrow { color: var(--ms-blue) !important; font-size: 1.5rem; margin-top: auto; align-self: end; text-decoration: none; }
.contact-block { background: var(--ms-mint); padding-block: 90px; }
.contact-block h2 { max-width: 800px; margin: 18px 0 32px; }
.footer { background: var(--ms-blue-deep); color: white; padding-block: 58px; }
.footer-inner { display: flex; justify-content: space-between; gap: 40px; }
.footer-top { display: inline-flex; align-items: center; align-self: flex-start; justify-content: center; gap: 10px; min-height: 44px; padding: 10px 18px; border: 1px solid #6e7eb5; border-radius: 999px; font-size: .9rem; font-weight: 600; text-decoration: none; transition: background-color 180ms ease, border-color 180ms ease; }
.footer-top:hover { background: #243b8f; border-color: #bdd0ff; }
.footer p { color: #c7d3f2; font-size: .85rem; }
.footer .ms-logo { height: 45px; }
.inner-hero, .article-hero { padding-block: 90px 65px; border-bottom: 1px solid var(--ms-line); }
.inner-hero h1, .article-hero h1 { max-width: 1000px; margin: 22px 0; }
.article-hero .ms-kicker { display: flex; margin-top: 40px; }
.back-link { color: var(--ms-blue) !important; text-decoration: none; font-weight: 600; }
.prose-wrap { padding-block: 70px 130px; }
.prose { max-width: 800px; font-size: 1.07rem; line-height: 1.72; }
.prose h2 { font-size: 2rem; margin: 2em 0 .6em; }
.prose h3 { font-size: 1.5rem; margin: 1.7em 0 .5em; }
.prose p, .prose ul, .prose ol { margin: 0 0 1.2em; }
.prose li { margin-bottom: .4em; }
.prose a { color: var(--ms-blue); }
@media (max-width: 1000px) {
  .header-inner { flex-wrap: wrap; padding-block: 20px; }
  .header-inner nav { order: 3; width: 100%; }
  .hero { min-height: 0; grid-template-columns: 1fr; }
  .hero-art { max-width: 520px; }
  .services, .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .header-contact { display: none; }
  .header-inner nav { gap: 12px 20px; }
  .header-inner nav a { font-size: .78rem; }
  .hero { padding-block: 72px; }
  .hero-art { max-width: 100%; }
  .services, .feature, .news-grid, .product-list { grid-template-columns: 1fr; }
  .feature { padding-block: 80px 100px; }
  .document-visual { min-height: 300px; padding: 50px 8%; }
  .section-head, .footer-inner { display: block; }
  .section-head .text-link { display: inline-block; margin-top: 20px; }
  .news-section { padding-block: 70px; }
  .footer-inner > div + div { margin-top: 32px; }
  .footer-top { margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
