* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}
:root {
  /* one accent = the LYNCCN logo red (buttons, accent cards, footer). Change these two lines to re-colour the site. */
  --primary: #e8141c;
  --primary_dark: #c10f16;
  --accent: #e8141c;
  --title: #16181b;
  --text: #5b5f66;
  --text2: #8a8e95;
  --line: #e4e4e1;
  /* light grey cards and sections */
  --light: #eef0f3;
  --light2: #e1e5ea;
  --dark: #111315;
  --dark2: #1b1d20;
}
html {
  scroll-behavior: smooth;
  font-size: clamp(7.5px, 0.520834vw, 10px);
}
.content {
  max-width: 144rem;
  margin: 0px auto;
  position: relative;
}
.content .content {
  padding: 0px;
}
li {
  list-style: none;
}
li.swiper-slide {
  height: auto;
}
a {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  text-decoration: none;
}
i,
em {
  font-style: normal;
}
input,
button,
textarea,
select {
  border: none;
  outline: none;
  font-family: inherit;
  color: var(--title);
  background-color: transparent;
}
button {
  cursor: pointer;
}
body {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--title);
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
}
.img.img_cv {
  overflow: hidden;
}
.img.img_cv img {
  object-fit: cover;
}
.img.img_ct img {
  object-fit: contain;
}
.img img {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.6s;
  aspect-ratio: inherit;
}
.img_bg {
  position: relative;
  z-index: 2;
}
.img_bg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -2;
}
/* small uppercase label above section titles */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: var(--text2);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.tag::before {
  content: '';
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.tag.light {
  color: rgba(255, 255, 255, 0.7);
}
.tcon h1,
.tcon h2 {
  color: var(--title);
  font-weight: 600;
  font-size: 5.2rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.tcon .tag + h1,
.tcon .tag + h2 {
  margin-top: 1.8rem;
}
.tcon h1 em,
.tcon h2 em {
  color: var(--accent);
}
.tcon p {
  color: var(--text);
  font-size: 1.7rem;
  line-height: 3rem;
}
.tcon h1 + p,
.tcon h2 + p {
  margin-top: 2.4rem;
}
.tcon.center {
  text-align: center;
}
.tcon.light h1,
.tcon.light h2 {
  color: #fff;
}
.tcon.light p {
  color: rgba(255, 255, 255, 0.78);
}
/* square buttons with a diagonal arrow (reference style) */
.btn,
.btn_line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  height: 6.4rem;
  padding: 0px 3.2rem;
  cursor: pointer;
  white-space: nowrap;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  transition: 0.3s;
}
.btn.arrow::after,
.btn_line.arrow::after {
  content: '';
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform 0.3s;
}
.btn.arrow:hover::after,
.btn_line.arrow:hover::after {
  transform: translate(0.2rem, -0.2rem);
}
.btn {
  color: #fff;
  background-color: var(--primary);
}
.btn:hover {
  background-color: var(--primary_dark);
}
.btn.white {
  color: var(--title);
  background-color: #fff;
}
.btn.white:hover {
  color: #fff;
  background-color: var(--primary);
}
.btn.dark {
  background-color: var(--title);
}
.btn.dark:hover {
  background-color: var(--primary);
}
.btn_line {
  color: var(--title);
  border: 1px solid var(--title);
}
.btn_line:hover {
  color: #fff;
  background-color: var(--title);
}
.btn_line.light {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}
.btn_line.light:hover {
  color: var(--title);
  border-color: #fff;
  background-color: #fff;
}
/* text link + round accent arrow ("Learn More", "Read More") */
.btn_text {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 2.2rem;
  transition: color 0.3s;
}
.btn_text::after {
  content: '';
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  transition: transform 0.3s;
  background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 11 3M5 3h6v6'/%3E%3C/svg%3E") no-repeat center / 1.1rem;
}
.btn_text:hover {
  color: var(--primary);
}
.btn_text:hover::after {
  transform: rotate(45deg);
}
.btn_text.small {
  gap: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.8rem;
}
.btn_text.small::after {
  width: 2rem;
  height: 2rem;
  background-size: 0.9rem;
}
.btn_text.light {
  color: #fff;
}
/* round slider buttons: dark prev, accent next */
.swiper_btns {
  display: flex;
  gap: 1.2rem;
}
.swiper_btns div {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 50%;
  color: #fff;
  transition: 0.3s;
  background-color: var(--title);
}
.swiper_btns div::after {
  content: '';
  width: 1.6rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.swiper_btns .btn_next {
  background-color: var(--primary);
}
.swiper_btns .btn_next::after {
  transform: rotate(180deg);
}
.swiper_btns div:hover {
  transform: scale(1.06);
}
.swiper_btns .swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}
.check_list li {
  position: relative;
  padding-left: 2.6rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.6rem;
}
.check_list li::before {
  content: '';
  position: absolute;
  left: 0px;
  top: 0.9rem;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.card_hover {
  transition: transform 0.4s, box-shadow 0.4s;
}
.card_hover:hover {
  transform: translateY(-0.6rem);
  box-shadow: 0px 2.4rem 4.8rem -2.4rem rgba(22, 24, 27, 0.25);
}

@media screen and (min-width: 769px) and (max-width: 1180px) {
  .content {
    padding: 0px 4rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .content {
    max-width: 960px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 4.6rem;
    line-height: 1.25;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
  body {
    font-size: 1.5rem;
  }
  .content {
    padding: 0px 20px;
  }
  .tag {
    font-size: 11px;
    line-height: 15px;
  }
  .tag::before {
    width: 7px;
    height: 7px;
  }
  .tcon .tag + h1,
  .tcon .tag + h2 {
    margin-top: 12px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 28px;
    line-height: 1.3;
  }
  .tcon p {
    font-size: 15px;
    line-height: 1.7;
  }
  .tcon h1 + p,
  .tcon h2 + p {
    margin-top: 14px;
  }
  .btn,
  .btn_line {
    height: 50px;
    gap: 10px;
    padding: 0px 22px;
    font-size: 15px;
  }
  .btn.arrow::after,
  .btn_line.arrow::after {
    width: 12px;
    height: 12px;
  }
  .btn_text {
    font-size: 15px;
    line-height: 20px;
  }
  .btn_text::after {
    width: 24px;
    height: 24px;
    background-size: 10px;
  }
  .swiper_btns div {
    width: 44px;
    height: 44px;
  }
  .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 1.6;
  }
  .check_list li::before {
    top: 8px;
  }
}

.home_banner {
  display: flex;
  align-items: center;
  height: 100rem;
  min-height: 64rem;
  max-height: 100vh;
  padding-top: 8rem;
  overflow: hidden;
  background-color: var(--dark);
}
.home_banner > img {
  object-position: 70% center;
}
.home_banner::after {
  content: '';
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(10, 14, 20, 0.86) 0%, rgba(10, 14, 20, 0.55) 45%, rgba(10, 14, 20, 0.05) 75%), linear-gradient(180deg, rgba(10, 14, 20, 0.5) 0%, transparent 25%);
}
.home_banner .content {
  width: 100%;
}
.home_banner .tcon {
  max-width: 80rem;
}
.home_banner .tcon h1 {
  font-weight: 600;
  font-size: 7.2rem;
  line-height: 1.22;
}
.home_banner .tcon p {
  max-width: 58rem;
  margin-top: 3.2rem;
  font-size: 1.8rem;
  line-height: 3rem;
}
.home_banner .btns {
  gap: 4.4rem;
  margin-top: 5.6rem;
}
.home_banner .play {
  display: inline-flex;
  white-space: nowrap;
  align-items: center;
  gap: 1.8rem;
  color: #fff;
  font-weight: 500;
  font-size: 1.8rem;
}
.home_banner .play i {
  position: relative;
  width: 5.6rem;
  height: 5.6rem;
  border-radius: 50%;
  transition: transform 0.3s;
  background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 14'%3E%3Cpath d='M1 1.2v11.6L11 7z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 55% center / 1.3rem;
}
.home_banner .play i::before {
  content: '';
  position: absolute;
  left: -0.8rem;
  top: -0.8rem;
  width: 7.2rem;
  height: 7.2rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.35);
  animation: banner_ring 2.2s infinite;
}
@keyframes banner_ring {
  0% {
    opacity: 1;
    transform: scale(0.8);
  }
  100% {
    opacity: 0;
    transform: scale(1.25);
  }
}
.home_banner .play:hover i {
  transform: scale(1.08);
}
.home_banner .social {
  position: absolute;
  right: 0px;
  top: 50%;
  display: flex;
  flex-direction: column;
  gap: 4.6rem;
  transform: translateY(-50%);
}
.home_banner .social a {
  display: block;
  color: #fff;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2rem;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  transition: color 0.3s;
}
.home_banner .social a:hover {
  color: var(--primary);
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .home_banner {
    height: 76rem;
  }
  .home_banner .tcon h1 {
    font-size: 6rem;
  }
  .home_banner .social {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .home_banner {
    align-items: flex-end;
    height: auto;
    min-height: 620px;
    max-height: none;
    padding: 120px 0px 56px;
  }
  .home_banner::after {
    background: linear-gradient(0deg, rgba(10, 14, 20, 0.92) 0%, rgba(10, 14, 20, 0.6) 55%, rgba(10, 14, 20, 0.3) 100%);
  }
  .home_banner .tcon h1 {
    font-size: 34px;
    line-height: 1.2;
  }
  .home_banner .tcon p {
    margin-top: 16px;
    font-size: 15px;
    line-height: 1.65;
  }
  .home_banner .btns {
    gap: 24px;
    margin-top: 30px;
  }
  .home_banner .play {
    gap: 12px;
    font-size: 15px;
  }
  .home_banner .play i {
    width: 46px;
    height: 46px;
    background-size: 12px;
  }
  .home_banner .play i::before {
    left: -6px;
    top: -6px;
    width: 58px;
    height: 58px;
  }
  .home_banner .social {
    display: none;
  }
}

* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}
:root {
  /* one accent = the LYNCCN logo red (buttons, accent cards, footer). Change these two lines to re-colour the site. */
  --primary: #e8141c;
  --primary_dark: #c10f16;
  --accent: #e8141c;
  --title: #16181b;
  --text: #5b5f66;
  --text2: #8a8e95;
  --line: #e4e4e1;
  /* light grey cards and sections */
  --light: #eef0f3;
  --light2: #e1e5ea;
  --dark: #111315;
  --dark2: #1b1d20;
}
html {
  scroll-behavior: smooth;
  font-size: clamp(7.5px, 0.520834vw, 10px);
}
.content {
  max-width: 144rem;
  margin: 0px auto;
  position: relative;
}
.content .content {
  padding: 0px;
}
li {
  list-style: none;
}
li.swiper-slide {
  height: auto;
}
a {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  text-decoration: none;
}
i,
em {
  font-style: normal;
}
input,
button,
textarea,
select {
  border: none;
  outline: none;
  font-family: inherit;
  color: var(--title);
  background-color: transparent;
}
button {
  cursor: pointer;
}
body {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--title);
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
}
.img.img_cv {
  overflow: hidden;
}
.img.img_cv img {
  object-fit: cover;
}
.img.img_ct img {
  object-fit: contain;
}
.img img {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.6s;
  aspect-ratio: inherit;
}
.img_bg {
  position: relative;
  z-index: 2;
}
.img_bg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -2;
}
/* small uppercase label above section titles */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: var(--text2);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.tag::before {
  content: '';
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.tag.light {
  color: rgba(255, 255, 255, 0.7);
}
.tcon h1,
.tcon h2 {
  color: var(--title);
  font-weight: 600;
  font-size: 5.2rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.tcon .tag + h1,
.tcon .tag + h2 {
  margin-top: 1.8rem;
}
.tcon h1 em,
.tcon h2 em {
  color: var(--accent);
}
.tcon p {
  color: var(--text);
  font-size: 1.7rem;
  line-height: 3rem;
}
.tcon h1 + p,
.tcon h2 + p {
  margin-top: 2.4rem;
}
.tcon.center {
  text-align: center;
}
.tcon.light h1,
.tcon.light h2 {
  color: #fff;
}
.tcon.light p {
  color: rgba(255, 255, 255, 0.78);
}
/* square buttons with a diagonal arrow (reference style) */
.btn,
.btn_line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  height: 6.4rem;
  padding: 0px 3.2rem;
  cursor: pointer;
  white-space: nowrap;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  transition: 0.3s;
}
.btn.arrow::after,
.btn_line.arrow::after {
  content: '';
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform 0.3s;
}
.btn.arrow:hover::after,
.btn_line.arrow:hover::after {
  transform: translate(0.2rem, -0.2rem);
}
.btn {
  color: #fff;
  background-color: var(--primary);
}
.btn:hover {
  background-color: var(--primary_dark);
}
.btn.white {
  color: var(--title);
  background-color: #fff;
}
.btn.white:hover {
  color: #fff;
  background-color: var(--primary);
}
.btn.dark {
  background-color: var(--title);
}
.btn.dark:hover {
  background-color: var(--primary);
}
.btn_line {
  color: var(--title);
  border: 1px solid var(--title);
}
.btn_line:hover {
  color: #fff;
  background-color: var(--title);
}
.btn_line.light {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}
.btn_line.light:hover {
  color: var(--title);
  border-color: #fff;
  background-color: #fff;
}
/* text link + round accent arrow ("Learn More", "Read More") */
.btn_text {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 2.2rem;
  transition: color 0.3s;
}
.btn_text::after {
  content: '';
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  transition: transform 0.3s;
  background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 11 3M5 3h6v6'/%3E%3C/svg%3E") no-repeat center / 1.1rem;
}
.btn_text:hover {
  color: var(--primary);
}
.btn_text:hover::after {
  transform: rotate(45deg);
}
.btn_text.small {
  gap: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.8rem;
}
.btn_text.small::after {
  width: 2rem;
  height: 2rem;
  background-size: 0.9rem;
}
.btn_text.light {
  color: #fff;
}
/* round slider buttons: dark prev, accent next */
.swiper_btns {
  display: flex;
  gap: 1.2rem;
}
.swiper_btns div {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 50%;
  color: #fff;
  transition: 0.3s;
  background-color: var(--title);
}
.swiper_btns div::after {
  content: '';
  width: 1.6rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.swiper_btns .btn_next {
  background-color: var(--primary);
}
.swiper_btns .btn_next::after {
  transform: rotate(180deg);
}
.swiper_btns div:hover {
  transform: scale(1.06);
}
.swiper_btns .swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}
.check_list li {
  position: relative;
  padding-left: 2.6rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.6rem;
}
.check_list li::before {
  content: '';
  position: absolute;
  left: 0px;
  top: 0.9rem;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.card_hover {
  transition: transform 0.4s, box-shadow 0.4s;
}
.card_hover:hover {
  transform: translateY(-0.6rem);
  box-shadow: 0px 2.4rem 4.8rem -2.4rem rgba(22, 24, 27, 0.25);
}

@media screen and (min-width: 769px) and (max-width: 1180px) {
  .content {
    padding: 0px 4rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .content {
    max-width: 960px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 4.6rem;
    line-height: 1.25;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
  body {
    font-size: 1.5rem;
  }
  .content {
    padding: 0px 20px;
  }
  .tag {
    font-size: 11px;
    line-height: 15px;
  }
  .tag::before {
    width: 7px;
    height: 7px;
  }
  .tcon .tag + h1,
  .tcon .tag + h2 {
    margin-top: 12px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 28px;
    line-height: 1.3;
  }
  .tcon p {
    font-size: 15px;
    line-height: 1.7;
  }
  .tcon h1 + p,
  .tcon h2 + p {
    margin-top: 14px;
  }
  .btn,
  .btn_line {
    height: 50px;
    gap: 10px;
    padding: 0px 22px;
    font-size: 15px;
  }
  .btn.arrow::after,
  .btn_line.arrow::after {
    width: 12px;
    height: 12px;
  }
  .btn_text {
    font-size: 15px;
    line-height: 20px;
  }
  .btn_text::after {
    width: 24px;
    height: 24px;
    background-size: 10px;
  }
  .swiper_btns div {
    width: 44px;
    height: 44px;
  }
  .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 1.6;
  }
  .check_list li::before {
    top: 8px;
  }
}

.home_intro {
  padding: 14rem 0px 14rem;
}
.home_intro .top {
  align-items: flex-start;
  gap: 8rem;
}
.home_intro .tcon {
  flex-shrink: 0;
  width: 52rem;
}
.home_intro .tcon h2 {
  font-size: 4.8rem;
}
.home_intro .lead {
  flex: 1;
  max-width: 80rem;
  padding-top: 3.6rem;
  font-weight: 500;
  font-size: 3rem;
  line-height: 4.6rem;
}
.home_intro .lead .w {
  color: #b9bcc1;
  transition: color 0.3s;
}
.home_intro .lead .w.on {
  color: var(--title);
}
.home_intro .cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0px, 1fr));
  gap: 2rem;
  margin-top: 10rem;
}
.home_intro .card {
  position: relative;
  display: flex;
  flex-direction: column;
  aspect-ratio: 34 / 40;
  padding: 2.8rem;
  overflow: hidden;
  border-radius: 1.6rem;
}
.home_intro .card .icon {
  display: block;
  flex-shrink: 0;
  width: 5.6rem;
  height: 5.6rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316181b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19h16M6 19l3-12h6l3 12M9 7l3 5 3-5'/%3E%3C/svg%3E") no-repeat center / 2.4rem;
}
.home_intro .card .badge {
  position: absolute;
  right: 2.4rem;
  top: 3.2rem;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.6rem 1.2rem;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1.8rem;
  border-radius: 10rem;
  border: 1px solid currentColor;
}
.home_intro .card .badge::before {
  content: '';
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background-color: currentColor;
}
.home_intro .product {
  color: var(--title);
  background: linear-gradient(180deg, #e3e7ea 0%, #cfd6db 100%);
}
.home_intro .product .pic {
  position: absolute;
  left: 6%;
  top: 16%;
  width: 88%;
  height: 58%;
}
.home_intro .product .pic img {
  filter: drop-shadow(0px 2.4rem 2rem rgba(22, 24, 27, 0.28));
}
.home_intro .card:hover .pic img {
  transform: translateY(-0.8rem) rotate(-2deg);
}
.home_intro .card .bottom {
  position: relative;
  margin-top: auto;
}
.home_intro .card .bottom p {
  font-size: 1.4rem;
  line-height: 2rem;
  opacity: 0.7;
}
.home_intro .card .bottom strong {
  display: block;
  font-weight: 600;
  font-size: 3.2rem;
  line-height: 4rem;
}
.home_intro .accent {
  color: #fff;
  background-color: var(--primary);
}
.home_intro .accent .head p {
  font-weight: 500;
  font-size: 2rem;
  line-height: 2.6rem;
}
.home_intro .accent .icon {
  background-color: rgba(255, 255, 255, 0.22);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c3 3.5 5 6.2 5 9a5 5 0 0 1-10 0c0-2.8 2-5.5 5-9Z'/%3E%3Cpath d='M12 18a2.5 2.5 0 0 0 2.5-2.5'/%3E%3C/svg%3E");
}
.home_intro .card .value {
  margin-top: auto;
}
.home_intro .card .value p {
  font-size: 1.4rem;
  line-height: 2rem;
  opacity: 0.8;
}
.home_intro .accent .value strong {
  display: block;
  margin-top: 0.4rem;
  font-weight: 500;
  font-size: 7.6rem;
  line-height: 1;
  letter-spacing: -0.03em;
}
.home_intro .accent .value small {
  margin-left: 0.8rem;
  font-size: 2.4rem;
  letter-spacing: 0px;
}
.home_intro .accent .badge {
  position: static;
  align-self: flex-start;
  margin-top: auto;
}
.home_intro .photo img {
  position: absolute;
  left: 0px;
  top: 0px;
}
.home_intro .photo:hover img {
  transform: scale(1.05);
}
.home_intro .steel {
  color: var(--title);
  background: linear-gradient(180deg, #d5dde3 0%, #c3ced6 60%, #b7c3cc 100%);
}
.home_intro .steel .icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316181b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3zM14 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E");
}
.home_intro .steel .value {
  margin-top: auto;
  margin-bottom: auto;
}
.home_intro .steel .value strong {
  display: block;
  margin-top: 0.6rem;
  font-weight: 500;
  font-size: 3.4rem;
  line-height: 4.2rem;
}
.home_intro .steel .bottom {
  align-items: flex-end;
  margin-top: 0px;
  padding-top: 2rem;
  border-top: 1px solid rgba(22, 24, 27, 0.15);
}
.home_intro .steel .bottom p {
  opacity: 1;
  color: var(--text);
}
.home_intro .steel .bottom b {
  color: var(--title);
  font-weight: 600;
}
.home_intro .steel .bottom strong {
  font-weight: 500;
  font-size: 3.6rem;
}
.home_intro .steel .bottom small {
  margin-left: 0.4rem;
  font-size: 1.5rem;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .home_intro .top {
    flex-direction: column;
    gap: 2rem;
  }
  .home_intro .tcon,
  .home_intro .lead {
    width: 100%;
    max-width: none;
  }
  .home_intro .lead {
    padding-top: 0px;
  }
  .home_intro .cards {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
  }
}

@media screen and (max-width: 768px) {
  .home_intro {
    padding: 64px 0px 64px;
  }
  .home_intro .top {
    flex-direction: column;
    gap: 18px;
  }
  .home_intro .tcon,
  .home_intro .lead {
    width: 100%;
    max-width: none;
  }
  .home_intro .tcon h2 {
    font-size: 28px;
  }
  .home_intro .lead {
    padding-top: 0px;
    font-size: 19px;
    line-height: 1.5;
  }
  .home_intro .cards {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 10px;
    margin-top: 40px;
  }
  .home_intro .card {
    aspect-ratio: auto;
    min-height: 230px;
    padding: 16px;
    border-radius: 12px;
  }
  .home_intro .card .icon {
    width: 38px;
    height: 38px;
    background-size: 18px;
  }
  .home_intro .card .badge {
    right: 12px;
    top: 20px;
    padding: 4px 8px;
    font-size: 10px;
    line-height: 13px;
  }
  .home_intro .card .bottom p,
  .home_intro .card .value p {
    font-size: 11px;
    line-height: 1.4;
  }
  .home_intro .card .bottom strong {
    font-size: 17px;
    line-height: 1.3;
  }
  .home_intro .accent .head p {
    font-size: 14px;
    line-height: 1.3;
  }
  .home_intro .accent .value strong {
    font-size: 38px;
  }
  .home_intro .accent .value small {
    margin-left: 4px;
    font-size: 14px;
  }
  .home_intro .accent .badge {
    display: none;
  }
  .home_intro .steel .value strong {
    font-size: 18px;
    line-height: 1.3;
  }
  .home_intro .steel .bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding-top: 10px;
  }
  .home_intro .steel .bottom strong {
    font-size: 20px;
  }
  .home_intro .steel .bottom small {
    font-size: 11px;
  }
}

* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}
:root {
  /* one accent = the LYNCCN logo red (buttons, accent cards, footer). Change these two lines to re-colour the site. */
  --primary: #e8141c;
  --primary_dark: #c10f16;
  --accent: #e8141c;
  --title: #16181b;
  --text: #5b5f66;
  --text2: #8a8e95;
  --line: #e4e4e1;
  /* light grey cards and sections */
  --light: #eef0f3;
  --light2: #e1e5ea;
  --dark: #111315;
  --dark2: #1b1d20;
}
html {
  scroll-behavior: smooth;
  font-size: clamp(7.5px, 0.520834vw, 10px);
}
.content {
  max-width: 144rem;
  margin: 0px auto;
  position: relative;
}
.content .content {
  padding: 0px;
}
li {
  list-style: none;
}
li.swiper-slide {
  height: auto;
}
a {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  text-decoration: none;
}
i,
em {
  font-style: normal;
}
input,
button,
textarea,
select {
  border: none;
  outline: none;
  font-family: inherit;
  color: var(--title);
  background-color: transparent;
}
button {
  cursor: pointer;
}
body {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--title);
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
}
.img.img_cv {
  overflow: hidden;
}
.img.img_cv img {
  object-fit: cover;
}
.img.img_ct img {
  object-fit: contain;
}
.img img {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.6s;
  aspect-ratio: inherit;
}
.img_bg {
  position: relative;
  z-index: 2;
}
.img_bg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -2;
}
/* small uppercase label above section titles */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: var(--text2);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.tag::before {
  content: '';
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.tag.light {
  color: rgba(255, 255, 255, 0.7);
}
.tcon h1,
.tcon h2 {
  color: var(--title);
  font-weight: 600;
  font-size: 5.2rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.tcon .tag + h1,
.tcon .tag + h2 {
  margin-top: 1.8rem;
}
.tcon h1 em,
.tcon h2 em {
  color: var(--accent);
}
.tcon p {
  color: var(--text);
  font-size: 1.7rem;
  line-height: 3rem;
}
.tcon h1 + p,
.tcon h2 + p {
  margin-top: 2.4rem;
}
.tcon.center {
  text-align: center;
}
.tcon.light h1,
.tcon.light h2 {
  color: #fff;
}
.tcon.light p {
  color: rgba(255, 255, 255, 0.78);
}
/* square buttons with a diagonal arrow (reference style) */
.btn,
.btn_line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  height: 6.4rem;
  padding: 0px 3.2rem;
  cursor: pointer;
  white-space: nowrap;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  transition: 0.3s;
}
.btn.arrow::after,
.btn_line.arrow::after {
  content: '';
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform 0.3s;
}
.btn.arrow:hover::after,
.btn_line.arrow:hover::after {
  transform: translate(0.2rem, -0.2rem);
}
.btn {
  color: #fff;
  background-color: var(--primary);
}
.btn:hover {
  background-color: var(--primary_dark);
}
.btn.white {
  color: var(--title);
  background-color: #fff;
}
.btn.white:hover {
  color: #fff;
  background-color: var(--primary);
}
.btn.dark {
  background-color: var(--title);
}
.btn.dark:hover {
  background-color: var(--primary);
}
.btn_line {
  color: var(--title);
  border: 1px solid var(--title);
}
.btn_line:hover {
  color: #fff;
  background-color: var(--title);
}
.btn_line.light {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}
.btn_line.light:hover {
  color: var(--title);
  border-color: #fff;
  background-color: #fff;
}
/* text link + round accent arrow ("Learn More", "Read More") */
.btn_text {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 2.2rem;
  transition: color 0.3s;
}
.btn_text::after {
  content: '';
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  transition: transform 0.3s;
  background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 11 3M5 3h6v6'/%3E%3C/svg%3E") no-repeat center / 1.1rem;
}
.btn_text:hover {
  color: var(--primary);
}
.btn_text:hover::after {
  transform: rotate(45deg);
}
.btn_text.small {
  gap: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.8rem;
}
.btn_text.small::after {
  width: 2rem;
  height: 2rem;
  background-size: 0.9rem;
}
.btn_text.light {
  color: #fff;
}
/* round slider buttons: dark prev, accent next */
.swiper_btns {
  display: flex;
  gap: 1.2rem;
}
.swiper_btns div {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 50%;
  color: #fff;
  transition: 0.3s;
  background-color: var(--title);
}
.swiper_btns div::after {
  content: '';
  width: 1.6rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.swiper_btns .btn_next {
  background-color: var(--primary);
}
.swiper_btns .btn_next::after {
  transform: rotate(180deg);
}
.swiper_btns div:hover {
  transform: scale(1.06);
}
.swiper_btns .swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}
.check_list li {
  position: relative;
  padding-left: 2.6rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.6rem;
}
.check_list li::before {
  content: '';
  position: absolute;
  left: 0px;
  top: 0.9rem;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.card_hover {
  transition: transform 0.4s, box-shadow 0.4s;
}
.card_hover:hover {
  transform: translateY(-0.6rem);
  box-shadow: 0px 2.4rem 4.8rem -2.4rem rgba(22, 24, 27, 0.25);
}

@media screen and (min-width: 769px) and (max-width: 1180px) {
  .content {
    padding: 0px 4rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .content {
    max-width: 960px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 4.6rem;
    line-height: 1.25;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
  body {
    font-size: 1.5rem;
  }
  .content {
    padding: 0px 20px;
  }
  .tag {
    font-size: 11px;
    line-height: 15px;
  }
  .tag::before {
    width: 7px;
    height: 7px;
  }
  .tcon .tag + h1,
  .tcon .tag + h2 {
    margin-top: 12px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 28px;
    line-height: 1.3;
  }
  .tcon p {
    font-size: 15px;
    line-height: 1.7;
  }
  .tcon h1 + p,
  .tcon h2 + p {
    margin-top: 14px;
  }
  .btn,
  .btn_line {
    height: 50px;
    gap: 10px;
    padding: 0px 22px;
    font-size: 15px;
  }
  .btn.arrow::after,
  .btn_line.arrow::after {
    width: 12px;
    height: 12px;
  }
  .btn_text {
    font-size: 15px;
    line-height: 20px;
  }
  .btn_text::after {
    width: 24px;
    height: 24px;
    background-size: 10px;
  }
  .swiper_btns div {
    width: 44px;
    height: 44px;
  }
  .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 1.6;
  }
  .check_list li::before {
    top: 8px;
  }
}

.home_products {
  padding: 14rem 0px 14rem;
  background-color: var(--light);
}
.home_products .top {
  align-items: flex-start;
  gap: 8rem;
}
.home_products .tcon {
  max-width: 68rem;
}
.home_products .text {
  max-width: 52rem;
}
.home_products .text p {
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.9rem;
}
.home_products .text .btn_text {
  margin-top: 3.2rem;
}
.home_products .list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0px, 1fr));
  gap: 2.4rem;
  margin-top: 7rem;
}
.home_products .list a {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 1.2rem;
  background: radial-gradient(90% 80% at 50% 35%, #34383d 0%, #1b1d20 60%, #121315 100%);
}
.home_products .list .pic {
  position: absolute;
  left: 10%;
  top: 7%;
  width: 80%;
  height: 66%;
}
.home_products .list .pic img {
  filter: drop-shadow(0px 2.4rem 2rem rgba(0, 0, 0, 0.5));
}
.home_products .list a:hover .pic img {
  transform: translateY(-1rem) scale(1.04);
}
.home_products .list .name {
  position: absolute;
  left: 0px;
  bottom: 0px;
  width: 100%;
  padding: 6rem 2.6rem 2.4rem;
  color: #fff;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.55) 0%, transparent 100%);
}
.home_products .list h3 {
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.8rem;
}
.home_products .list .name p {
  margin-top: 0.4rem;
  color: rgba(255, 255, 255, 0.66);
  font-size: 1.4rem;
  line-height: 2rem;
}
.home_products .list .more {
  grid-column: span 2;
}
.home_products .list .more a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  aspect-ratio: auto;
  height: 100%;
  color: #fff;
  font-weight: 500;
  font-size: 2.4rem;
  background: var(--primary);
  transition: background-color 0.3s;
}
.home_products .list .more a:hover {
  background: var(--primary_dark);
}
.home_products .list .more i {
  width: 2.2rem;
  height: 2.2rem;
  transition: transform 0.3s;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23fff' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
}
.home_products .list .more a:hover i {
  transform: translate(0.3rem, -0.3rem);
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .home_products .top {
    flex-direction: column;
    gap: 3rem;
  }
  .home_products .tcon,
  .home_products .text {
    width: 100%;
    max-width: none;
  }
  .home_products .list {
    grid-template-columns: repeat(3, minmax(0px, 1fr));
  }
  .home_products .list .more {
    grid-column: span 3;
  }
  .home_products .list .more a {
    height: 16rem;
  }
}

@media screen and (max-width: 768px) {
  .home_products {
    padding: 64px 0px 64px;
  }
  .home_products .top {
    flex-direction: column;
    gap: 16px;
  }
  .home_products .tcon,
  .home_products .text {
    width: 100%;
    max-width: none;
  }
  .home_products .text p {
    font-size: 15px;
    line-height: 1.7;
  }
  .home_products .text .btn_text {
    margin-top: 18px;
  }
  .home_products .list {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 10px;
    margin-top: 32px;
  }
  .home_products .list a {
    border-radius: 10px;
  }
  .home_products .list .name {
    padding: 30px 12px 12px;
  }
  .home_products .list h3 {
    font-size: 14px;
    line-height: 1.3;
  }
  .home_products .list .name p {
    display: none;
  }
  .home_products .list .more {
    grid-column: span 2;
  }
  .home_products .list .more a {
    height: 88px;
    gap: 12px;
    font-size: 17px;
  }
  .home_products .list .more i {
    width: 16px;
    height: 16px;
  }
}

* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}
:root {
  /* one accent = the LYNCCN logo red (buttons, accent cards, footer). Change these two lines to re-colour the site. */
  --primary: #e8141c;
  --primary_dark: #c10f16;
  --accent: #e8141c;
  --title: #16181b;
  --text: #5b5f66;
  --text2: #8a8e95;
  --line: #e4e4e1;
  /* light grey cards and sections */
  --light: #eef0f3;
  --light2: #e1e5ea;
  --dark: #111315;
  --dark2: #1b1d20;
}
html {
  scroll-behavior: smooth;
  font-size: clamp(7.5px, 0.520834vw, 10px);
}
.content {
  max-width: 144rem;
  margin: 0px auto;
  position: relative;
}
.content .content {
  padding: 0px;
}
li {
  list-style: none;
}
li.swiper-slide {
  height: auto;
}
a {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  text-decoration: none;
}
i,
em {
  font-style: normal;
}
input,
button,
textarea,
select {
  border: none;
  outline: none;
  font-family: inherit;
  color: var(--title);
  background-color: transparent;
}
button {
  cursor: pointer;
}
body {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--title);
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
}
.img.img_cv {
  overflow: hidden;
}
.img.img_cv img {
  object-fit: cover;
}
.img.img_ct img {
  object-fit: contain;
}
.img img {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.6s;
  aspect-ratio: inherit;
}
.img_bg {
  position: relative;
  z-index: 2;
}
.img_bg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -2;
}
/* small uppercase label above section titles */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: var(--text2);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.tag::before {
  content: '';
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.tag.light {
  color: rgba(255, 255, 255, 0.7);
}
.tcon h1,
.tcon h2 {
  color: var(--title);
  font-weight: 600;
  font-size: 5.2rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.tcon .tag + h1,
.tcon .tag + h2 {
  margin-top: 1.8rem;
}
.tcon h1 em,
.tcon h2 em {
  color: var(--accent);
}
.tcon p {
  color: var(--text);
  font-size: 1.7rem;
  line-height: 3rem;
}
.tcon h1 + p,
.tcon h2 + p {
  margin-top: 2.4rem;
}
.tcon.center {
  text-align: center;
}
.tcon.light h1,
.tcon.light h2 {
  color: #fff;
}
.tcon.light p {
  color: rgba(255, 255, 255, 0.78);
}
/* square buttons with a diagonal arrow (reference style) */
.btn,
.btn_line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  height: 6.4rem;
  padding: 0px 3.2rem;
  cursor: pointer;
  white-space: nowrap;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  transition: 0.3s;
}
.btn.arrow::after,
.btn_line.arrow::after {
  content: '';
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform 0.3s;
}
.btn.arrow:hover::after,
.btn_line.arrow:hover::after {
  transform: translate(0.2rem, -0.2rem);
}
.btn {
  color: #fff;
  background-color: var(--primary);
}
.btn:hover {
  background-color: var(--primary_dark);
}
.btn.white {
  color: var(--title);
  background-color: #fff;
}
.btn.white:hover {
  color: #fff;
  background-color: var(--primary);
}
.btn.dark {
  background-color: var(--title);
}
.btn.dark:hover {
  background-color: var(--primary);
}
.btn_line {
  color: var(--title);
  border: 1px solid var(--title);
}
.btn_line:hover {
  color: #fff;
  background-color: var(--title);
}
.btn_line.light {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}
.btn_line.light:hover {
  color: var(--title);
  border-color: #fff;
  background-color: #fff;
}
/* text link + round accent arrow ("Learn More", "Read More") */
.btn_text {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 2.2rem;
  transition: color 0.3s;
}
.btn_text::after {
  content: '';
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  transition: transform 0.3s;
  background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 11 3M5 3h6v6'/%3E%3C/svg%3E") no-repeat center / 1.1rem;
}
.btn_text:hover {
  color: var(--primary);
}
.btn_text:hover::after {
  transform: rotate(45deg);
}
.btn_text.small {
  gap: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.8rem;
}
.btn_text.small::after {
  width: 2rem;
  height: 2rem;
  background-size: 0.9rem;
}
.btn_text.light {
  color: #fff;
}
/* round slider buttons: dark prev, accent next */
.swiper_btns {
  display: flex;
  gap: 1.2rem;
}
.swiper_btns div {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 50%;
  color: #fff;
  transition: 0.3s;
  background-color: var(--title);
}
.swiper_btns div::after {
  content: '';
  width: 1.6rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.swiper_btns .btn_next {
  background-color: var(--primary);
}
.swiper_btns .btn_next::after {
  transform: rotate(180deg);
}
.swiper_btns div:hover {
  transform: scale(1.06);
}
.swiper_btns .swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}
.check_list li {
  position: relative;
  padding-left: 2.6rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.6rem;
}
.check_list li::before {
  content: '';
  position: absolute;
  left: 0px;
  top: 0.9rem;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.card_hover {
  transition: transform 0.4s, box-shadow 0.4s;
}
.card_hover:hover {
  transform: translateY(-0.6rem);
  box-shadow: 0px 2.4rem 4.8rem -2.4rem rgba(22, 24, 27, 0.25);
}

@media screen and (min-width: 769px) and (max-width: 1180px) {
  .content {
    padding: 0px 4rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .content {
    max-width: 960px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 4.6rem;
    line-height: 1.25;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
  body {
    font-size: 1.5rem;
  }
  .content {
    padding: 0px 20px;
  }
  .tag {
    font-size: 11px;
    line-height: 15px;
  }
  .tag::before {
    width: 7px;
    height: 7px;
  }
  .tcon .tag + h1,
  .tcon .tag + h2 {
    margin-top: 12px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 28px;
    line-height: 1.3;
  }
  .tcon p {
    font-size: 15px;
    line-height: 1.7;
  }
  .tcon h1 + p,
  .tcon h2 + p {
    margin-top: 14px;
  }
  .btn,
  .btn_line {
    height: 50px;
    gap: 10px;
    padding: 0px 22px;
    font-size: 15px;
  }
  .btn.arrow::after,
  .btn_line.arrow::after {
    width: 12px;
    height: 12px;
  }
  .btn_text {
    font-size: 15px;
    line-height: 20px;
  }
  .btn_text::after {
    width: 24px;
    height: 24px;
    background-size: 10px;
  }
  .swiper_btns div {
    width: 44px;
    height: 44px;
  }
  .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 1.6;
  }
  .check_list li::before {
    top: 8px;
  }
}

.home_services {
  padding: 14rem 0px 14rem;
  background-color: #fff;
}
.home_services .tcon {
  max-width: 64rem;
}
.home_services .grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0px, 1fr));
  margin-top: 6.4rem;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.home_services .grid li {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 30rem;
  padding: 4.4rem 4rem 4rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background-color: #fff;
  transition: background-color 0.3s;
}
.home_services .grid li::before {
  content: '';
  position: absolute;
  left: -1px;
  top: -1px;
  width: 0px;
  height: 3px;
  background-color: var(--primary);
  transition: width 0.4s;
}
.home_services .grid li:not(.more):hover {
  background-color: var(--light);
}
.home_services .grid li:hover::before {
  width: calc(100% + 2px);
}
.home_services .grid h3 {
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 3rem;
}
.home_services .grid p {
  max-width: 38rem;
  margin-top: 1.4rem;
  color: var(--text);
  font-size: 1.5rem;
  line-height: 2.6rem;
}
.home_services .grid img {
  display: block;
  width: 4rem;
  height: 4rem;
  margin-top: auto;
  padding-top: 0px;
  transition: transform 0.4s;
}
.home_services .grid li:hover img {
  transform: translateY(-0.4rem);
}
.home_services .grid .more {
  align-items: center;
  justify-content: center;
  background-color: transparent;
}
.home_services .grid .more::before {
  display: none;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .home_services .grid {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
  }
}

@media screen and (max-width: 768px) {
  .home_services {
    padding: 64px 0px 64px;
  }
  .home_services .grid {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    margin-top: 32px;
  }
  .home_services .grid li {
    min-height: 0px;
    padding: 26px 20px 24px;
  }
  .home_services .grid h3 {
    font-size: 18px;
    line-height: 1.35;
  }
  .home_services .grid p {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.6;
  }
  .home_services .grid img {
    width: 32px;
    height: 32px;
    margin-top: 20px;
  }
  .home_services .grid .more {
    padding: 22px 20px;
  }
}
@media screen and (max-width: 576px) {
  .home_services .grid {
    grid-template-columns: 1fr;
  }
}

* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}
:root {
  /* one accent = the LYNCCN logo red (buttons, accent cards, footer). Change these two lines to re-colour the site. */
  --primary: #e8141c;
  --primary_dark: #c10f16;
  --accent: #e8141c;
  --title: #16181b;
  --text: #5b5f66;
  --text2: #8a8e95;
  --line: #e4e4e1;
  /* light grey cards and sections */
  --light: #eef0f3;
  --light2: #e1e5ea;
  --dark: #111315;
  --dark2: #1b1d20;
}
html {
  scroll-behavior: smooth;
  font-size: clamp(7.5px, 0.520834vw, 10px);
}
.content {
  max-width: 144rem;
  margin: 0px auto;
  position: relative;
}
.content .content {
  padding: 0px;
}
li {
  list-style: none;
}
li.swiper-slide {
  height: auto;
}
a {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  text-decoration: none;
}
i,
em {
  font-style: normal;
}
input,
button,
textarea,
select {
  border: none;
  outline: none;
  font-family: inherit;
  color: var(--title);
  background-color: transparent;
}
button {
  cursor: pointer;
}
body {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--title);
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
}
.img.img_cv {
  overflow: hidden;
}
.img.img_cv img {
  object-fit: cover;
}
.img.img_ct img {
  object-fit: contain;
}
.img img {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.6s;
  aspect-ratio: inherit;
}
.img_bg {
  position: relative;
  z-index: 2;
}
.img_bg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -2;
}
/* small uppercase label above section titles */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: var(--text2);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.tag::before {
  content: '';
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.tag.light {
  color: rgba(255, 255, 255, 0.7);
}
.tcon h1,
.tcon h2 {
  color: var(--title);
  font-weight: 600;
  font-size: 5.2rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.tcon .tag + h1,
.tcon .tag + h2 {
  margin-top: 1.8rem;
}
.tcon h1 em,
.tcon h2 em {
  color: var(--accent);
}
.tcon p {
  color: var(--text);
  font-size: 1.7rem;
  line-height: 3rem;
}
.tcon h1 + p,
.tcon h2 + p {
  margin-top: 2.4rem;
}
.tcon.center {
  text-align: center;
}
.tcon.light h1,
.tcon.light h2 {
  color: #fff;
}
.tcon.light p {
  color: rgba(255, 255, 255, 0.78);
}
/* square buttons with a diagonal arrow (reference style) */
.btn,
.btn_line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  height: 6.4rem;
  padding: 0px 3.2rem;
  cursor: pointer;
  white-space: nowrap;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  transition: 0.3s;
}
.btn.arrow::after,
.btn_line.arrow::after {
  content: '';
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform 0.3s;
}
.btn.arrow:hover::after,
.btn_line.arrow:hover::after {
  transform: translate(0.2rem, -0.2rem);
}
.btn {
  color: #fff;
  background-color: var(--primary);
}
.btn:hover {
  background-color: var(--primary_dark);
}
.btn.white {
  color: var(--title);
  background-color: #fff;
}
.btn.white:hover {
  color: #fff;
  background-color: var(--primary);
}
.btn.dark {
  background-color: var(--title);
}
.btn.dark:hover {
  background-color: var(--primary);
}
.btn_line {
  color: var(--title);
  border: 1px solid var(--title);
}
.btn_line:hover {
  color: #fff;
  background-color: var(--title);
}
.btn_line.light {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}
.btn_line.light:hover {
  color: var(--title);
  border-color: #fff;
  background-color: #fff;
}
/* text link + round accent arrow ("Learn More", "Read More") */
.btn_text {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 2.2rem;
  transition: color 0.3s;
}
.btn_text::after {
  content: '';
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  transition: transform 0.3s;
  background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 11 3M5 3h6v6'/%3E%3C/svg%3E") no-repeat center / 1.1rem;
}
.btn_text:hover {
  color: var(--primary);
}
.btn_text:hover::after {
  transform: rotate(45deg);
}
.btn_text.small {
  gap: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.8rem;
}
.btn_text.small::after {
  width: 2rem;
  height: 2rem;
  background-size: 0.9rem;
}
.btn_text.light {
  color: #fff;
}
/* round slider buttons: dark prev, accent next */
.swiper_btns {
  display: flex;
  gap: 1.2rem;
}
.swiper_btns div {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 50%;
  color: #fff;
  transition: 0.3s;
  background-color: var(--title);
}
.swiper_btns div::after {
  content: '';
  width: 1.6rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.swiper_btns .btn_next {
  background-color: var(--primary);
}
.swiper_btns .btn_next::after {
  transform: rotate(180deg);
}
.swiper_btns div:hover {
  transform: scale(1.06);
}
.swiper_btns .swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}
.check_list li {
  position: relative;
  padding-left: 2.6rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.6rem;
}
.check_list li::before {
  content: '';
  position: absolute;
  left: 0px;
  top: 0.9rem;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.card_hover {
  transition: transform 0.4s, box-shadow 0.4s;
}
.card_hover:hover {
  transform: translateY(-0.6rem);
  box-shadow: 0px 2.4rem 4.8rem -2.4rem rgba(22, 24, 27, 0.25);
}

@media screen and (min-width: 769px) and (max-width: 1180px) {
  .content {
    padding: 0px 4rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .content {
    max-width: 960px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 4.6rem;
    line-height: 1.25;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
  body {
    font-size: 1.5rem;
  }
  .content {
    padding: 0px 20px;
  }
  .tag {
    font-size: 11px;
    line-height: 15px;
  }
  .tag::before {
    width: 7px;
    height: 7px;
  }
  .tcon .tag + h1,
  .tcon .tag + h2 {
    margin-top: 12px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 28px;
    line-height: 1.3;
  }
  .tcon p {
    font-size: 15px;
    line-height: 1.7;
  }
  .tcon h1 + p,
  .tcon h2 + p {
    margin-top: 14px;
  }
  .btn,
  .btn_line {
    height: 50px;
    gap: 10px;
    padding: 0px 22px;
    font-size: 15px;
  }
  .btn.arrow::after,
  .btn_line.arrow::after {
    width: 12px;
    height: 12px;
  }
  .btn_text {
    font-size: 15px;
    line-height: 20px;
  }
  .btn_text::after {
    width: 24px;
    height: 24px;
    background-size: 10px;
  }
  .swiper_btns div {
    width: 44px;
    height: 44px;
  }
  .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 1.6;
  }
  .check_list li::before {
    top: 8px;
  }
}

.home_process {
  padding: 14rem 0px 14rem;
  color: #fff;
  background-color: var(--dark);
}
.home_process .top {
  align-items: flex-end;
  gap: 8rem;
}
.home_process .tcon {
  max-width: 64rem;
}
.home_process .intro {
  max-width: 46rem;
  color: rgba(255, 255, 255, 0.66);
  font-size: 1.6rem;
  line-height: 2.8rem;
}
.home_process .box {
  align-items: stretch;
  gap: 6rem;
  margin-top: 6.4rem;
}
.home_process .pics {
  position: relative;
  flex-shrink: 0;
  width: 62rem;
  aspect-ratio: 620 / 560;
  overflow: hidden;
  border-radius: 1.6rem;
  background-color: var(--dark2);
}
.home_process .pics li {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scale(1.06);
  transition: opacity 0.7s, transform 1.2s;
}
.home_process .pics li.active {
  opacity: 1;
  transform: scale(1);
}
.home_process .list {
  flex: 1;
  width: 100%;
  min-width: 0px;
  align-self: center;
}
.home_process .list li {
  position: relative;
  padding: 2.8rem 0px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.home_process .list .head {
  align-items: center;
  gap: 2.6rem;
  cursor: pointer;
}
.home_process .list span {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 4.4rem;
  height: 4.4rem;
  color: rgba(255, 255, 255, 0.45);
  font-weight: 500;
  font-size: 1.4rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.18);
  transition: 0.3s;
}
.home_process .list h3 {
  color: rgba(255, 255, 255, 0.38);
  font-weight: 500;
  font-size: 3rem;
  line-height: 3.8rem;
  transition: color 0.3s;
}
.home_process .list .head:hover h3 {
  color: #fff;
}
.home_process .list li.active span {
  color: #fff;
  border-color: var(--primary);
  background-color: var(--primary);
}
.home_process .list li.active h3 {
  color: #fff;
}
.home_process .list .body p {
  max-width: 56rem;
  padding: 1.2rem 0px 0px 7rem;
  color: rgba(255, 255, 255, 0.66);
  font-size: 1.6rem;
  line-height: 2.7rem;
}
.home_process .list .bar {
  position: absolute;
  left: 0px;
  bottom: -1px;
  width: 100%;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left;
  background-color: var(--primary);
}
.home_process .list .bar.run {
  animation: process_bar 6s linear forwards;
}
.home_process .list li:not(.active) .bar {
  animation: none;
  transform: scaleX(0);
}
@keyframes process_bar {
  to {
    transform: scaleX(1);
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .home_process .top {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }
  .home_process .tcon,
  .home_process .intro {
    width: 100%;
    max-width: none;
  }
  .home_process .pics {
    width: 44rem;
  }
  .home_process .list h3 {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 768px) {
  .home_process {
    padding: 64px 0px 64px;
  }
  .home_process .top {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .home_process .tcon,
  .home_process .intro {
    width: 100%;
    max-width: none;
  }
  .home_process .intro {
    font-size: 15px;
    line-height: 1.7;
  }
  .home_process .box {
    flex-direction: column;
    gap: 16px;
    margin-top: 32px;
  }
  .home_process .pics {
    width: 100%;
    border-radius: 12px;
  }
  .home_process .list li {
    padding: 16px 0px;
  }
  .home_process .list .head {
    gap: 14px;
  }
  .home_process .list span {
    width: 34px;
    height: 34px;
    font-size: 12px;
  }
  .home_process .list h3 {
    font-size: 18px;
    line-height: 1.35;
  }
  .home_process .list .body p {
    padding: 8px 0px 0px 48px;
    font-size: 14px;
    line-height: 1.6;
  }
}

* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}
:root {
  /* one accent = the LYNCCN logo red (buttons, accent cards, footer). Change these two lines to re-colour the site. */
  --primary: #e8141c;
  --primary_dark: #c10f16;
  --accent: #e8141c;
  --title: #16181b;
  --text: #5b5f66;
  --text2: #8a8e95;
  --line: #e4e4e1;
  /* light grey cards and sections */
  --light: #eef0f3;
  --light2: #e1e5ea;
  --dark: #111315;
  --dark2: #1b1d20;
}
html {
  scroll-behavior: smooth;
  font-size: clamp(7.5px, 0.520834vw, 10px);
}
.content {
  max-width: 144rem;
  margin: 0px auto;
  position: relative;
}
.content .content {
  padding: 0px;
}
li {
  list-style: none;
}
li.swiper-slide {
  height: auto;
}
a {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  text-decoration: none;
}
i,
em {
  font-style: normal;
}
input,
button,
textarea,
select {
  border: none;
  outline: none;
  font-family: inherit;
  color: var(--title);
  background-color: transparent;
}
button {
  cursor: pointer;
}
body {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--title);
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
}
.img.img_cv {
  overflow: hidden;
}
.img.img_cv img {
  object-fit: cover;
}
.img.img_ct img {
  object-fit: contain;
}
.img img {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.6s;
  aspect-ratio: inherit;
}
.img_bg {
  position: relative;
  z-index: 2;
}
.img_bg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -2;
}
/* small uppercase label above section titles */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: var(--text2);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.tag::before {
  content: '';
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.tag.light {
  color: rgba(255, 255, 255, 0.7);
}
.tcon h1,
.tcon h2 {
  color: var(--title);
  font-weight: 600;
  font-size: 5.2rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.tcon .tag + h1,
.tcon .tag + h2 {
  margin-top: 1.8rem;
}
.tcon h1 em,
.tcon h2 em {
  color: var(--accent);
}
.tcon p {
  color: var(--text);
  font-size: 1.7rem;
  line-height: 3rem;
}
.tcon h1 + p,
.tcon h2 + p {
  margin-top: 2.4rem;
}
.tcon.center {
  text-align: center;
}
.tcon.light h1,
.tcon.light h2 {
  color: #fff;
}
.tcon.light p {
  color: rgba(255, 255, 255, 0.78);
}
/* square buttons with a diagonal arrow (reference style) */
.btn,
.btn_line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  height: 6.4rem;
  padding: 0px 3.2rem;
  cursor: pointer;
  white-space: nowrap;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  transition: 0.3s;
}
.btn.arrow::after,
.btn_line.arrow::after {
  content: '';
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform 0.3s;
}
.btn.arrow:hover::after,
.btn_line.arrow:hover::after {
  transform: translate(0.2rem, -0.2rem);
}
.btn {
  color: #fff;
  background-color: var(--primary);
}
.btn:hover {
  background-color: var(--primary_dark);
}
.btn.white {
  color: var(--title);
  background-color: #fff;
}
.btn.white:hover {
  color: #fff;
  background-color: var(--primary);
}
.btn.dark {
  background-color: var(--title);
}
.btn.dark:hover {
  background-color: var(--primary);
}
.btn_line {
  color: var(--title);
  border: 1px solid var(--title);
}
.btn_line:hover {
  color: #fff;
  background-color: var(--title);
}
.btn_line.light {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}
.btn_line.light:hover {
  color: var(--title);
  border-color: #fff;
  background-color: #fff;
}
/* text link + round accent arrow ("Learn More", "Read More") */
.btn_text {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 2.2rem;
  transition: color 0.3s;
}
.btn_text::after {
  content: '';
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  transition: transform 0.3s;
  background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 11 3M5 3h6v6'/%3E%3C/svg%3E") no-repeat center / 1.1rem;
}
.btn_text:hover {
  color: var(--primary);
}
.btn_text:hover::after {
  transform: rotate(45deg);
}
.btn_text.small {
  gap: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.8rem;
}
.btn_text.small::after {
  width: 2rem;
  height: 2rem;
  background-size: 0.9rem;
}
.btn_text.light {
  color: #fff;
}
/* round slider buttons: dark prev, accent next */
.swiper_btns {
  display: flex;
  gap: 1.2rem;
}
.swiper_btns div {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 50%;
  color: #fff;
  transition: 0.3s;
  background-color: var(--title);
}
.swiper_btns div::after {
  content: '';
  width: 1.6rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.swiper_btns .btn_next {
  background-color: var(--primary);
}
.swiper_btns .btn_next::after {
  transform: rotate(180deg);
}
.swiper_btns div:hover {
  transform: scale(1.06);
}
.swiper_btns .swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}
.check_list li {
  position: relative;
  padding-left: 2.6rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.6rem;
}
.check_list li::before {
  content: '';
  position: absolute;
  left: 0px;
  top: 0.9rem;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.card_hover {
  transition: transform 0.4s, box-shadow 0.4s;
}
.card_hover:hover {
  transform: translateY(-0.6rem);
  box-shadow: 0px 2.4rem 4.8rem -2.4rem rgba(22, 24, 27, 0.25);
}

@media screen and (min-width: 769px) and (max-width: 1180px) {
  .content {
    padding: 0px 4rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .content {
    max-width: 960px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 4.6rem;
    line-height: 1.25;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
  body {
    font-size: 1.5rem;
  }
  .content {
    padding: 0px 20px;
  }
  .tag {
    font-size: 11px;
    line-height: 15px;
  }
  .tag::before {
    width: 7px;
    height: 7px;
  }
  .tcon .tag + h1,
  .tcon .tag + h2 {
    margin-top: 12px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 28px;
    line-height: 1.3;
  }
  .tcon p {
    font-size: 15px;
    line-height: 1.7;
  }
  .tcon h1 + p,
  .tcon h2 + p {
    margin-top: 14px;
  }
  .btn,
  .btn_line {
    height: 50px;
    gap: 10px;
    padding: 0px 22px;
    font-size: 15px;
  }
  .btn.arrow::after,
  .btn_line.arrow::after {
    width: 12px;
    height: 12px;
  }
  .btn_text {
    font-size: 15px;
    line-height: 20px;
  }
  .btn_text::after {
    width: 24px;
    height: 24px;
    background-size: 10px;
  }
  .swiper_btns div {
    width: 44px;
    height: 44px;
  }
  .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 1.6;
  }
  .check_list li::before {
    top: 8px;
  }
}

.home_about {
  padding: 14rem 0px 14rem;
  background-color: var(--light);
}
.home_about .tcon h2 {
  font-size: 5rem;
}
.home_about .bento {
  display: grid;
  grid-template-columns: repeat(4, minmax(0px, 1fr));
  grid-template-rows: 48rem 30rem;
  gap: 2rem;
  margin-top: 6.4rem;
}
.home_about .photo {
  grid-column: span 2;
  border-radius: 1.6rem;
}
.home_about .photo:hover img {
  transform: scale(1.04);
}
.home_about .card,
.home_about .stat {
  display: flex;
  flex-direction: column;
  padding: 2.8rem;
  border-radius: 1.6rem;
  background-color: #fff;
}
.home_about .card .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9rem;
  height: 9rem;
  background-color: var(--light);
}
.home_about .card .icon img {
  display: block;
  width: 4.4rem;
  height: 4.4rem;
}
.home_about .card h3 {
  margin-top: auto;
  font-weight: 600;
  font-size: 3.2rem;
  line-height: 4rem;
}
.home_about .card p {
  margin-top: 1.6rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.6rem;
}
.home_about .stat > p,
.home_about .stat .text > p {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2.2rem;
}
.home_about .stat > p::before,
.home_about .stat .text > p::before {
  content: '/';
  opacity: 0.6;
}
.home_about .stat strong {
  display: block;
  margin-top: auto;
  font-weight: 600;
  font-size: 8rem;
  line-height: 1;
  letter-spacing: -0.03em;
}
.home_about .stat.accent {
  grid-column: span 2;
  flex-direction: row;
  gap: 2.8rem;
  color: #fff;
  background-color: var(--primary);
}
.home_about .stat.accent .text {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.home_about .stat.accent small {
  margin-left: 0.8rem;
  font-size: 2.8rem;
  letter-spacing: 0px;
}
.home_about .stat.accent .text > span {
  display: block;
  max-width: 32rem;
  margin-top: 1.4rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.4rem;
  line-height: 2.2rem;
}
.home_about .stat.accent .pic {
  flex-shrink: 0;
  width: 24rem;
  border-radius: 1rem;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .home_about .bento {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    grid-template-rows: auto;
  }
  .home_about .photo {
    height: 44rem;
  }
  .home_about .card {
    min-height: 34rem;
  }
  .home_about .stat {
    min-height: 26rem;
  }
}

@media screen and (max-width: 768px) {
  .home_about {
    padding: 64px 0px 64px;
  }
  .home_about .tcon h2 {
    font-size: 26px;
  }
  .home_about .tcon h2 br {
    display: none;
  }
  .home_about .bento {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    grid-template-rows: auto;
    gap: 10px;
    margin-top: 32px;
  }
  .home_about .photo {
    height: 240px;
    border-radius: 12px;
  }
  .home_about .card {
    grid-column: span 2;
    min-height: 0px;
    padding: 20px;
    border-radius: 12px;
  }
  .home_about .card .icon {
    width: 56px;
    height: 56px;
  }
  .home_about .card .icon img {
    width: 28px;
    height: 28px;
  }
  .home_about .card h3 {
    margin-top: 28px;
    font-size: 21px;
    line-height: 1.3;
  }
  .home_about .card p {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.6;
  }
  .home_about .stat {
    min-height: 150px;
    padding: 18px;
    border-radius: 12px;
  }
  .home_about .stat > p,
  .home_about .stat .text > p {
    gap: 8px;
    font-size: 13px;
    line-height: 1.4;
  }
  .home_about .stat strong {
    margin-top: 36px;
    font-size: 44px;
  }
  .home_about .stat.accent {
    flex-direction: column;
    gap: 16px;
  }
  .home_about .stat.accent small {
    font-size: 18px;
  }
  .home_about .stat.accent .text > span {
    font-size: 12px;
    line-height: 1.5;
  }
  .home_about .stat.accent .pic {
    width: 100%;
    height: 150px;
  }
}

* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}
:root {
  /* one accent = the LYNCCN logo red (buttons, accent cards, footer). Change these two lines to re-colour the site. */
  --primary: #e8141c;
  --primary_dark: #c10f16;
  --accent: #e8141c;
  --title: #16181b;
  --text: #5b5f66;
  --text2: #8a8e95;
  --line: #e4e4e1;
  /* light grey cards and sections */
  --light: #eef0f3;
  --light2: #e1e5ea;
  --dark: #111315;
  --dark2: #1b1d20;
}
html {
  scroll-behavior: smooth;
  font-size: clamp(7.5px, 0.520834vw, 10px);
}
.content {
  max-width: 144rem;
  margin: 0px auto;
  position: relative;
}
.content .content {
  padding: 0px;
}
li {
  list-style: none;
}
li.swiper-slide {
  height: auto;
}
a {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  text-decoration: none;
}
i,
em {
  font-style: normal;
}
input,
button,
textarea,
select {
  border: none;
  outline: none;
  font-family: inherit;
  color: var(--title);
  background-color: transparent;
}
button {
  cursor: pointer;
}
body {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--title);
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
}
.img.img_cv {
  overflow: hidden;
}
.img.img_cv img {
  object-fit: cover;
}
.img.img_ct img {
  object-fit: contain;
}
.img img {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.6s;
  aspect-ratio: inherit;
}
.img_bg {
  position: relative;
  z-index: 2;
}
.img_bg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -2;
}
/* small uppercase label above section titles */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: var(--text2);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.tag::before {
  content: '';
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.tag.light {
  color: rgba(255, 255, 255, 0.7);
}
.tcon h1,
.tcon h2 {
  color: var(--title);
  font-weight: 600;
  font-size: 5.2rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.tcon .tag + h1,
.tcon .tag + h2 {
  margin-top: 1.8rem;
}
.tcon h1 em,
.tcon h2 em {
  color: var(--accent);
}
.tcon p {
  color: var(--text);
  font-size: 1.7rem;
  line-height: 3rem;
}
.tcon h1 + p,
.tcon h2 + p {
  margin-top: 2.4rem;
}
.tcon.center {
  text-align: center;
}
.tcon.light h1,
.tcon.light h2 {
  color: #fff;
}
.tcon.light p {
  color: rgba(255, 255, 255, 0.78);
}
/* square buttons with a diagonal arrow (reference style) */
.btn,
.btn_line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  height: 6.4rem;
  padding: 0px 3.2rem;
  cursor: pointer;
  white-space: nowrap;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  transition: 0.3s;
}
.btn.arrow::after,
.btn_line.arrow::after {
  content: '';
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform 0.3s;
}
.btn.arrow:hover::after,
.btn_line.arrow:hover::after {
  transform: translate(0.2rem, -0.2rem);
}
.btn {
  color: #fff;
  background-color: var(--primary);
}
.btn:hover {
  background-color: var(--primary_dark);
}
.btn.white {
  color: var(--title);
  background-color: #fff;
}
.btn.white:hover {
  color: #fff;
  background-color: var(--primary);
}
.btn.dark {
  background-color: var(--title);
}
.btn.dark:hover {
  background-color: var(--primary);
}
.btn_line {
  color: var(--title);
  border: 1px solid var(--title);
}
.btn_line:hover {
  color: #fff;
  background-color: var(--title);
}
.btn_line.light {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}
.btn_line.light:hover {
  color: var(--title);
  border-color: #fff;
  background-color: #fff;
}
/* text link + round accent arrow ("Learn More", "Read More") */
.btn_text {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 2.2rem;
  transition: color 0.3s;
}
.btn_text::after {
  content: '';
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  transition: transform 0.3s;
  background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 11 3M5 3h6v6'/%3E%3C/svg%3E") no-repeat center / 1.1rem;
}
.btn_text:hover {
  color: var(--primary);
}
.btn_text:hover::after {
  transform: rotate(45deg);
}
.btn_text.small {
  gap: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.8rem;
}
.btn_text.small::after {
  width: 2rem;
  height: 2rem;
  background-size: 0.9rem;
}
.btn_text.light {
  color: #fff;
}
/* round slider buttons: dark prev, accent next */
.swiper_btns {
  display: flex;
  gap: 1.2rem;
}
.swiper_btns div {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 50%;
  color: #fff;
  transition: 0.3s;
  background-color: var(--title);
}
.swiper_btns div::after {
  content: '';
  width: 1.6rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.swiper_btns .btn_next {
  background-color: var(--primary);
}
.swiper_btns .btn_next::after {
  transform: rotate(180deg);
}
.swiper_btns div:hover {
  transform: scale(1.06);
}
.swiper_btns .swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}
.check_list li {
  position: relative;
  padding-left: 2.6rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.6rem;
}
.check_list li::before {
  content: '';
  position: absolute;
  left: 0px;
  top: 0.9rem;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.card_hover {
  transition: transform 0.4s, box-shadow 0.4s;
}
.card_hover:hover {
  transform: translateY(-0.6rem);
  box-shadow: 0px 2.4rem 4.8rem -2.4rem rgba(22, 24, 27, 0.25);
}

@media screen and (min-width: 769px) and (max-width: 1180px) {
  .content {
    padding: 0px 4rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .content {
    max-width: 960px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 4.6rem;
    line-height: 1.25;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
  body {
    font-size: 1.5rem;
  }
  .content {
    padding: 0px 20px;
  }
  .tag {
    font-size: 11px;
    line-height: 15px;
  }
  .tag::before {
    width: 7px;
    height: 7px;
  }
  .tcon .tag + h1,
  .tcon .tag + h2 {
    margin-top: 12px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 28px;
    line-height: 1.3;
  }
  .tcon p {
    font-size: 15px;
    line-height: 1.7;
  }
  .tcon h1 + p,
  .tcon h2 + p {
    margin-top: 14px;
  }
  .btn,
  .btn_line {
    height: 50px;
    gap: 10px;
    padding: 0px 22px;
    font-size: 15px;
  }
  .btn.arrow::after,
  .btn_line.arrow::after {
    width: 12px;
    height: 12px;
  }
  .btn_text {
    font-size: 15px;
    line-height: 20px;
  }
  .btn_text::after {
    width: 24px;
    height: 24px;
    background-size: 10px;
  }
  .swiper_btns div {
    width: 44px;
    height: 44px;
  }
  .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 1.6;
  }
  .check_list li::before {
    top: 8px;
  }
}

.home_industries {
  overflow: hidden;
  padding: 14rem 0px 14rem;
}
.home_industries .slider {
  margin-top: 6rem;
}
.home_industries .track {
  display: flex;
  gap: 1.6rem;
  transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.1, 1);
  touch-action: pan-y;
}
.home_industries .track li {
  position: relative;
  flex-shrink: 0;
  width: 26rem;
  height: 52rem;
  overflow: hidden;
  cursor: pointer;
  border-radius: 1.2rem;
  background-color: var(--dark);
  transition: width 0.7s cubic-bezier(0.2, 0.7, 0.1, 1);
}
.home_industries .track li.on {
  width: 54rem;
  cursor: default;
}
.home_industries .track li > img {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s;
}
.home_industries .track li:hover > img {
  transform: scale(1.04);
}
.home_industries .track li::after {
  content: '';
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(10, 12, 14, 0.78) 0%, rgba(10, 12, 14, 0.1) 55%, rgba(10, 12, 14, 0.2) 100%);
}
.home_industries .num {
  position: absolute;
  left: 2rem;
  top: 2rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.6rem;
  height: 4.6rem;
  color: #fff;
  font-weight: 500;
  font-size: 1.4rem;
  border-radius: 50%;
  background-color: rgba(22, 24, 27, 0.55);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.home_industries .track li.on .num {
  background-color: var(--primary);
}
.home_industries .text {
  position: absolute;
  left: 2.4rem;
  right: 2.4rem;
  bottom: 2.4rem;
  z-index: 2;
  color: #fff;
}
.home_industries .text h3 {
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.8rem;
  transition: font-size 0.7s cubic-bezier(0.2, 0.7, 0.1, 1), line-height 0.7s cubic-bezier(0.2, 0.7, 0.1, 1);
}
.home_industries .track li.on .text h3 {
  max-width: 40rem;
  font-size: 3.4rem;
  line-height: 4.2rem;
}
.home_industries .text .slide {
  max-height: 0;
  overflow: hidden;
  pointer-events: none;
  transition: max-height 0.7s cubic-bezier(0.2, 0.7, 0.1, 1);
}
.home_industries .text .slide > div {
  overflow: hidden;
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 0.45s, transform 0.7s cubic-bezier(0.2, 0.7, 0.1, 1);
}
.home_industries .track li.on .text .slide {
  max-height: var(--slide, 16rem);
  pointer-events: auto;
}
.home_industries .track li.on .text .slide > div {
  opacity: 1;
  transform: translateY(0);
}
.home_industries .text p {
  margin-top: 1rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.5rem;
  line-height: 2.2rem;
}
.home_industries .text .cta {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin-top: 2.2rem;
}
.home_industries .track li .text p {
  display: block;
}
.home_industries .track li .text .cta {
  display: inline-flex;
}
.home_industries .track li.on .text p,
.home_industries .track li.on .text .cta {
  animation: none;
}
.home_industries .cta span {
  display: inline-flex;
  align-items: center;
  height: 4.4rem;
  padding: 0px 2rem;
  color: #fff;
  font-weight: 500;
  font-size: 1.4rem;
  border-radius: 10rem;
  background-color: var(--primary);
  transition: background-color 0.3s;
}
.home_industries .cta i {
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  transition: transform 0.3s;
  background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 11 3M5 3h6v6'/%3E%3C/svg%3E") no-repeat center / 1.3rem;
}
.home_industries .cta:hover span {
  background-color: var(--primary_dark);
}
.home_industries .cta:hover i {
  transform: rotate(45deg);
}
.home_industries .nav {
  gap: 4rem;
  margin-top: 4rem;
}
.home_industries .progress {
  flex: 1;
  height: 3px;
  background-color: var(--light2);
}
.home_industries .progress i {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0.125);
  transform-origin: left;
  transition: transform 0.6s;
  background-color: var(--title);
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .home_industries .track li {
    width: 22rem;
    height: 48rem;
  }
  .home_industries .track li.on {
    width: 48rem;
  }
}

@media screen and (max-width: 768px) {
  .home_industries {
    padding: 64px 0px 64px;
  }
  .home_industries .slider {
    margin-top: 32px;
  }
  .home_industries .track {
    gap: 10px;
  }
  .home_industries .track li {
    width: 68vw;
    height: 400px;
    border-radius: 12px;
  }
  .home_industries .track li.on {
    width: 68vw;
  }
  .home_industries .num {
    left: 14px;
    top: 14px;
    width: 38px;
    height: 38px;
    font-size: 12px;
  }
  .home_industries .text {
    left: 16px;
    right: 16px;
    bottom: 16px;
  }
  .home_industries .text h3,
  .home_industries .track li.on .text h3 {
    font-size: 22px;
    line-height: 1.25;
  }
  .home_industries .text .slide,
  .home_industries .track li.on .text .slide {
    max-height: none;
    overflow: visible;
    pointer-events: auto;
  }
  .home_industries .text .slide > div {
    overflow: visible;
    opacity: 1;
    transform: none;
  }
  .home_industries .text p {
    display: block;
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px;
    line-height: 1.5;
  }
  .home_industries .text .cta {
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    transition: max-height 0.45s, margin-top 0.45s, opacity 0.35s, transform 0.45s;
  }
  .home_industries .track li.on .text .cta {
    max-height: 40px;
    margin-top: 14px;
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
  .home_industries .cta span {
    height: 40px;
    padding: 0px 16px;
    font-size: 13px;
  }
  .home_industries .cta i {
    width: 40px;
    height: 40px;
  }
  .home_industries .nav {
    gap: 20px;
    margin-top: 24px;
  }
}

* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}
:root {
  /* one accent = the LYNCCN logo red (buttons, accent cards, footer). Change these two lines to re-colour the site. */
  --primary: #e8141c;
  --primary_dark: #c10f16;
  --accent: #e8141c;
  --title: #16181b;
  --text: #5b5f66;
  --text2: #8a8e95;
  --line: #e4e4e1;
  /* light grey cards and sections */
  --light: #eef0f3;
  --light2: #e1e5ea;
  --dark: #111315;
  --dark2: #1b1d20;
}
html {
  scroll-behavior: smooth;
  font-size: clamp(7.5px, 0.520834vw, 10px);
}
.content {
  max-width: 144rem;
  margin: 0px auto;
  position: relative;
}
.content .content {
  padding: 0px;
}
li {
  list-style: none;
}
li.swiper-slide {
  height: auto;
}
a {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  text-decoration: none;
}
i,
em {
  font-style: normal;
}
input,
button,
textarea,
select {
  border: none;
  outline: none;
  font-family: inherit;
  color: var(--title);
  background-color: transparent;
}
button {
  cursor: pointer;
}
body {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--title);
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
}
.img.img_cv {
  overflow: hidden;
}
.img.img_cv img {
  object-fit: cover;
}
.img.img_ct img {
  object-fit: contain;
}
.img img {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.6s;
  aspect-ratio: inherit;
}
.img_bg {
  position: relative;
  z-index: 2;
}
.img_bg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -2;
}
/* small uppercase label above section titles */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: var(--text2);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.tag::before {
  content: '';
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.tag.light {
  color: rgba(255, 255, 255, 0.7);
}
.tcon h1,
.tcon h2 {
  color: var(--title);
  font-weight: 600;
  font-size: 5.2rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.tcon .tag + h1,
.tcon .tag + h2 {
  margin-top: 1.8rem;
}
.tcon h1 em,
.tcon h2 em {
  color: var(--accent);
}
.tcon p {
  color: var(--text);
  font-size: 1.7rem;
  line-height: 3rem;
}
.tcon h1 + p,
.tcon h2 + p {
  margin-top: 2.4rem;
}
.tcon.center {
  text-align: center;
}
.tcon.light h1,
.tcon.light h2 {
  color: #fff;
}
.tcon.light p {
  color: rgba(255, 255, 255, 0.78);
}
/* square buttons with a diagonal arrow (reference style) */
.btn,
.btn_line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  height: 6.4rem;
  padding: 0px 3.2rem;
  cursor: pointer;
  white-space: nowrap;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  transition: 0.3s;
}
.btn.arrow::after,
.btn_line.arrow::after {
  content: '';
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform 0.3s;
}
.btn.arrow:hover::after,
.btn_line.arrow:hover::after {
  transform: translate(0.2rem, -0.2rem);
}
.btn {
  color: #fff;
  background-color: var(--primary);
}
.btn:hover {
  background-color: var(--primary_dark);
}
.btn.white {
  color: var(--title);
  background-color: #fff;
}
.btn.white:hover {
  color: #fff;
  background-color: var(--primary);
}
.btn.dark {
  background-color: var(--title);
}
.btn.dark:hover {
  background-color: var(--primary);
}
.btn_line {
  color: var(--title);
  border: 1px solid var(--title);
}
.btn_line:hover {
  color: #fff;
  background-color: var(--title);
}
.btn_line.light {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}
.btn_line.light:hover {
  color: var(--title);
  border-color: #fff;
  background-color: #fff;
}
/* text link + round accent arrow ("Learn More", "Read More") */
.btn_text {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 2.2rem;
  transition: color 0.3s;
}
.btn_text::after {
  content: '';
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  transition: transform 0.3s;
  background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 11 3M5 3h6v6'/%3E%3C/svg%3E") no-repeat center / 1.1rem;
}
.btn_text:hover {
  color: var(--primary);
}
.btn_text:hover::after {
  transform: rotate(45deg);
}
.btn_text.small {
  gap: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.8rem;
}
.btn_text.small::after {
  width: 2rem;
  height: 2rem;
  background-size: 0.9rem;
}
.btn_text.light {
  color: #fff;
}
/* round slider buttons: dark prev, accent next */
.swiper_btns {
  display: flex;
  gap: 1.2rem;
}
.swiper_btns div {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 50%;
  color: #fff;
  transition: 0.3s;
  background-color: var(--title);
}
.swiper_btns div::after {
  content: '';
  width: 1.6rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.swiper_btns .btn_next {
  background-color: var(--primary);
}
.swiper_btns .btn_next::after {
  transform: rotate(180deg);
}
.swiper_btns div:hover {
  transform: scale(1.06);
}
.swiper_btns .swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}
.check_list li {
  position: relative;
  padding-left: 2.6rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.6rem;
}
.check_list li::before {
  content: '';
  position: absolute;
  left: 0px;
  top: 0.9rem;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.card_hover {
  transition: transform 0.4s, box-shadow 0.4s;
}
.card_hover:hover {
  transform: translateY(-0.6rem);
  box-shadow: 0px 2.4rem 4.8rem -2.4rem rgba(22, 24, 27, 0.25);
}

@media screen and (min-width: 769px) and (max-width: 1180px) {
  .content {
    padding: 0px 4rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .content {
    max-width: 960px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 4.6rem;
    line-height: 1.25;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
  body {
    font-size: 1.5rem;
  }
  .content {
    padding: 0px 20px;
  }
  .tag {
    font-size: 11px;
    line-height: 15px;
  }
  .tag::before {
    width: 7px;
    height: 7px;
  }
  .tcon .tag + h1,
  .tcon .tag + h2 {
    margin-top: 12px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 28px;
    line-height: 1.3;
  }
  .tcon p {
    font-size: 15px;
    line-height: 1.7;
  }
  .tcon h1 + p,
  .tcon h2 + p {
    margin-top: 14px;
  }
  .btn,
  .btn_line {
    height: 50px;
    gap: 10px;
    padding: 0px 22px;
    font-size: 15px;
  }
  .btn.arrow::after,
  .btn_line.arrow::after {
    width: 12px;
    height: 12px;
  }
  .btn_text {
    font-size: 15px;
    line-height: 20px;
  }
  .btn_text::after {
    width: 24px;
    height: 24px;
    background-size: 10px;
  }
  .swiper_btns div {
    width: 44px;
    height: 44px;
  }
  .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 1.6;
  }
  .check_list li::before {
    top: 8px;
  }
}

.home_news {
  padding: 14rem 0px 14rem;
  background-color: var(--light);
}
.home_news .top {
  align-items: flex-end;
  gap: 4rem;
}
.home_news .list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0px, 1fr));
  gap: 2.4rem;
  margin-top: 5.6rem;
}
.home_news .list li {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding-bottom: 3rem;
  border-radius: 1.2rem;
  background-color: #fff;
  transition: transform 0.4s, box-shadow 0.4s;
}
.home_news .list li:hover {
  transform: translateY(-0.6rem);
  box-shadow: 0px 2.4rem 4.8rem -2.4rem rgba(22, 24, 27, 0.25);
}
.home_news h3,
.home_news .excerpt,
.home_news li .btn_text {
  margin-left: 2.8rem;
  margin-right: 2.8rem;
}
.home_news .pic,
.home_news .strip {
  flex-shrink: 0;
}
.home_news .pic {
  display: block;
  aspect-ratio: 440 / 290;
  border-radius: 1.2rem 1.2rem 0px 0px;
}
.home_news li:hover .pic img {
  transform: scale(1.05);
}
.home_news .strip {
  gap: 2rem;
  padding: 1rem 1.6rem;
  color: #fff;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1.8rem;
  background-color: var(--primary);
}
.home_news h3 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin-top: 2.4rem;
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 3.1rem;
}
.home_news h3 a {
  transition: color 0.3s;
}
.home_news h3 a:hover {
  color: var(--primary);
}
.home_news .excerpt {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin-top: 1.2rem;
  color: var(--text);
  font-size: 1.5rem;
  line-height: 2.6rem;
}
.home_news li .btn_text {
  margin-top: auto;
  padding-top: 2rem;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .home_news .list {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 2.4rem;
  }
  .home_news h3 {
    font-size: 2rem;
    line-height: 2.8rem;
  }
}

@media screen and (max-width: 768px) {
  .home_news {
    padding: 64px 0px 64px;
  }
  .home_news .list li {
    padding-bottom: 22px;
  }
  .home_news h3,
  .home_news .excerpt,
  .home_news li .btn_text {
    margin-left: 18px;
    margin-right: 18px;
  }
  .home_news .top {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .home_news .tcon {
    width: 100%;
  }
  .home_news .list {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 24px;
    margin-top: 28px;
  }
  .home_news .strip {
    padding: 8px 12px;
    font-size: 12px;
  }
  .home_news h3 {
    margin-top: 14px;
    font-size: 18px;
    line-height: 1.4;
  }
  .home_news .excerpt {
    font-size: 14px;
    line-height: 1.6;
  }
  .home_news li .btn_text {
    margin-top: auto;
    padding-top: 12px;
  }
}
@media screen and (max-width: 576px) {
  .home_news .list {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}
.home_news .cats {
  display: flex;
  gap: 0.8rem;
  margin: 0;
  overflow-x: auto;
}
.home_news .cats li {
  flex-shrink: 0;
}
.home_news .cats a {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  height: 4.8rem;
  padding: 0 2rem;
  color: var(--text);
  font-weight: 500;
  font-size: 1.4rem;
  white-space: nowrap;
  border: 1px solid rgba(22, 24, 27, 0.16);
  transition: 0.3s;
}
.home_news .cats a span {
  color: var(--text2);
  font-size: 1.2rem;
  transition: color 0.3s;
}
.home_news .cats a:hover {
  color: var(--title);
  border-color: rgba(22, 24, 27, 0.4);
}
.home_news .cats li.active a,
.home_news .cats li.active a:hover {
  color: #fff;
  border-color: var(--primary);
  background-color: var(--primary);
}
.home_news .cats li.active a span {
  color: rgba(255, 255, 255, 0.7);
}
.home_news .cats + .list {
  margin-top: 2.4rem;
}
.home_news .pages {
  justify-content: center;
  gap: 0.8rem;
  margin-top: 5.6rem;
}
.home_news .pages.single {
  display: none;
}
.home_news .pages .nums {
  display: flex;
  gap: 0.8rem;
}
.home_news .pages a,
.home_news .pages .prev,
.home_news .pages .next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.5rem;
  border: 1px solid var(--line);
  background-color: #fff;
  transition: 0.3s;
}
.home_news .pages a:hover {
  border-color: var(--title);
}
.home_news .pages .nums a.active {
  color: #fff;
  border-color: var(--primary);
  background-color: var(--primary);
}
.home_news .pages .prev,
.home_news .pages .next {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%2316181b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.4rem;
}
.home_news .pages .next {
  transform: rotate(180deg);
}
.home_news .pages span.prev,
.home_news .pages span.next {
  opacity: 0.3;
  pointer-events: none;
}
.post_single .meta a {
  color: inherit;
}
.post_body {
  padding: 8rem 0 10rem;
}
.post_body .cover {
  max-width: 108rem;
  margin: 0 auto 4.8rem;
  border-radius: 1.6rem;
  aspect-ratio: 16 / 7;
}
.post_body .cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.post_detail {
  max-width: 86rem;
  margin: 0 auto;
  color: var(--text);
  font-size: 1.7rem;
  line-height: 3.2rem;
}
.post_detail > * + * {
  margin-top: 2.4rem;
}
.post_detail h2 {
  margin-top: 4.8rem;
  color: var(--title);
  font-weight: 600;
  font-size: 3.2rem;
  line-height: 1.3;
}
.post_detail h3 {
  margin-top: 3.6rem;
  color: var(--title);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.4;
}
.post_detail a {
  color: var(--primary);
}
.post_detail ul,
.post_detail ol {
  padding-left: 2rem;
}
.post_detail li {
  list-style: disc;
  margin-top: 0.8rem;
}
.post_detail img {
  width: 100%;
  border-radius: 1.2rem;
}
.post_detail blockquote {
  margin: 3.2rem 0;
  padding: 0.4rem 0 0.4rem 2.4rem;
  color: var(--title);
  font-size: 2rem;
  line-height: 1.6;
  border-left: 3px solid var(--primary);
}
@media screen and (max-width: 768px) {
  .home_news .cats {
    gap: 6px;
    margin: 0 -20px;
    padding: 0 20px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .home_news .cats::-webkit-scrollbar {
    display: none;
  }
  .home_news .cats a {
    gap: 6px;
    height: 38px;
    padding: 0 12px;
    font-size: 12px;
  }
  .post_body {
    padding: 40px 0 64px;
  }
  .post_body .cover {
    margin-bottom: 24px;
    border-radius: 12px;
    aspect-ratio: 16 / 10;
  }
  .post_detail {
    font-size: 15px;
    line-height: 1.7;
  }
  .post_detail h2 {
    margin-top: 28px;
    font-size: 24px;
  }
  .post_detail h3 {
    font-size: 18px;
  }
}

* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}
:root {
  /* one accent = the LYNCCN logo red (buttons, accent cards, footer). Change these two lines to re-colour the site. */
  --primary: #e8141c;
  --primary_dark: #c10f16;
  --accent: #e8141c;
  --title: #16181b;
  --text: #5b5f66;
  --text2: #8a8e95;
  --line: #e4e4e1;
  /* light grey cards and sections */
  --light: #eef0f3;
  --light2: #e1e5ea;
  --dark: #111315;
  --dark2: #1b1d20;
}
html {
  scroll-behavior: smooth;
  font-size: clamp(7.5px, 0.520834vw, 10px);
}
.content {
  max-width: 144rem;
  margin: 0px auto;
  position: relative;
}
.content .content {
  padding: 0px;
}
li {
  list-style: none;
}
li.swiper-slide {
  height: auto;
}
a {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  text-decoration: none;
}
i,
em {
  font-style: normal;
}
input,
button,
textarea,
select {
  border: none;
  outline: none;
  font-family: inherit;
  color: var(--title);
  background-color: transparent;
}
button {
  cursor: pointer;
}
body {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--title);
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
}
.img.img_cv {
  overflow: hidden;
}
.img.img_cv img {
  object-fit: cover;
}
.img.img_ct img {
  object-fit: contain;
}
.img img {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.6s;
  aspect-ratio: inherit;
}
.img_bg {
  position: relative;
  z-index: 2;
}
.img_bg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -2;
}
/* small uppercase label above section titles */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: var(--text2);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.tag::before {
  content: '';
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.tag.light {
  color: rgba(255, 255, 255, 0.7);
}
.tcon h1,
.tcon h2 {
  color: var(--title);
  font-weight: 600;
  font-size: 5.2rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.tcon .tag + h1,
.tcon .tag + h2 {
  margin-top: 1.8rem;
}
.tcon h1 em,
.tcon h2 em {
  color: var(--accent);
}
.tcon p {
  color: var(--text);
  font-size: 1.7rem;
  line-height: 3rem;
}
.tcon h1 + p,
.tcon h2 + p {
  margin-top: 2.4rem;
}
.tcon.center {
  text-align: center;
}
.tcon.light h1,
.tcon.light h2 {
  color: #fff;
}
.tcon.light p {
  color: rgba(255, 255, 255, 0.78);
}
/* square buttons with a diagonal arrow (reference style) */
.btn,
.btn_line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  height: 6.4rem;
  padding: 0px 3.2rem;
  cursor: pointer;
  white-space: nowrap;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  transition: 0.3s;
}
.btn.arrow::after,
.btn_line.arrow::after {
  content: '';
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12.5 12.5 1.5M4 1.5h8.5V10'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform 0.3s;
}
.btn.arrow:hover::after,
.btn_line.arrow:hover::after {
  transform: translate(0.2rem, -0.2rem);
}
.btn {
  color: #fff;
  background-color: var(--primary);
}
.btn:hover {
  background-color: var(--primary_dark);
}
.btn.white {
  color: var(--title);
  background-color: #fff;
}
.btn.white:hover {
  color: #fff;
  background-color: var(--primary);
}
.btn.dark {
  background-color: var(--title);
}
.btn.dark:hover {
  background-color: var(--primary);
}
.btn_line {
  color: var(--title);
  border: 1px solid var(--title);
}
.btn_line:hover {
  color: #fff;
  background-color: var(--title);
}
.btn_line.light {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}
.btn_line.light:hover {
  color: var(--title);
  border-color: #fff;
  background-color: #fff;
}
/* text link + round accent arrow ("Learn More", "Read More") */
.btn_text {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  color: var(--title);
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 2.2rem;
  transition: color 0.3s;
}
.btn_text::after {
  content: '';
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  transition: transform 0.3s;
  background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 11 3M5 3h6v6'/%3E%3C/svg%3E") no-repeat center / 1.1rem;
}
.btn_text:hover {
  color: var(--primary);
}
.btn_text:hover::after {
  transform: rotate(45deg);
}
.btn_text.small {
  gap: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.8rem;
}
.btn_text.small::after {
  width: 2rem;
  height: 2rem;
  background-size: 0.9rem;
}
.btn_text.light {
  color: #fff;
}
/* round slider buttons: dark prev, accent next */
.swiper_btns {
  display: flex;
  gap: 1.2rem;
}
.swiper_btns div {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 50%;
  color: #fff;
  transition: 0.3s;
  background-color: var(--title);
}
.swiper_btns div::after {
  content: '';
  width: 1.6rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.3 5H.7M4.8.8.7 5l4.1 4.2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.swiper_btns .btn_next {
  background-color: var(--primary);
}
.swiper_btns .btn_next::after {
  transform: rotate(180deg);
}
.swiper_btns div:hover {
  transform: scale(1.06);
}
.swiper_btns .swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}
.check_list li {
  position: relative;
  padding-left: 2.6rem;
  color: var(--text);
  font-size: 1.6rem;
  line-height: 2.6rem;
}
.check_list li::before {
  content: '';
  position: absolute;
  left: 0px;
  top: 0.9rem;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary);
}
.card_hover {
  transition: transform 0.4s, box-shadow 0.4s;
}
.card_hover:hover {
  transform: translateY(-0.6rem);
  box-shadow: 0px 2.4rem 4.8rem -2.4rem rgba(22, 24, 27, 0.25);
}

@media screen and (min-width: 769px) and (max-width: 1180px) {
  .content {
    padding: 0px 4rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .content {
    max-width: 960px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 4.6rem;
    line-height: 1.25;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 10px;
  }
  body {
    font-size: 1.5rem;
  }
  .content {
    padding: 0px 20px;
  }
  .tag {
    font-size: 11px;
    line-height: 15px;
  }
  .tag::before {
    width: 7px;
    height: 7px;
  }
  .tcon .tag + h1,
  .tcon .tag + h2 {
    margin-top: 12px;
  }
  .tcon h1,
  .tcon h2 {
    font-size: 28px;
    line-height: 1.3;
  }
  .tcon p {
    font-size: 15px;
    line-height: 1.7;
  }
  .tcon h1 + p,
  .tcon h2 + p {
    margin-top: 14px;
  }
  .btn,
  .btn_line {
    height: 50px;
    gap: 10px;
    padding: 0px 22px;
    font-size: 15px;
  }
  .btn.arrow::after,
  .btn_line.arrow::after {
    width: 12px;
    height: 12px;
  }
  .btn_text {
    font-size: 15px;
    line-height: 20px;
  }
  .btn_text::after {
    width: 24px;
    height: 24px;
    background-size: 10px;
  }
  .swiper_btns div {
    width: 44px;
    height: 44px;
  }
  .check_list li {
    padding-left: 22px;
    font-size: 14px;
    line-height: 1.6;
  }
  .check_list li::before {
    top: 8px;
  }
}

.home_partners {
  padding: 14rem 0px 14rem;
}
.home_partners .brands {
  display: grid;
  grid-template-columns: repeat(8, minmax(0px, 1fr));
  align-items: center;
  margin-top: 5.6rem;
}
.home_partners .brands li {
  color: #b5b8bd;
  font-size: 2.6rem;
  line-height: 3.2rem;
  text-align: center;
  white-space: nowrap;
  transition: color 0.3s;
}
.home_partners .brands li:hover {
  color: var(--title);
}
.home_partners .brands .b1 {
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0.02em;
}
.home_partners .brands .b2 {
  font-weight: 700;
  letter-spacing: 0.08em;
}
.home_partners .brands .b3 {
  font-weight: 600;
  letter-spacing: 0.24em;
}
.home_partners .brands .b4 {
  font-weight: 600;
  letter-spacing: -0.02em;
}
.home_partners .brands .b5 {
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: 0.04em;
}
.home_partners .brands .b6 {
  font-weight: 500;
  letter-spacing: 0.18em;
}
.home_partners .brands .b7 {
  font-weight: 700;
  font-style: italic;
}
.home_partners .brands .b8 {
  font-weight: 600;
  letter-spacing: 0.1em;
}
.home_partners .note {
  margin-top: 2.4rem;
  color: var(--text2);
  font-size: 1.3rem;
  line-height: 2rem;
  text-align: center;
}
.home_partners .certs {
  align-items: center;
  gap: 8rem;
  margin-top: 10rem;
  padding: 6rem;
  border-radius: 1.6rem;
  background-color: var(--light);
}
.home_partners .certs .text {
  flex-shrink: 0;
  width: 44rem;
}
.home_partners .certs h3 {
  font-weight: 600;
  font-size: 3.2rem;
  line-height: 4.2rem;
}
.home_partners .certs .check_list {
  margin-top: 2.8rem;
}
.home_partners .certs .check_list li + li {
  margin-top: 1.2rem;
}
.home_partners .certs .list {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0px, 1fr));
  gap: 2.4rem;
}
.home_partners .certs .list a {
  display: block;
  aspect-ratio: 800 / 1140;
  padding: 0.8rem;
  background-color: #fff;
  box-shadow: 0px 1.6rem 3.2rem -2rem rgba(22, 24, 27, 0.35);
  transition: transform 0.4s;
}
.home_partners .certs .list a:hover {
  transform: translateY(-0.8rem);
}
.home_partners .certs .list p {
  margin-top: 1.4rem;
  color: var(--text);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2rem;
  text-align: center;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .home_partners .brands {
    grid-template-columns: repeat(4, minmax(0px, 1fr));
    row-gap: 4rem;
  }
  .home_partners .certs {
    flex-direction: column;
    align-items: stretch;
    gap: 4rem;
  }
  .home_partners .certs .text {
    width: auto;
  }
}

@media screen and (max-width: 768px) {
  .home_partners {
    padding: 56px 0px 64px;
  }
  .home_partners .tcon h2 br {
    display: none;
  }
  .home_partners .brands {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    row-gap: 22px;
    margin-top: 32px;
  }
  .home_partners .brands li,
  .home_partners .brands .b5 {
    font-size: 19px;
    line-height: 1.3;
  }
  .home_partners .note {
    margin-top: 20px;
    font-size: 11px;
  }
  .home_partners .certs {
    flex-direction: column;
    align-items: stretch;
    gap: 28px;
    margin-top: 48px;
    padding: 24px 18px;
    border-radius: 12px;
  }
  .home_partners .certs .text {
    width: auto;
  }
  .home_partners .certs h3 {
    font-size: 21px;
    line-height: 1.35;
  }
  .home_partners .certs .check_list {
    margin-top: 16px;
  }
  .home_partners .certs .list {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 16px;
  }
  .home_partners .certs .list p {
    margin-top: 8px;
    font-size: 12px;
  }
}

.post_detail .facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 1.2rem;
  margin: 3.2rem 0;
  padding: 0;
}
.post_detail .facts li {
  list-style: none;
  margin: 0;
  padding: 1.6rem 1.8rem;
  background: var(--light);
}
.post_detail .facts span {
  display: block;
  color: var(--text2);
  font-size: 1.2rem;
  line-height: 1.6rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.post_detail .facts strong {
  display: block;
  margin-top: 0.6rem;
  color: var(--title);
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 2.2rem;
}
.post_detail figure {
  margin: 3.2rem 0;
}
.post_detail figcaption {
  margin-top: 1rem;
  color: var(--text2);
  font-size: 1.4rem;
  line-height: 2.2rem;
}
.post_detail .plan {
  padding: 2rem;
  background: var(--light);
}
.post_detail .plan img {
  background: #fff;
}
.post_detail .shots {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6rem;
  margin: 3.2rem 0;
}
.post_detail .shots figure {
  margin: 0;
}
.post_detail .shots figure.wide {
  grid-column: 1 / -1;
}
@media screen and (max-width: 768px) {
  .post_detail .facts {
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 24px 0;
  }
  .post_detail .facts li {
    padding: 14px 16px;
  }
  .post_detail .facts strong {
    font-size: 15px;
    line-height: 1.4;
  }
  .post_detail figure {
    margin: 24px 0;
  }
  .post_detail figcaption {
    font-size: 13px;
    line-height: 1.5;
  }
  .post_detail .plan {
    padding: 12px;
  }
  .post_detail .shots {
    gap: 12px;
    margin: 24px 0;
  }
}
@media screen and (max-width: 576px) {
  .post_detail .shots {
    grid-template-columns: 1fr;
  }
  .post_detail .shots figure.wide {
    grid-column: auto;
  }
}

