/* Homepage — NeoGen landing page.
 *
 * Built from the Figma frame "Color 2" (NEOGEN / Home Page, 1440 x 6668).
 * Every length below is that frame's pixel value; the page is a 1440 canvas
 * with 80px gutters, and the breakpoints at the bottom are the only places
 * that depart from it.
 *
 * Self-contained on purpose: this page carries its own nav and footer, so it
 * loads neither bx-tokens.css nor bx-shared.css, and every selector is scoped
 * under .ng so nothing here can reach the store pages.
 */

.ng {
  --ng-navy: #031E8E;
  --ng-navy-deep: #011771;
  --ng-cyan: #29F0FF;
  --ng-sky: #17BAE4;
  --ng-mist: #EDF9FD;
  --ng-paper: #FBFEFF;
  --ng-gutter: 80px;

  font-family: 'Poppins', system-ui, sans-serif;
  color: var(--ng-navy);
  /* One continuous wash behind everything from the programmes down to the
     newsletter, sampled from the frame's left edge every 150px. */
  background: linear-gradient(
    to bottom,
    var(--ng-mist) 0,
    var(--ng-mist) 2700px,
    #D1F0FA 3100px,
    #A8E4F5 3400px,
    #6CD2EE 3700px,
    #1DBCE5 4000px,
    #1396D0 4300px,
    #0D6FBB 4600px,
    #0949A6 4900px,
    #032290 5200px,
    var(--ng-navy) 5350px
  );
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.ng *, .ng *::before, .ng *::after { box-sizing: border-box; }
/* The store's global stylesheets (bootstrap, stylesheet.css, biorax.css) are
   still loaded on this page and style bare h1-h3, p, a, header and footer.
   These resets outrank a bare element selector, and every component rule
   below is written `.ng .ng-*` so that it in turn outranks the resets. */
.ng h1, .ng h2, .ng h3, .ng p, .ng ul, .ng li, .ng small, .ng b, .ng em, .ng i, .ng span {
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: none;
  color: inherit;
}
.ng b { font-weight: 700; }
.ng ul { list-style: none; }
.ng a, .ng a:hover, .ng a:focus { color: inherit; text-decoration: none; }
.ng img { display: block; max-width: 100%; }
.ng svg { display: inline-block; vertical-align: middle; }
.ng button { font: inherit; color: inherit; cursor: pointer; }
.ng header, .ng nav, .ng section, .ng footer, .ng article, .ng form {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  min-height: 0;
  position: static;
}

.ng .ng-wrap {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 var(--ng-gutter);
}

/* ------------------------------------------------------------------ pills */
.ng .ng-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.ng .ng-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(3, 30, 142, .18); }
.ng .ng-btn--navy    { background: var(--ng-navy); color: #fff; }
.ng .ng-btn--outline { background: transparent; color: var(--ng-navy); border-color: var(--ng-navy); }
.ng .ng-btn--cyan    { background: var(--ng-cyan); color: var(--ng-navy); }
.ng .ng-btn--white   { background: #fff; }

/* -------------------------------------------------------------------- nav */
.ng .ng-top { background: var(--ng-navy); padding-top: 50px; }
.ng .ng-nav {
  background: var(--ng-paper);
  border-radius: 16px 16px 0 0;
}
.ng .ng-nav__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: 65px;
  border-bottom: 1px solid #DCE6EF;
  padding: 0 16px;
}
.ng .ng-nav__logo img { width: 113px; height: auto; }
.ng .ng-nav__links { display: flex; align-items: center; gap: 24px; }
.ng .ng-nav__links a { font-size: 15px; font-weight: 500; letter-spacing: -.01em; }
.ng .ng-nav__links a:hover { color: #0A36D6; }
.ng .ng-nav__cta { height: 41px; padding: 0 31px; font-size: 15px; }
.ng .ng-nav__toggle { display: none; background: none; border: 0; padding: 8px; }

/* ------------------------------------------------------------------- hero */
.ng .ng-hero { background: var(--ng-mist); padding: 66px 0 0; }
.ng .ng-hero__copy { padding: 0 16px; }
.ng .ng-hero__eyebrow { font-size: 12px; line-height: 18px; letter-spacing: -.03em; }
.ng .ng-hero h1 {
  margin-top: 51px;
  font-size: 74px;
  font-weight: 500;
  line-height: 65px;
  letter-spacing: -.055em;
}
.ng .ng-hero__lede {
  margin-top: 36px;
  font-family: 'DM Sans', 'Poppins', sans-serif;
  font-size: 16px;
  line-height: 22px;
  letter-spacing: -.025em;
}

/* The frame shows the track mid-scroll, cut by both edges of the canvas. */
.ng .ng-carousel { position: relative; margin-top: 47px; }
.ng .ng-carousel__track {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  padding: 0 max(var(--ng-gutter), calc((100vw - 1440px) / 2 + var(--ng-gutter)));
  scroll-padding: 0 var(--ng-gutter);
}
.ng .ng-carousel__track::-webkit-scrollbar { display: none; }
.ng .ng-card {
  flex: 0 0 360px;
  border-radius: 16px;
  overflow: hidden;
  background: var(--ng-navy);
  color: #fff;
  text-align: center;
  scroll-snap-align: start;
}
.ng .ng-card img { width: 360px; height: 330px; object-fit: cover; background: #fff; }
.ng .ng-card__body {
  height: 124px;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}
.ng .ng-card h3 { font-size: 22px; font-weight: 600; line-height: 1.2; }
.ng .ng-card p { font-size: 14px; line-height: 20px; font-weight: 400; }
.ng .ng-carousel__arrow {
  position: absolute;
  top: 50%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  border: 0;
  border-radius: 50%;
  background: #1F2A2E;
  color: #fff;
  display: grid;
  place-items: center;
  z-index: 2;
}
.ng .ng-carousel__arrow--prev { left: 24px; }
.ng .ng-carousel__arrow--next { right: 24px; }
.ng .ng-carousel__arrow[hidden] { display: none; }

/* -------------------------------------------------------------- assessment */
.ng .ng-start { padding: 150px 0 126px; text-align: center; }
.ng .ng-start h2 { font-size: 38px; font-weight: 500; line-height: 1.2; letter-spacing: -.03em; }
.ng .ng-start__lede { margin-top: 18px; font-size: 16px; letter-spacing: -.02em; }
.ng .ng-start__actions { margin-top: 30px; display: flex; justify-content: center; gap: 17px; flex-wrap: wrap; }
.ng .ng-start__actions .ng-btn { height: 55px; padding: 0 32px; font-size: 14px; }
.ng .ng-start__note {
  margin: 40px auto 0;
  max-width: 460px;
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
}

/* ---------------------------------------------------------- how it works */
.ng .ng-process {
  margin: 0 auto;
  max-width: 1320px;
  width: calc(100% - 120px);
  border-radius: 80px;
  background: linear-gradient(to bottom, #0423A5, #011B85);
  color: #fff;
  text-align: center;
  padding: 88px 40px 120px;
}
.ng .ng-process__eyebrow { font-size: 22px; font-weight: 300; }
.ng .ng-process h2 { margin-top: 2px; font-size: 64px; font-weight: 400; line-height: 1.2; letter-spacing: -.02em; }
.ng .ng-process h2 em { font-style: normal; font-weight: 500; color: var(--ng-cyan); }
.ng .ng-process__lede { margin-top: 14px; font-size: 16px; font-weight: 300; }
.ng .ng-steps { margin-top: 36px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 21px; }
.ng .ng-step {
  min-height: 278px;
  border-radius: 24px;
  background: #fff;
  color: var(--ng-navy);
  padding: 58px 28px 40px;
}
.ng .ng-step__num { font-size: 28px; font-weight: 700; line-height: 1.2; }
.ng .ng-step h3 { margin-top: 14px; font-size: 17px; font-weight: 500; line-height: 21px; }
.ng .ng-step h3 b { font-weight: 700; }
.ng .ng-step p { margin-top: 18px; font-size: 13px; line-height: 19px; }
.ng .ng-process .ng-btn { margin-top: 58px; height: 44px; padding: 0 32px; font-size: 14px; }

/* --------------------------------------------------------------- programs */
.ng .ng-programs { padding: 132px 0 0; text-align: center; }
.ng .ng-programs__eyebrow { font-size: 19px; }
.ng .ng-programs h2 { margin-top: 18px; font-size: 56px; font-weight: 500; line-height: 1.2; letter-spacing: -.02em; }
.ng .ng-programs h2 b { font-weight: 700; }
.ng .ng-programs__lede { margin-top: 0; font-size: 25px; letter-spacing: -.02em; }
.ng .ng-plans {
  margin: 64px auto 0;
  max-width: 1320px;
  width: calc(100% - 120px);
  display: grid;
  grid-template-columns: 439fr 419fr 439fr;
  gap: 12px;
  align-items: start;
  text-align: left;
}
.ng .ng-plan {
  display: flex;
  flex-direction: column;
  min-height: 697px;
  border-radius: 28px;
  padding: 50px 48px 48px;
  /* The featured card stands 44px proud of its neighbours, top only. */
  margin-top: 44px;
  color: #fff;
  background: linear-gradient(to bottom, #17BAE4 0%, #13AFD6 50%, #017896 100%);
  box-shadow: 0 18px 30px rgba(3, 80, 110, .16);
}
.ng .ng-plan--featured {
  min-height: 760px;
  margin-top: 0;
  padding: 94px 38px 67px;
  border-radius: 32px;
  background: linear-gradient(to bottom, #0423A3, #011771);
  box-shadow: 0 18px 34px rgba(1, 23, 113, .3);
}
.ng .ng-plan__term { font-size: 11px; font-weight: 700; letter-spacing: .22em; color: var(--ng-navy); }
.ng .ng-plan--featured .ng-plan__term { color: #fff; }
.ng .ng-plan h3 { margin-top: 22px; font-size: 44px; font-weight: 500; line-height: 1.2; letter-spacing: -.01em; }
.ng .ng-plan h3 small { margin-left: 6px; font-size: 11px; font-weight: 400; letter-spacing: .18em; }
.ng .ng-plan__kind { margin-top: 12px; font-size: 15px; font-weight: 500; }
.ng .ng-plan__desc {
  margin-top: 34px;
  padding-top: 38px;
  border-top: 1px solid rgba(255, 255, 255, .22);
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  min-height: 92px;
}
.ng .ng-plan__label { margin-top: 42px; font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.ng .ng-plan ul { margin-top: 22px; flex: 1; }
.ng .ng-plan li {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 14px 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}
.ng .ng-plan li + li { border-top: 1px solid rgba(255, 255, 255, .14); }
.ng .ng-plan li svg { flex: 0 0 22px; }
.ng .ng-plan .ng-btn { margin-top: 30px; height: 56px; font-size: 15px; color: #17A9D4; }
.ng .ng-plan--featured .ng-btn { color: var(--ng-navy); }
.ng .ng-new { margin-top: 68px; font-size: 20px; letter-spacing: -.02em; }
.ng .ng-new b { margin-right: 18px; color: #fff; font-weight: 700; }

/* ---------------------------------------------------------------- science */
.ng .ng-science { padding: 128px 0 0; text-align: center; }
.ng .ng-science h2 { font-size: 56px; font-weight: 400; line-height: 55px; letter-spacing: -.02em; }
.ng .ng-science h2 b { font-weight: 700; }
.ng .ng-facts {
  margin: 80px auto 0;
  max-width: 1320px;
  width: calc(100% - 120px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  text-align: left;
}
.ng .ng-fact { min-height: 263px; border-radius: 40px; background: #fff; padding: 38px 34px 30px; }
.ng .ng-fact h3 { margin-top: 35px; font-size: 22px; font-weight: 700; line-height: 1.2; }
.ng .ng-fact p { margin-top: 8px; font-size: 18px; line-height: 25px; }
.ng .ng-science .ng-btn { margin-top: 90px; height: 40px; padding: 0 20px; font-size: 13px; }
.ng .ng-science__note { margin-top: 44px; font-size: 19px; letter-spacing: -.03em; }

/* ------------------------------------------------------------------ stats */
.ng .ng-stats { padding: 196px 0 0; color: #fff; }
.ng .ng-stats h2 { font-size: 64px; font-weight: 400; line-height: 68px; letter-spacing: -.03em; }
.ng .ng-stats h2 b { font-weight: 700; }
.ng .ng-stats__grid { margin-top: 76px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.ng .ng-stat {
  position: relative;
  min-height: 164px;
  border-radius: 16px;
  background: #fff;
  color: var(--ng-navy);
  padding: 30px 32px 26px;
  font-family: 'Inter', 'Poppins', sans-serif;
}
.ng .ng-stat b { display: block; font-size: 50px; font-weight: 700; line-height: 60px; letter-spacing: -.02em; }
.ng .ng-stat span { display: block; margin-top: 10px; font-size: 15px; font-weight: 500; }
.ng .ng-stat svg { position: absolute; right: 42px; bottom: 20px; color: #111; }
.ng .ng-trust {
  margin-top: 88px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 54px;
  font-family: 'Inter', 'Poppins', sans-serif;
  font-size: 14px;
  flex-wrap: wrap;
}
.ng .ng-trust b { font-size: 15px; font-weight: 700; letter-spacing: .02em; margin-right: 6px; }
.ng .ng-trust i { font-style: normal; opacity: .9; }

/* -------------------------------------------------------------------- faq */
.ng .ng-faq { padding: 190px 0 0; color: #fff; }
.ng .ng-faq__grid { display: grid; grid-template-columns: 500px 1fr; padding: 0 14px; }
.ng .ng-faq__intro { padding-right: 60px; }
.ng .ng-faq h2 { font-size: 58px; font-weight: 300; line-height: 60px; letter-spacing: -.01em; }
.ng .ng-faq__intro p { margin-top: 42px; max-width: 420px; font-size: 17px; font-weight: 300; line-height: 26px; }
.ng .ng-faq__intro .ng-btn { margin-top: 36px; height: 40px; padding: 0 20px; font-size: 13px; }
.ng .ng-faq__list { border-left: 1px solid rgba(255, 255, 255, .12); padding: 44px 12px 0 80px; }
.ng .ng-faq__item { border-radius: 6px; }
.ng .ng-faq__item + .ng-faq__item { margin-top: 0; }
.ng .ng-faq__item.is-open { background: rgba(255, 255, 255, .08); }
.ng .ng-faq__q {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 0 16px;
  height: 88px;
  background: none;
  border: 0;
  text-align: left;
  font-size: 19px;
  font-weight: 500;
}
.ng .ng-faq__q small { flex: 0 0 18px; font-size: 12px; font-weight: 400; opacity: .8; }
.ng .ng-faq__q span { flex: 1; }
.ng .ng-faq__q i {
  flex: 0 0 32px;
  height: 32px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-style: normal;
  font-size: 18px;
  color: #0B1B5A;
}
.ng .ng-faq__item.is-open .ng-faq__q i { border: 1px solid rgba(255, 255, 255, .55); color: #fff; }
.ng .ng-faq__a { display: none; padding: 0 44px 34px 56px; font-size: 15px; font-weight: 300; line-height: 26px; }
.ng .ng-faq__item.is-open .ng-faq__a { display: block; }

/* ------------------------------------------------------------- newsletter */
.ng .ng-news { padding: 182px 0 0; color: #fff; }
.ng .ng-news__row { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 0 20px; }
.ng .ng-news h2 { font-size: 32px; font-weight: 600; line-height: 1.2; }
.ng .ng-news p { margin-top: 12px; width: 590px; max-width: 100%; font-size: 16px; font-weight: 300; line-height: 22px; }
.ng .ng-news form { display: flex; gap: 9px; }
.ng .ng-news input {
  width: 280px;
  height: 44px;
  padding: 0 16px;
  border: 1px solid #0A2BF0;
  border-radius: 6px;
  background: rgba(255, 255, 255, .04);
  color: #fff;
  font: inherit;
  font-size: 15px;
}
.ng .ng-news input::placeholder { color: rgba(255, 255, 255, .55); }
.ng .ng-news button {
  height: 44px;
  padding: 0 24px;
  border: 0;
  border-radius: 6px;
  background: var(--ng-cyan);
  color: var(--ng-navy);
  font-size: 15px;
  font-weight: 600;
}
.ng .ng-news__links {
  margin-top: 56px;
  padding-bottom: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  font-weight: 500;
}
.ng .ng-news__links a { padding: 0 32px; }
.ng .ng-news__links a + a { border-left: 1px solid rgba(255, 255, 255, .5); }

/* ----------------------------------------------------------------- footer */
.ng .ng-foot { background: var(--ng-paper); color: var(--ng-navy); padding: 34px 0 66px; font-size: 14px; }
.ng .ng-foot__cols {
  display: grid;
  grid-template-columns: 275px 307px 305px 1fr;
  margin: 0 62px 0 79px;
  padding-bottom: 24px;
  border-bottom: 1px solid #DCE6EF;
}
.ng .ng-foot__col { padding: 0 18px 0 52px; min-height: 64px; }
.ng .ng-foot__col:first-child { padding-left: 0; }
.ng .ng-foot__col + .ng-foot__col { border-left: 1px solid #DCE6EF; }
.ng .ng-foot__col h3 { display: flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 600; }
.ng .ng-foot__col p, .ng .ng-foot__col a { display: block; margin-top: 14px; font-size: 14px; font-weight: 500; line-height: 18px; }
.ng .ng-foot__col a + a { margin-top: 10px; }
.ng .ng-foot__col--addr p { max-width: 210px; }
.ng .ng-foot__bar { display: flex; align-items: center; gap: 36px; padding: 52px 120px 0 95px; }
.ng .ng-foot__bar img { width: 91px; height: auto; }
.ng .ng-foot__legal { flex: 1; font-size: 10px; line-height: 21px; }
.ng .ng-foot__social { display: flex; gap: 12px; padding-right: 30px; border-right: 1px solid #DCE6EF; }
.ng .ng-foot__social a {
  width: 33px;
  height: 33px;
  border: 1px solid var(--ng-navy);
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.ng .ng-foot__top { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; }
.ng .ng-foot__top span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #E9EEFB;
  display: grid;
  place-items: center;
}

/* ------------------------------------------------------------- responsive
   The frame is desktop only. Below it the same content reflows; nothing is
   hidden except the centre nav, which folds behind the toggle. */
@media (max-width: 1180px) {
  .ng { --ng-gutter: 40px; }
  .ng .ng-nav__links { gap: 16px; }
  .ng .ng-nav__links a { font-size: 14px; }
  .ng .ng-steps { grid-template-columns: repeat(2, 1fr); }
  .ng .ng-plans { grid-template-columns: 1fr; max-width: 520px; }
  .ng .ng-plan, .ng .ng-plan--featured { min-height: 0; margin-top: 0; padding: 50px 48px 48px; }
  .ng .ng-facts { grid-template-columns: 1fr; max-width: 560px; }
  .ng .ng-stats__grid { grid-template-columns: repeat(2, 1fr); }
  .ng .ng-faq__grid { grid-template-columns: 1fr; }
  .ng .ng-faq__list { border-left: 0; padding: 40px 0 0; }
  .ng .ng-news__row { flex-direction: column; align-items: flex-start; }
  .ng .ng-foot__cols { grid-template-columns: repeat(2, 1fr); row-gap: 28px; margin: 0; }
  .ng .ng-news p { width: auto; }
  .ng .ng-foot__col, .ng .ng-foot__col:first-child { padding: 0 18px; }
  .ng .ng-foot__col:nth-child(3) { border-left: 0; }
  .ng .ng-foot__bar { padding: 40px 18px 0; flex-wrap: wrap; }
  /* The wash is tuned to the desktop frame's height; once sections stack the
     page is far taller, so pin the turn to navy to a share of the page. */
  .ng { background: linear-gradient(to bottom, var(--ng-mist) 0, var(--ng-mist) 38%, #1DBCE5 58%, #032290 76%, var(--ng-navy) 80%); }
}

@media (max-width: 860px) {
  .ng { --ng-gutter: 20px; }
  .ng .ng-top { padding-top: 12px; }
  .ng .ng-nav__bar { position: relative; padding: 0 4px; }
  .ng .ng-nav__toggle { display: block; }
  .ng .ng-nav__links {
    display: none;
    position: absolute;
    top: 65px;
    left: -20px;
    right: -20px;
    z-index: 10;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--ng-paper);
    border-bottom: 1px solid #DCE6EF;
    padding: 8px 20px 16px;
  }
  .ng .ng-nav.is-open .ng-nav__links { display: flex; }
  .ng .ng-nav__links a { padding: 12px 0; font-size: 16px; }
  .ng .ng-nav__cta { display: none; }
  .ng .ng-hero { padding-top: 40px; }
  .ng .ng-hero__copy { padding: 0; }
  .ng .ng-hero h1 { margin-top: 24px; font-size: 44px; line-height: 44px; }
  .ng .ng-hero__lede { margin-top: 24px; font-size: 16px; }
  .ng .ng-card { flex-basis: 280px; }
  .ng .ng-card img { width: 280px; height: 257px; }
  .ng .ng-card h3 { font-size: 19px; }
  .ng .ng-carousel__arrow { display: none; }
  .ng .ng-start { padding: 80px 0; }
  .ng .ng-start h2 { font-size: 30px; }
  .ng .ng-process { width: calc(100% - 40px); border-radius: 40px; padding: 56px 20px 64px; }
  .ng .ng-process h2 { font-size: 42px; }
  .ng .ng-steps { grid-template-columns: 1fr; }
  .ng .ng-step { min-height: 0; padding: 36px 24px; }
  .ng .ng-programs { padding-top: 80px; }
  .ng .ng-programs h2, .ng .ng-science h2 { font-size: 36px; line-height: 1.15; }
  .ng .ng-programs__lede { font-size: 18px; }
  .ng .ng-plans, .ng .ng-facts { width: calc(100% - 40px); }
  .ng .ng-plan, .ng .ng-plan--featured { padding: 36px 28px; }
  .ng .ng-new { margin-top: 48px; font-size: 16px; padding: 0 20px; }
  .ng .ng-science { padding-top: 80px; }
  .ng .ng-facts { margin-top: 48px; }
  .ng .ng-science .ng-btn { margin-top: 48px; }
  .ng .ng-stats { padding-top: 110px; }
  .ng .ng-stats h2 { font-size: 40px; line-height: 44px; }
  .ng .ng-stats__grid { margin-top: 40px; grid-template-columns: 1fr; }
  .ng .ng-trust { margin-top: 48px; gap: 18px 28px; }
  .ng .ng-faq { padding-top: 100px; }
  .ng .ng-faq__grid { padding: 0; }
  .ng .ng-faq__intro { padding-right: 0; }
  .ng .ng-faq h2 { font-size: 42px; line-height: 46px; }
  .ng .ng-faq__q { height: auto; min-height: 72px; padding: 14px 12px; font-size: 16px; gap: 14px; }
  .ng .ng-faq__a { padding: 0 16px 24px 44px; }
  .ng .ng-news { padding-top: 100px; }
  .ng .ng-news__row { padding: 0; }
  .ng .ng-news h2 { font-size: 26px; }
  .ng .ng-news form { width: 100%; }
  .ng .ng-news input { flex: 1; width: auto; min-width: 0; }
  .ng .ng-news__links { flex-wrap: wrap; row-gap: 14px; margin-top: 48px; }
  .ng .ng-news__links a { padding: 0 16px; }
  .ng .ng-foot__cols { grid-template-columns: 1fr; }
  .ng .ng-foot__col + .ng-foot__col { border-left: 0; }
  .ng .ng-foot__social { border-right: 0; padding-right: 0; }
}
