*,
*::before,
*::after {
  box-sizing: border-box;
  content: none;
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
}

.brand-bar {
  background: linear-gradient(135deg, #2E7494 0%, #1a5570 60%, #6C79CD 100%);
  padding: 8px 0;
}

.brand-bar__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand-bar__contact {
  display: flex;
  align-items: center;
  gap: 32px;
}

.brand-bar__phone {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 600;
  color: #ffffff;
  text-decoration: none;
  letter-spacing: -0.01em;
  line-height: 1.15;
  transition: color 0.14s cubic-bezier(0.4, 0, 1, 1);
}

.brand-bar__phone:hover {
  color: #C8DBE9;
  transform: translateY(-1px);
  transition: color 0.14s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.brand-bar__phone-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.brand-bar__msg {
  display: flex;
  align-items: center;
  gap: 8px;
}

.brand-bar__msg-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #ffffff;
  text-decoration: none;
  transition: background 0.15s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.brand-bar__msg-link:hover {
  background: rgba(255, 255, 255, 0.22);
  transform: translateY(-1px);
}

.brand-bar__msg-link svg {
  width: 16px;
  height: 16px;
}

.brand-bar__tagline {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 300;
  color: rgba(200, 219, 233, 0.85);
  letter-spacing: 0.02em;
  line-height: 1.15;
}

.site-hdr {
  background: #ffffff;
  border-bottom: 2px solid #C8DBE9;
  box-shadow: 2px 4px 20px 0 rgba(46, 116, 148, 0.11);
  position: relative;
  z-index: 100;
}

.site-hdr__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  min-height: 96px;
}

.brand-col {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}

.brand-col__logo-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 72px;
  border-radius: 11px;
  background: rgba(200, 219, 233, 0.28);
  border: 1.5px solid rgba(46, 116, 148, 0.22);
  box-shadow: 2px 3px 4px 0 rgba(46, 116, 148, 0.08);
  flex-shrink: 0;
  padding: 8px;
}

.brand-col__logo-box img {
  width: 44px;
  height: 56px;
  object-fit: contain;
  display: block;
}

.brand-col__name-box {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.brand-col__name {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 16px;
  font-weight: 700;
  color: #1a4a5e;
  letter-spacing: -0.02em;
  line-height: 1.15;
  text-decoration: none;
  display: block;
}

.brand-col__sub {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 300;
  color: #2E7494;
  letter-spacing: 0.01em;
  line-height: 1.15;
}

.prim-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.prim-nav__link {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 400;
  color: #2a3a4a;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 6px;
  border: 1.5px solid transparent;
  line-height: 1.15;
  letter-spacing: -0.01em;
  position: relative;
  transition: color 0.13s cubic-bezier(0.4, 0, 1, 1), border-color 0.16s cubic-bezier(0.4, 0, 1, 1), background 0.13s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
  white-space: nowrap;
}

.prim-nav__link::after {
  content: '';
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 6px;
  height: 1.5px;
  background: #2E7494;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.15s cubic-bezier(0.4, 0, 1, 1);
  border-radius: 6px;
}

.prim-nav__link:hover {
  color: #2E7494;
  border-color: rgba(46, 116, 148, 0.28);
  background: rgba(200, 219, 233, 0.18);
  transform: translateY(-1px);
}

.prim-nav__link:hover::after {
  transform: scaleX(1);
}

.prim-nav__link:focus-visible {
  outline: 2px solid #2E7494;
  outline-offset: 2px;
}

.prim-nav__link[aria-current="page"] {
  color: #2E7494;
  border-color: #2E7494;
  background: rgba(200, 219, 233, 0.22);
  font-weight: 600;
}

.prim-nav__link[aria-current="page"]::after {
  transform: scaleX(1);
}

.site-ftr {
  background: linear-gradient(160deg, #1a3d50 0%, #2E7494 55%, #6C79CD 100%);
  color: #ffffff;
}

.site-ftr__main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 32px 32px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 64px;
}

.ftr-brand {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ftr-brand__logo-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ftr-brand__logo-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 58px;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.12);
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  box-shadow: 2px 3px 4px 0 rgba(108, 121, 205, 0.08);
  padding: 8px;
  flex-shrink: 0;
}

.ftr-brand__logo-box img {
  width: 34px;
  height: 42px;
  object-fit: contain;
  display: block;
}

.ftr-brand__name {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.ftr-brand__desc {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 300;
  color: rgba(200, 219, 233, 0.9);
  line-height: 1.65;
  letter-spacing: 0.01em;
}

.ftr-contact {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ftr-contact__heading {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 16px;
  font-weight: 600;
  color: #C8DBE9;
  letter-spacing: -0.01em;
  line-height: 1.15;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(200, 219, 233, 0.22);
}

.ftr-contact__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.65;
  text-decoration: none;
  transition: color 0.13s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ftr-contact__item:hover {
  color: #C8DBE9;
  transform: translateX(2px);
}

.ftr-contact__item svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 4px;
  opacity: 0.75;
}

.ftr-contact__label {
  font-size: 15px;
  color: rgba(200, 219, 233, 0.7);
  font-weight: 300;
  display: block;
  line-height: 1.15;
}

.ftr-contact__msg-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.ftr-contact__msg-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.88);
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 6px;
  border: 1px solid rgba(200, 219, 233, 0.3);
  background: rgba(255, 255, 255, 0.06);
  transition: background 0.14s cubic-bezier(0.4, 0, 1, 1), border-color 0.14s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ftr-contact__msg-link:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(200, 219, 233, 0.55);
  transform: translateY(-1px);
}

.ftr-contact__msg-link svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.ftr-contact__msg-link:focus-visible {
  outline: 2px solid #C8DBE9;
  outline-offset: 2px;
}

.ftr-links {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ftr-links__heading {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 16px;
  font-weight: 600;
  color: #C8DBE9;
  letter-spacing: -0.01em;
  line-height: 1.15;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(200, 219, 233, 0.22);
}

.ftr-links__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ftr-links__list-item a {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  line-height: 1.65;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 0.13s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ftr-links__list-item a:hover {
  color: #C8DBE9;
  transform: translateX(2px);
}

.ftr-links__list-item a:focus-visible {
  outline: 2px solid #C8DBE9;
  outline-offset: 2px;
}

.ftr-links__consent-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  line-height: 1.65;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  transition: color 0.13s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ftr-links__consent-btn:hover {
  color: #C8DBE9;
  transform: translateX(2px);
}

.ftr-links__consent-btn:focus-visible {
  outline: 2px solid #C8DBE9;
  outline-offset: 2px;
}

.site-ftr__divider {
  max-width: 1200px;
  margin: 0 auto;
  height: 1px;
  background: rgba(200, 219, 233, 0.18);
  border: none;
}

.site-ftr__bottom {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.site-ftr__copy {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 300;
  color: rgba(200, 219, 233, 0.65);
  line-height: 1.15;
}

.site-ftr__addr {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 300;
  color: rgba(200, 219, 233, 0.55);
  line-height: 1.15;
  text-align: right;
}

.ck-popup {
  position: fixed;
  top: 32px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 560px;
  max-width: calc(100vw - 64px);
  z-index: 1500;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11), 2px 4px 20px 0 rgba(46, 116, 148, 0.11);
  border: 1.5px solid rgba(46, 116, 148, 0.15);
  overflow: hidden;
  transition: transform 0.42s cubic-bezier(0.4, 0, 1, 1), opacity 0.42s cubic-bezier(0.4, 0, 1, 1);
}

.ck-popup--hidden {
  transform: translateY(-120%);
  opacity: 0;
}

.ck-popup__body {
  padding: 32px;
}

.ck-popup__desc {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 400;
  color: #1a3d50;
  line-height: 1.65;
  margin-bottom: 8px;
}

.ck-popup__hdl {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 16px;
  font-weight: 700;
  color: #1a3d50;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
}

.ck-popup__pref-panel {
  border-top: 1px solid #C8DBE9;
  margin-top: 16px;
  padding-top: 16px;
}

.ck-popup__toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.ck-popup__toggle-label {
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 400;
  color: #2a3a4a;
  line-height: 1.65;
}

.ck-popup__toggle {
  position: relative;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
}

.ck-popup__toggle input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.ck-popup__toggle-track {
  position: absolute;
  inset: 0;
  border-radius: 30px;
  background: #C8DBE9;
  border: 1.5px solid rgba(46, 116, 148, 0.2);
  cursor: pointer;
  transition: background 0.14s cubic-bezier(0.4, 0, 1, 1);
}

.ck-popup__toggle input:checked+.ck-popup__toggle-track {
  background: #2E7494;
}

.ck-popup__toggle-track::before {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 30px;
  background: #ffffff;
  top: 2px;
  left: 2px;
  transition: transform 0.14s cubic-bezier(0.4, 0, 1, 1);
  box-shadow: 2px 3px 4px 0 rgba(46, 116, 148, 0.08);
}

.ck-popup__toggle input:checked+.ck-popup__toggle-track::before {
  transform: translateX(20px);
}

.ck-popup__toggle input:focus-visible+.ck-popup__toggle-track {
  outline: 2px solid #2E7494;
  outline-offset: 2px;
}

.ck-popup__btns {
  display: flex;
  gap: 8px;
  margin-top: 16px;
}

.ck-popup__btn {
  flex: 1;
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.15;
  padding: 16px 16px;
  border-radius: 11px;
  cursor: pointer;
  border: 1.5px solid #2E7494;
  background: transparent;
  color: #2E7494;
  letter-spacing: -0.01em;
  position: relative;
  overflow: hidden;
  transition: color 0.15s cubic-bezier(0.4, 0, 1, 1), background 0.15s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ck-popup__btn:hover {
  background: #2E7494;
  color: #ffffff;
  transform: translateY(-1px);
}

.ck-popup__btn:focus-visible {
  outline: 2px solid #2E7494;
  outline-offset: 2px;
}

.ck-popup__btn--accept {
  background: #2E7494;
  color: #ffffff;
}

.ck-popup__btn--accept:hover {
  background: #1a5570;
  border-color: #1a5570;
}

.ck-popup__pref-toggle-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Noto Serif KR', 'Noto Serif', serif;
  font-size: 15px;
  font-weight: 400;
  color: #2E7494;
  text-decoration: underline;
  text-underline-offset: 2px;
  padding: 0;
  margin-top: 8px;
  line-height: 1.65;
  display: block;
  transition: color 0.13s cubic-bezier(0.4, 0, 1, 1);
}

.ck-popup__pref-toggle-btn:hover {
  color: #6C79CD;
}

.ck-popup__pref-toggle-btn:focus-visible {
  outline: 2px solid #2E7494;
  outline-offset: 2px;
}

@media (max-width: 900px) {
  .site-ftr__main {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }

  .ftr-links {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .site-hdr__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 16px;
    min-height: unset;
    gap: 16px;
  }

  .prim-nav {
    justify-content: flex-start;
  }

  .brand-bar__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 16px;
  }

  .site-ftr__main {
    grid-template-columns: 1fr;
    padding: 32px 16px 16px;
    gap: 32px;
  }

  .site-ftr__bottom {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 16px;
  }

  .site-ftr__addr {
    text-align: left;
  }
}

.content-doc {
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 32px;
  color: #1b2a35;
}

.content-doc p {
  font-size: 16px;
  line-height: 1.65;
  margin-bottom: 16px;
  color: #1b2a35;
}

.content-doc ul,
.content-doc ol {
  font-size: 16px;
  line-height: 1.65;
  margin-bottom: 16px;
  padding-left: 32px;
  color: #1b2a35;
}

.content-doc li {
  margin-bottom: 8px;
}

.content-doc li:last-child {
  margin-bottom: 0;
}

.content-doc strong,
.content-doc b {
  font-weight: 700;
  color: #1b2a35;
}

.content-doc a {
  color: #2E7494;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.content-doc a:hover {
  color: #6C79CD;
}

.content-doc a:visited {
  color: #2E7494;
}

.content-doc table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.65;
  margin-bottom: 32px;
  box-shadow: 2px 3px 4px 0 rgba(46, 116, 148, 0.08);
  border-radius: 11px;
  overflow: hidden;
}

.content-doc thead {
  background: linear-gradient(135deg, #2E7494 0%, #6C79CD 100%);
}

.content-doc thead th {
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  text-align: left;
  padding: 16px;
  letter-spacing: -0.01em;
}

.content-doc tbody tr {
  border-bottom: 1px solid #C8DBE9;
  transition: background-color 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.content-doc tbody tr:last-child {
  border-bottom: none;
}

.content-doc tbody tr:hover {
  background-color: #eef4f8;
}

.content-doc th,
.content-doc td {
  padding: 16px;
  vertical-align: top;
  font-size: 15px;
  line-height: 1.65;
  color: #1b2a35;
}

.content-doc td {
  background-color: transparent;
}

.content-doc tbody tr:nth-child(even) td {
  background-color: rgba(200, 219, 233, 0.18);
}

@media (max-width: 768px) {
  .content-doc {
    padding: 32px 16px;
  }

  .content-doc table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .content-doc th,
  .content-doc td {
    padding: 8px 16px;
    min-width: 120px;
  }
}

.ctus {
  max-width: 100%;
  overflow-x: hidden;
}

.ctus__col {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
}

.ctus__reveal {
  opacity: 0;
  transform: translateY(16px);
  animation: ctus-col-in 0.16s cubic-bezier(0.4, 0, 1, 1) forwards;
}

.ctus__reveal--1 {
  animation-delay: 0.05s;
}

.ctus__reveal--2 {
  animation-delay: 0.13s;
}

.ctus__reveal--3 {
  animation-delay: 0.21s;
}

@keyframes ctus-col-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ctus__band-top {
  padding: 96px 0 64px;
  background: #fff;
  position: relative;
}

.ctus__band-top::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(to left, #2E7494, #6C79CD, #C8DBE9);
  opacity: 0.35;
}

.ctus__grid-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

.ctus__img-card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
}

.ctus__img-card img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  filter: saturate(1.12) brightness(0.97) sepia(0.08);
}

.ctus__img-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #2E7494;
  color: #fff;
  font-size: 15px;
  line-height: 1.15;
  padding: 8px 16px;
  border-radius: 6px;
  font-weight: 700;
  letter-spacing: -0.02em;
  box-shadow: 2px 3px 4px 0 rgba(46, 116, 148, 0.08);
}

.ctus__shape-a {
  position: absolute;
  bottom: -18px;
  right: -18px;
  width: 96px;
  height: 96px;
  border-radius: 30px;
  background: linear-gradient(to left, #6C79CD, #C8DBE9);
  opacity: 0.22;
  pointer-events: none;
}

.ctus__shape-b {
  position: absolute;
  top: 32px;
  right: -10px;
  width: 48px;
  height: 48px;
  border-radius: 46px;
  border: 2px solid #2E7494;
  opacity: 0.18;
  pointer-events: none;
}

.ctus__text-zone {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.ctus__kicker {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: 0.06em;
  color: #2E7494;
  text-transform: uppercase;
  font-weight: 600;
}

.ctus__h1 {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: #1a2e3a;
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 2px solid #C8DBE9;
  display: inline-block;
}

.ctus__counter-row {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: center;
}

.ctus__counter {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ctus__counter-num {
  font-size: 48px;
  line-height: 1.15;
  font-weight: 800;
  color: #2E7494;
  letter-spacing: -0.04em;
}

.ctus__counter-label {
  font-size: 15px;
  line-height: 1.65;
  color: #3d5a6a;
}

.ctus__divider-v {
  width: 1px;
  height: 48px;
  background: #C8DBE9;
}

.ctus__desc {
  font-size: 16px;
  line-height: 1.65;
  color: #2d3f4a;
}

.ctus__info-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.ctus__info-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border-radius: 11px;
  background: #f4f8fb;
  box-shadow: inset 2px 3px 6px 0 rgba(46, 116, 148, 0.06);
  transition: background 0.12s cubic-bezier(0.4, 0, 1, 1), transform 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.ctus__info-item:hover {
  background: #eaf2f8;
  transform: translateY(-2px);
}

.ctus__info-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: #2E7494;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ctus__info-icon svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ctus__info-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ctus__info-label {
  font-size: 15px;
  line-height: 1.15;
  font-weight: 700;
  color: #1a2e3a;
}

.ctus__info-val {
  font-size: 15px;
  line-height: 1.65;
  color: #2d3f4a;
}

.ctus__info-val a {
  color: #2E7494;
  text-decoration: none;
  border-bottom: 1px solid #C8DBE9;
  transition: border-color 0.12s cubic-bezier(0.4, 0, 1, 1), color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ctus__info-val a:hover {
  color: #6C79CD;
  border-bottom-color: #6C79CD;
}

.ctus__msg-links {
  display: flex;
  flex-direction: row;
  gap: 16px;
}

.ctus__msg-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 6px;
  border: 1.5px solid #2E7494;
  background: transparent;
  color: #2E7494;
  font-size: 15px;
  line-height: 1.15;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: color 0.14s cubic-bezier(0.4, 0, 1, 1), background 0.14s cubic-bezier(0.4, 0, 1, 1), transform 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.ctus__msg-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 6px;
  border: 1.5px solid transparent;
  background: linear-gradient(to left, #2E7494, #6C79CD) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.14s cubic-bezier(0.4, 0, 1, 1);
}

.ctus__msg-btn:hover::before {
  opacity: 1;
}

.ctus__msg-btn:hover {
  background: #2E7494;
  color: #fff;
  transform: translateY(-2px);
}

.ctus__msg-btn svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ctus__band-form {
  padding: 64px 0 96px;
  background: linear-gradient(to left, #eaf2f8, #f0f3fc);
  clip-path: polygon(0 0, 100% 32px, 100% 100%, 0 100%);
  padding-top: 96px;
}

.ctus__form-wrap {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 64px;
  align-items: start;
}

.ctus__form-aside {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.ctus__aside-h {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: #1a2e3a;
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 2px solid #2E7494;
  display: inline-block;
}

.ctus__aside-text {
  font-size: 16px;
  line-height: 1.65;
  color: #2d3f4a;
}

.ctus__ranked {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.ctus__ranked-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ctus__ranked-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
}

.ctus__ranked-num {
  font-size: 15px;
  line-height: 1.15;
  font-weight: 800;
  color: #2E7494;
  width: 24px;
  flex-shrink: 0;
}

.ctus__ranked-name {
  font-size: 15px;
  line-height: 1.15;
  color: #1a2e3a;
  font-weight: 600;
  flex: 1;
}

.ctus__ranked-bar-track {
  height: 6px;
  border-radius: 6px;
  background: #dce8f0;
  overflow: hidden;
  margin-left: 40px;
}

.ctus__ranked-bar-fill {
  height: 100%;
  border-radius: 6px;
  background: linear-gradient(to left, #2E7494, #6C79CD);
  animation: bar-grow 0.18s cubic-bezier(0.4, 0, 1, 1) both;
  animation-delay: 0.22s;
}

@keyframes bar-grow {
  from {
    width: 0 !important;
  }
}

.ctus__form-card {
  background: #fff;
  border-radius: 18px;
  padding: 32px;
  box-shadow: 2px 4px 20px 0 rgba(108, 121, 205, 0.11);
}

.ctus__form {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.ctus__field-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.ctus__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ctus__field--full {
  grid-column: 1 / -1;
}

.ctus__label {
  font-size: 15px;
  line-height: 1.15;
  font-weight: 700;
  color: #1a2e3a;
}

.ctus__label--req::after {
  content: ' *';
  color: #2E7494;
}

.ctus__input {
  padding: 16px;
  border-radius: 11px;
  border: 1.5px solid #C8DBE9;
  background: #f4f8fb;
  font-size: 16px;
  line-height: 1.65;
  color: #1a2e3a;
  box-shadow: inset 2px 2px 5px 0 rgba(46, 116, 148, 0.06);
  transition: border-color 0.12s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.12s cubic-bezier(0.4, 0, 1, 1);
  width: 100%;
  box-sizing: border-box;
}

.ctus__input::placeholder {
  font-size: 14px;
  color: #8aabb8;
}

.ctus__input:focus {
  outline: none;
  border-color: #2E7494;
  box-shadow: inset 2px 2px 5px 0 rgba(46, 116, 148, 0.06), 0 0 0 3px rgba(46, 116, 148, 0.12);
}

.ctus__radio-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ctus__radio-label {
  font-size: 15px;
  line-height: 1.15;
  font-weight: 700;
  color: #1a2e3a;
  margin-bottom: 8px;
  display: block;
}

.ctus__radio-opts {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}

.ctus__radio-opt {
  display: flex;
  align-items: center;
}

.ctus__radio-opt input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.ctus__radio-opt label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 30px;
  border: 1.5px solid #C8DBE9;
  background: #f4f8fb;
  font-size: 15px;
  line-height: 1.15;
  color: #2d3f4a;
  cursor: pointer;
  transition: border-color 0.12s cubic-bezier(0.4, 0, 1, 1), background 0.12s cubic-bezier(0.4, 0, 1, 1), color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ctus__radio-opt label::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 46px;
  border: 1.5px solid #C8DBE9;
  background: #fff;
  transition: background 0.12s cubic-bezier(0.4, 0, 1, 1), border-color 0.12s cubic-bezier(0.4, 0, 1, 1);
  flex-shrink: 0;
}

.ctus__radio-opt input[type="radio"]:checked+label {
  border-color: #2E7494;
  background: #eaf2f8;
  color: #1a2e3a;
  font-weight: 700;
}

.ctus__radio-opt input[type="radio"]:checked+label::before {
  background: #2E7494;
  border-color: #2E7494;
}

.ctus__radio-opt input[type="radio"]:focus+label {
  box-shadow: 0 0 0 3px rgba(46, 116, 148, 0.15);
}

.ctus__privacy {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border-radius: 11px;
  background: #f4f8fb;
  box-shadow: inset 2px 2px 5px 0 rgba(46, 116, 148, 0.06);
}

.ctus__privacy input[type="checkbox"] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: #2E7494;
  cursor: pointer;
}

.ctus__privacy-text {
  font-size: 15px;
  line-height: 1.65;
  color: #2d3f4a;
}

.ctus__privacy-text a {
  color: #2E7494;
  border-bottom: 1px solid #C8DBE9;
  text-decoration: none;
  transition: color 0.12s cubic-bezier(0.4, 0, 1, 1), border-color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ctus__privacy-text a:hover {
  color: #6C79CD;
  border-bottom-color: #6C79CD;
}

.ctus__submit-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
}

.ctus__submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  border-radius: 11px;
  border: 1.5px solid #2E7494;
  background: transparent;
  color: #2E7494;
  font-size: 16px;
  line-height: 1.15;
  font-weight: 700;
  cursor: pointer;
  overflow: hidden;
  transition: color 0.15s cubic-bezier(0.4, 0, 1, 1), background 0.15s cubic-bezier(0.4, 0, 1, 1), transform 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.ctus__submit::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 11px;
  background: #2E7494;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.15s cubic-bezier(0.4, 0, 1, 1);
  z-index: 0;
}

.ctus__submit:hover::after {
  transform: scaleX(1);
}

.ctus__submit:hover {
  color: #fff;
  transform: translateY(-2px);
}

.ctus__submit span {
  position: relative;
  z-index: 1;
}

.ctus__submit svg {
  position: relative;
  z-index: 1;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ctus__submit-note {
  font-size: 15px;
  line-height: 1.65;
  color: #5a7a8a;
}

.ctus__hr-deco {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 32px 0;
}

.ctus__hr-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(to left, #C8DBE9, transparent);
}

.ctus__hr-line--rev {
  background: linear-gradient(to right, #C8DBE9, transparent);
}

.ctus__hr-gem {
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background: #6C79CD;
  transform: rotate(45deg);
  flex-shrink: 0;
}

@media (max-width: 900px) {
  .ctus__grid-top {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ctus__img-card img {
    height: 240px;
  }

  .ctus__form-wrap {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ctus__field-group {
    grid-template-columns: 1fr;
  }

  .ctus__field--full {
    grid-column: auto;
  }

  .ctus__counter-row {
    flex-wrap: wrap;
  }

  .ctus__radio-opts {
    flex-direction: column;
  }

  .ctus__submit-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .ctus__band-form {
    clip-path: polygon(0 0, 100% 16px, 100% 100%, 0 100%);
    padding-top: 64px;
  }
}

@media (max-width: 600px) {
  .ctus__col {
    padding: 0 16px;
  }

  .ctus__band-top {
    padding: 64px 0 32px;
  }

  .ctus__h1 {
    font-size: 48px;
  }

  .ctus__aside-h {
    font-size: 48px;
  }

  .ctus__msg-links {
    flex-direction: column;
  }
}

.au {
  background: #fff;
  overflow-x: clip;
}

.au__divider {
  height: 2px;
  background: linear-gradient(to right, transparent, #2E7494, #6C79CD, transparent);
  border: none;
  margin: 0;
}

.au__divider--alt {
  height: 2px;
  background: linear-gradient(to right, transparent, #C8DBE9, #2E7494, transparent);
  border: none;
  margin: 0;
}

/* ── TITLE BLOCK ── */
.ttl {
  position: relative;
  padding: 96px 32px 64px;
  background: linear-gradient(180deg, #1b3f52 0%, #2E7494 60%, #C8DBE9 100%);
  overflow: hidden;
}

.ttl__geo {
  position: absolute;
  top: -32px;
  right: -32px;
  width: 320px;
  height: 320px;
  border: 2px solid rgba(108, 121, 205, 0.18);
  border-radius: 46px;
  pointer-events: none;
  animation: geo-pulse 4s cubic-bezier(0.4, 0, 1, 1) infinite alternate;
}

.ttl__geo--sm {
  width: 160px;
  height: 160px;
  top: 64px;
  right: 64px;
  border-color: rgba(200, 219, 233, 0.13);
  border-radius: 30px;
  animation-duration: 5.5s;
}

@keyframes geo-pulse {
  from {
    opacity: 0.5;
    transform: scale(1);
  }

  to {
    opacity: 1;
    transform: scale(1.04);
  }
}

.ttl__band {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.ttl__label {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #C8DBE9;
  font-weight: 600;
}

.ttl__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 680px;
}

.ttl__h1 {
  font-size: 64px;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: #fff;
  margin: 0;
}

.ttl__quote {
  font-size: 16px;
  line-height: 1.65;
  color: #C8DBE9;
  margin: 0;
  border-top: 1px solid rgba(200, 219, 233, 0.3);
  padding-top: 16px;
}

.ttl__img-wrap {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
  max-width: 560px;
  align-self: flex-end;
}

.ttl__img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(46, 116, 148, 0.22);
  pointer-events: none;
}

.ttl__img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: cover;
}

.ttl__wave {
  display: block;
  width: 100%;
  line-height: 0;
  margin-top: -2px;
}

@media (min-width: 768px) {
  .ttl__band {
    flex-direction: row;
    align-items: flex-end;
    gap: 64px;
  }

  .ttl__text {
    flex: 1;
  }

  .ttl__img-wrap {
    flex: 0 0 480px;
    align-self: auto;
  }
}

/* ── SECTION 2: WHO WE ARE ── */
.abt {
  padding: 96px 32px;
  background: #fff;
}

.abt__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 64px;
}

.abt__label {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #2E7494;
  font-weight: 600;
  margin-bottom: 16px;
}

.abt__h2 {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #1b3f52;
  margin: 0 0 16px;
  text-decoration: underline;
  text-decoration-color: #C8DBE9;
  text-underline-offset: 6px;
}

.abt__desc {
  font-size: 16px;
  line-height: 1.65;
  color: #2a4a5a;
  margin: 0 0 16px;
}

.abt__cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}

.abt__img-col {
  position: relative;
}

.abt__img {
  display: block;
  width: 100%;
  height: 360px;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
}

.abt__badge {
  position: absolute;
  bottom: 32px;
  left: -16px;
  background: #2E7494;
  color: #fff;
  padding: 16px;
  border-radius: 11px;
  font-size: 15px;
  line-height: 1.15;
  font-weight: 700;
  box-shadow: 2px 4px 20px 0 rgba(46, 116, 148, 0.11);
}

.abt__badge span {
  display: block;
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.03em;
}

.abt__txt-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: center;
}

@media (min-width: 768px) {
  .abt__cols {
    grid-template-columns: 1fr 1fr;
    gap: 64px;
  }
}

/* ── SECTION 3: METRICS / COMPLEX BLOCK ── */
.mtr {
  padding: 96px 32px;
  background: linear-gradient(0deg, #f0f6fa 0%, #e2edf5 100%);
  position: relative;
}

.mtr__geo-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.mtr__dot {
  position: absolute;
  border-radius: 30px;
  background: rgba(108, 121, 205, 0.06);
}

.mtr__dot--a {
  width: 80px;
  height: 80px;
  top: 32px;
  left: 8%;
}

.mtr__dot--b {
  width: 48px;
  height: 48px;
  top: 64px;
  right: 15%;
  border-radius: 46px;
  background: rgba(46, 116, 148, 0.07);
}

.mtr__dot--c {
  width: 120px;
  height: 120px;
  bottom: 32px;
  left: 30%;
  border-radius: 18px;
  background: rgba(108, 121, 205, 0.05);
}

.mtr__dot--d {
  width: 60px;
  height: 60px;
  bottom: 64px;
  right: 8%;
  background: rgba(46, 116, 148, 0.06);
}

.mtr__inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.mtr__label {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6C79CD;
  font-weight: 600;
  margin-bottom: 16px;
}

.mtr__h2 {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #1b3f52;
  margin: 0 0 32px;
  text-decoration: underline;
  text-decoration-color: #6C79CD;
  text-underline-offset: 6px;
}

.mtr__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}

.mtr__diagram {
  background: #fff;
  border-radius: 18px;
  padding: 32px;
  box-shadow: 2px 4px 20px 0 rgba(46, 116, 148, 0.11);
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.mtr__diagram-title {
  font-size: 16px;
  line-height: 1.15;
  font-weight: 700;
  color: #1b3f52;
}

.mtr__bars {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.mtr__bar-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mtr__bar-label {
  font-size: 15px;
  line-height: 1.15;
  color: #2a4a5a;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.mtr__bar-track {
  height: 10px;
  background: #e2edf5;
  border-radius: 6px;
  overflow: hidden;
}

.mtr__bar-fill {
  height: 100%;
  border-radius: 6px;
  background: linear-gradient(to left, #2E7494, #6C79CD);
  transition: width 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.mtr__legend {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.mtr__legend-title {
  font-size: 15px;
  line-height: 1.15;
  font-weight: 700;
  color: #2E7494;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.mtr__legend-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.mtr__legend-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: #fff;
  border-radius: 11px;
  box-shadow: 2px 3px 4px 0 rgba(46, 116, 148, 0.08);
}

.mtr__legend-dot {
  width: 14px;
  height: 14px;
  border-radius: 6px;
  flex-shrink: 0;
  margin-top: 2px;
}

.mtr__legend-dot--a {
  background: #2E7494;
}

.mtr__legend-dot--b {
  background: #6C79CD;
}

.mtr__legend-dot--c {
  background: #C8DBE9;
  border: 1px solid #2E7494;
}

.mtr__legend-text {
  font-size: 15px;
  line-height: 1.65;
  color: #2a4a5a;
  margin: 0;
}

.mtr__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.mtr__stat {
  background: #fff;
  border-radius: 11px;
  padding: 16px;
  box-shadow: 2px 3px 4px 0 rgba(46, 116, 148, 0.08);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mtr__stat-num {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: #2E7494;
  font-weight: 700;
}

.mtr__stat-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #2a4a5a;
  margin: 0;
}

@media (min-width: 900px) {
  .mtr__grid {
    grid-template-columns: 1fr 1fr;
    gap: 64px;
  }
}

/* ── SECTION 4: TEAM ── */
.tm {
  padding: 96px 32px;
  background: #fff;
}

.tm__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.tm__label {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #2E7494;
  font-weight: 600;
  margin-bottom: 16px;
}

.tm__h2 {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #1b3f52;
  margin: 0 0 8px;
  text-decoration: underline;
  text-decoration-color: #C8DBE9;
  text-underline-offset: 6px;
}

.tm__sub {
  font-size: 16px;
  line-height: 1.65;
  color: #2a4a5a;
  margin: 0 0 64px;
  max-width: 600px;
}

.tm__list {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.tm__card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  background: #f5f9fc;
  border-radius: 18px;
  padding: 32px;
  box-shadow: 2px 4px 20px 0 rgba(46, 116, 148, 0.11);
  transition: box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.tm__card:hover {
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
  transform: translateY(-3px);
}

.tm__photo-wrap {
  position: relative;
  width: 140px;
  flex-shrink: 0;
}

.tm__photo {
  display: block;
  width: 140px;
  height: 140px;
  object-fit: cover;
  border-radius: 46px;
  box-shadow: 2px 4px 20px 0 rgba(46, 116, 148, 0.11);
}

.tm__role-tag {
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  background: #6C79CD;
  color: #fff;
  font-size: 15px;
  line-height: 1.15;
  padding: 8px 16px;
  border-radius: 30px;
  white-space: nowrap;
  font-weight: 600;
  box-shadow: 2px 3px 4px 0 rgba(108, 121, 205, 0.08);
}

.tm__info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 8px;
}

.tm__name {
  font-size: 16px;
  line-height: 1.15;
  font-weight: 700;
  color: #1b3f52;
  margin: 0;
}

.tm__spec {
  font-size: 15px;
  line-height: 1.15;
  color: #2E7494;
  font-weight: 600;
  margin: 0;
}

.tm__bio {
  font-size: 15px;
  line-height: 1.65;
  color: #2a4a5a;
  margin: 0;
}

.tm__skills {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.tm__skill {
  font-size: 15px;
  line-height: 1.15;
  color: #2E7494;
  background: #e2edf5;
  border-radius: 6px;
  padding: 8px 16px;
  font-weight: 500;
}

@media (min-width: 640px) {
  .tm__card {
    grid-template-columns: 160px 1fr;
    align-items: start;
  }
}

/* ── BG ANIMATION ── */
@keyframes color-wash {
  0% {
    background-color: #f0f6fa;
  }

  50% {
    background-color: #e8f2f8;
  }

  100% {
    background-color: #f0f6fa;
  }
}

.mtr {
  animation: color-wash 8s ease-in infinite;
}

.cmp-pg {
  background: #fff;
  overflow-x: clip;
}

.cmp-pg .schema-data {
  display: none;
}

.cmp-pg .strip-img {
  width: 100%;
  height: 220px;
  overflow: hidden;
  position: relative;
}

.cmp-pg .strip-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: brightness(0.72) saturate(1.1);
  display: block;
}

.cmp-pg .strip-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(46, 116, 148, 0.38) 100%);
  pointer-events: none;
}

.cmp-pg .title-zone {
  max-width: 1200px;
  margin: 0 auto;
  padding: 96px 32px 64px;
  position: relative;
}

.cmp-pg .dot-path {
  position: absolute;
  top: 32px;
  right: 64px;
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  pointer-events: none;
}

.cmp-pg .dot-path span {
  display: block;
  border-radius: 30px;
  background: #C8DBE9;
}

.cmp-pg .dot-path span:nth-child(1) {
  width: 6px;
  height: 6px;
  opacity: 0.5;
}

.cmp-pg .dot-path span:nth-child(2) {
  width: 9px;
  height: 9px;
  opacity: 0.7;
}

.cmp-pg .dot-path span:nth-child(3) {
  width: 6px;
  height: 6px;
  opacity: 0.5;
}

.cmp-pg .dot-path span:nth-child(4) {
  width: 4px;
  height: 4px;
  opacity: 0.35;
}

.cmp-pg .dot-path span:nth-child(5) {
  width: 7px;
  height: 7px;
  opacity: 0.6;
}

.cmp-pg .title-zone .pg-label {
  font-size: 15px;
  color: #2E7494;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
  display: block;
}

.cmp-pg .title-zone .pg-h1 {
  font-size: 64px;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: #1a2e3a;
  margin: 0 0 16px;
  max-width: 640px;
}

.cmp-pg .title-zone .pg-sub {
  font-size: 16px;
  line-height: 1.65;
  color: #3a5060;
  max-width: 520px;
  margin: 0;
}

.cmp-pg .curve-connector {
  display: block;
  margin: 0 auto;
  overflow: visible;
  pointer-events: none;
}

.cmp-pg .sec-plans {
  background: #f4f8fb;
  padding: 64px 0;
  border-top: 1px solid #C8DBE9;
}

.cmp-pg .plans-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
}

.cmp-pg .plans-hd {
  margin-bottom: 48px;
}

.cmp-pg .plans-hd .sec-h2 {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: #1a2e3a;
  margin: 0 0 8px;
  display: inline-block;
  border-bottom: 2px solid #2E7494;
  padding-bottom: 8px;
}

.cmp-pg .plans-hd .sec-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #3a5060;
  margin: 16px 0 0;
  max-width: 560px;
}

.cmp-pg .plans-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.cmp-pg .plan-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 2px 4px 20px 0 rgba(46, 116, 148, 0.11);
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  transition: transform 0.15s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1);
  cursor: default;
}

.cmp-pg .plan-card:hover {
  transform: translateY(-6px);
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
}

.cmp-pg .plan-card--featured {
  background: linear-gradient(160deg, #2E7494 0%, #1d4f66 100%);
  color: #fff;
}

.cmp-pg .plan-card--featured .plan-name,
.cmp-pg .plan-card--featured .plan-price,
.cmp-pg .plan-card--featured .plan-desc,
.cmp-pg .plan-card--featured .feat-item {
  color: #e8f4fa;
}

.cmp-pg .plan-card--featured .plan-badge {
  background: #C8DBE9;
  color: #1a2e3a;
}

.cmp-pg .plan-badge {
  display: inline-block;
  font-size: 15px;
  background: #C8DBE9;
  color: #1a2e3a;
  border-radius: 30px;
  padding: 4px 16px;
  align-self: flex-start;
}

.cmp-pg .plan-name {
  font-size: 16px;
  line-height: 1.15;
  color: #1a2e3a;
  font-weight: 700;
  margin: 0;
}

.cmp-pg .plan-price {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: #2E7494;
  margin: 0;
}

.cmp-pg .plan-price .price-unit {
  font-size: 16px;
  color: #3a5060;
  letter-spacing: 0;
}

.cmp-pg .plan-card--featured .plan-price {
  color: #C8DBE9;
}

.cmp-pg .plan-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #3a5060;
  margin: 0;
}

.cmp-pg .feat-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.cmp-pg .feat-item {
  font-size: 15px;
  line-height: 1.65;
  color: #1a2e3a;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.cmp-pg .feat-item .fi-dot {
  width: 8px;
  height: 8px;
  min-width: 8px;
  border-radius: 30px;
  background: #2E7494;
  margin-top: 7px;
  display: inline-block;
}

.cmp-pg .plan-card--featured .feat-item .fi-dot {
  background: #C8DBE9;
}

.cmp-pg .plan-btn {
  display: block;
  width: 100%;
  padding: 16px;
  border-radius: 11px;
  font-size: 15px;
  background: transparent;
  color: #2E7494;
  border: 2px solid #2E7494;
  cursor: pointer;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: color 0.12s ease-in, background 0.12s ease-in;
}

.cmp-pg .plan-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #2E7494;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.16s cubic-bezier(0.4, 0, 1, 1);
  z-index: 0;
}

.cmp-pg .plan-btn:hover::before {
  transform: scaleX(1);
}

.cmp-pg .plan-btn:hover {
  color: #fff;
}

.cmp-pg .plan-btn span {
  position: relative;
  z-index: 1;
}

.cmp-pg .plan-card--featured .plan-btn {
  border-color: #C8DBE9;
  color: #fff;
}

.cmp-pg .plan-card--featured .plan-btn::before {
  background: #C8DBE9;
}

.cmp-pg .plan-card--featured .plan-btn:hover {
  color: #1a2e3a;
}

.cmp-pg .sec-ranked {
  background: #1a2e3a;
  padding: 96px 0;
}

.cmp-pg .ranked-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

.cmp-pg .ranked-text .rk-h2 {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: #C8DBE9;
  margin: 0 0 8px;
  border-bottom: 2px solid #2E7494;
  display: inline-block;
  padding-bottom: 8px;
}

.cmp-pg .ranked-text .rk-p {
  font-size: 15px;
  line-height: 1.65;
  color: #a8c4d4;
  margin: 16px 0 0;
}

.cmp-pg .ranked-text .rk-img-wrap {
  margin-top: 32px;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
  position: relative;
}

.cmp-pg .ranked-text .rk-img-wrap img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.cmp-pg .ranked-text .rk-img-wrap:hover img {
  transform: scale(1.04);
}

.cmp-pg .ranked-text .rk-img-wrap .img-overlay {
  position: absolute;
  inset: 0;
  background: rgba(26, 46, 58, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.16s cubic-bezier(0.4, 0, 1, 1);
  border-radius: 18px;
}

.cmp-pg .ranked-text .rk-img-wrap:hover .img-overlay {
  opacity: 1;
}

.cmp-pg .ranked-text .rk-img-wrap .img-overlay p {
  color: #C8DBE9;
  font-size: 15px;
  line-height: 1.65;
  text-align: center;
  padding: 32px;
  margin: 0;
}

.cmp-pg .ranked-bars {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.cmp-pg .rank-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cmp-pg .rank-top {
  display: flex;
  align-items: center;
  gap: 16px;
}

.cmp-pg .rank-num {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.04em;
  color: #2E7494;
  min-width: 48px;
  font-weight: 700;
}

.cmp-pg .rank-label {
  font-size: 16px;
  line-height: 1.15;
  color: #C8DBE9;
  font-weight: 600;
}

.cmp-pg .rank-bar-track {
  height: 8px;
  background: rgba(200, 219, 233, 0.15);
  border-radius: 6px;
  overflow: hidden;
}

.cmp-pg .rank-bar-fill {
  height: 100%;
  border-radius: 6px;
  background: linear-gradient(to right, #6C79CD, #2E7494);
  transition: width 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.cmp-pg .rank-note {
  font-size: 15px;
  line-height: 1.65;
  color: #7a9db0;
  margin: 0;
}

@media (max-width: 900px) {
  .cmp-pg .plans-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .cmp-pg .ranked-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .cmp-pg .title-zone .pg-h1 {
    font-size: 48px;
  }

  .cmp-pg .dot-path {
    right: 16px;
    top: 16px;
  }
}

@media (max-width: 600px) {
  .cmp-pg .title-zone {
    padding: 64px 16px 32px;
  }

  .cmp-pg .plans-inner,
  .cmp-pg .ranked-inner {
    padding: 0 16px;
  }

  .cmp-pg .title-zone .pg-h1 {
    font-size: 48px;
  }

  .cmp-pg .rank-num {
    font-size: 48px;
  }

  .cmp-pg .plan-card {
    padding: 16px;
  }
}

.dbt {
  background: #fff;
  overflow-x: clip;
}

.dbt * {
  box-sizing: border-box;
}

.dbt__grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(46, 116, 148, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46, 116, 148, 0.06) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
  z-index: 0;
}

.dbt__title {
  position: relative;
  background: #1a2e3a;
  min-height: 0;
  overflow: visible;
}

.dbt__title-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 0;
  align-items: stretch;
}

.dbt__title-text {
  padding: 96px 64px 96px 64px;
  position: relative;
  z-index: 1;
  animation: dbt-slide-left 0.16s cubic-bezier(0.4, 0, 1, 1) both;
}

.dbt__title-eyebrow {
  font-size: 15px;
  line-height: 1.15;
  color: #C8DBE9;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
  display: block;
}

.dbt__title-h1 {
  font-size: 64px;
  line-height: 1.15;
  color: #fff;
  letter-spacing: -0.03em;
  margin: 0 0 16px 0;
}

.dbt__title-sub {
  font-size: 48px;
  line-height: 1.15;
  color: #6C79CD;
  letter-spacing: -0.02em;
  margin: 0 0 32px 0;
}

.dbt__title-desc {
  font-size: 16px;
  line-height: 1.65;
  color: #C8DBE9;
  max-width: 480px;
  margin: 0;
}

.dbt__title-img-col {
  position: relative;
  overflow: hidden;
  min-height: 520px;
  animation: dbt-slide-right 0.18s cubic-bezier(0.4, 0, 1, 1) both;
}

.dbt__title-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dbt__title-leak {
  position: absolute;
  top: -40px;
  left: -40px;
  width: 280px;
  height: 280px;
  background: radial-gradient(ellipse at 30% 30%, rgba(108, 121, 205, 0.45) 0%, transparent 70%);
  pointer-events: none;
  z-index: 2;
}

.dbt__title-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, #1a2e3a 0%, transparent 40%);
  z-index: 1;
  pointer-events: none;
}

.dbt__deco-lines {
  position: absolute;
  bottom: 24px;
  left: 64px;
  right: 64px;
  height: 1px;
  background: rgba(200, 219, 233, 0.12);
  z-index: 1;
  pointer-events: none;
}

.dbt__deco-lines::before {
  content: '';
  display: block;
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(200, 219, 233, 0.06);
}

.dbt__metrics {
  background: #f4f8fb;
  padding: 64px 0;
  position: relative;
}

.dbt__metrics-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 64px;
}

.dbt__metrics-label {
  font-size: 15px;
  line-height: 1.15;
  color: #2E7494;
  letter-spacing: 0.08em;
  margin-bottom: 32px;
  display: block;
}

.dbt__metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.dbt__metric {
  background: #fff;
  border-radius: 18px;
  padding: 32px;
  box-shadow: 2px 4px 20px 0 rgba(46, 116, 148, 0.11);
  display: flex;
  flex-direction: column;
  gap: 8px;
  animation: dbt-scale-in 0.15s cubic-bezier(0.4, 0, 1, 1) both;
  transition: transform 0.12s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.dbt__metric:hover {
  transform: translateY(-4px);
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
}

.dbt__metric-val {
  font-size: 48px;
  line-height: 1.15;
  color: #2E7494;
  letter-spacing: -0.03em;
}

.dbt__metric-arrow {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
}

.dbt__metric-arrow svg {
  width: 28px;
  height: 28px;
}

.dbt__metric-name {
  font-size: 15px;
  line-height: 1.65;
  color: #3a4a55;
}

.dbt__metric-note {
  font-size: 15px;
  line-height: 1.65;
  color: #7a9ab0;
}

.dbt__outcomes {
  background: #fff;
  padding: 96px 0;
  position: relative;
}

.dbt__outcomes-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 64px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.dbt__outcomes-img-wrap {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
  animation: dbt-scale-in 0.14s cubic-bezier(0.4, 0, 1, 1) both;
}

.dbt__outcomes-img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
  filter: brightness(0.92) saturate(1.08);
}

.dbt__outcomes-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(46, 116, 148, 0.18) 0%, transparent 60%);
  pointer-events: none;
}

.dbt__outcomes-text h2 {
  font-size: 48px;
  line-height: 1.15;
  color: #1a2e3a;
  letter-spacing: -0.02em;
  margin: 0 0 16px 0;
  text-decoration: underline;
  text-decoration-color: rgba(46, 116, 148, 0.3);
  text-underline-offset: 6px;
}

.dbt__outcomes-text p {
  font-size: 16px;
  line-height: 1.65;
  color: #3a4a55;
  margin: 0 0 16px 0;
}

.dbt__outcomes-list {
  list-style: none;
  padding: 0;
  margin: 32px 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.dbt__outcomes-list li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  font-size: 16px;
  line-height: 1.65;
  color: #3a4a55;
}

.dbt__outcomes-list li .dbt__li-dot {
  width: 8px;
  height: 8px;
  border-radius: 30px;
  background: #6C79CD;
  flex-shrink: 0;
  margin-top: 8px;
}

.dbt__journey {
  position: relative;
  padding: 96px 0;
  overflow: hidden;
}

.dbt__journey-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #2E7494 0%, #6C79CD 100%);
  z-index: 0;
}

.dbt__journey-shapes {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.dbt__journey-shapes span {
  position: absolute;
  border-radius: 46px;
  opacity: 0.06;
  background: #fff;
}

.dbt__journey-shapes span:nth-child(1) {
  width: 320px;
  height: 320px;
  top: -80px;
  right: 10%;
}

.dbt__journey-shapes span:nth-child(2) {
  width: 180px;
  height: 180px;
  bottom: 32px;
  left: 5%;
}

.dbt__journey-shapes span:nth-child(3) {
  width: 240px;
  height: 240px;
  top: 40%;
  right: 30%;
}

.dbt__journey-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 64px;
  position: relative;
  z-index: 1;
}

.dbt__journey-h2 {
  font-size: 48px;
  line-height: 1.15;
  color: #fff;
  letter-spacing: -0.02em;
  margin: 0 0 16px 0;
  text-decoration: underline;
  text-decoration-color: rgba(200, 219, 233, 0.4);
  text-underline-offset: 6px;
}

.dbt__journey-intro {
  font-size: 16px;
  line-height: 1.65;
  color: #C8DBE9;
  max-width: 600px;
  margin: 0 0 64px 0;
}

.dbt__journey-phases {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.dbt__phase {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  padding: 32px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(4px);
  animation: dbt-slide-up 0.16s cubic-bezier(0.4, 0, 1, 1) both;
  transition: transform 0.13s cubic-bezier(0.4, 0, 1, 1), background 0.13s cubic-bezier(0.4, 0, 1, 1);
}

.dbt__phase:hover {
  transform: translateY(-6px);
  background: rgba(255, 255, 255, 0.16);
}

.dbt__phase-num {
  font-size: 48px;
  line-height: 1.15;
  color: rgba(200, 219, 233, 0.35);
  letter-spacing: -0.04em;
  margin-bottom: 8px;
}

.dbt__phase h4 {
  font-size: 16px;
  line-height: 1.65;
  color: #fff;
  margin: 0 0 8px 0;
}

.dbt__phase p {
  font-size: 15px;
  line-height: 1.65;
  color: #C8DBE9;
  margin: 0;
}

.dbt__journey-img-strip {
  margin-top: 64px;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
  position: relative;
}

.dbt__journey-img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
  filter: brightness(0.85) saturate(1.1);
}

.dbt__journey-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(46, 116, 148, 0.55) 0%, rgba(108, 121, 205, 0.25) 100%);
  pointer-events: none;
}

.dbt__voices {
  background: #fff;
  padding: 96px 0;
  position: relative;
}

.dbt__voices-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 64px;
}

.dbt__voices-h2 {
  font-size: 48px;
  line-height: 1.15;
  color: #1a2e3a;
  letter-spacing: -0.02em;
  margin: 0 0 64px 0;
  text-decoration: underline;
  text-decoration-color: rgba(108, 121, 205, 0.3);
  text-underline-offset: 6px;
}

.dbt__voices-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

.dbt__voice {
  border-radius: 18px;
  padding: 32px;
  box-shadow: 2px 3px 4px 0 rgba(46, 116, 148, 0.08);
  border: 1px solid rgba(200, 219, 233, 0.6);
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: box-shadow 0.14s cubic-bezier(0.4, 0, 1, 1), transform 0.14s cubic-bezier(0.4, 0, 1, 1);
}

.dbt__voice:hover {
  box-shadow: 2px 4px 20px 0 rgba(46, 116, 148, 0.11);
  transform: translateY(-3px);
}

.dbt__voice--wide {
  grid-column: 1 / -1;
  flex-direction: row;
  gap: 32px;
}

.dbt__voice-img-wrap {
  border-radius: 11px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 2px 3px 4px 0 rgba(46, 116, 148, 0.08);
}

.dbt__voice-img {
  width: 220px;
  height: 200px;
  object-fit: cover;
  display: block;
  filter: brightness(0.93) saturate(1.05);
}

.dbt__voice-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: center;
}

.dbt__voice-quote {
  font-size: 16px;
  line-height: 1.65;
  color: #3a4a55;
  margin: 0;
  font-style: italic;
}

.dbt__voice-name {
  font-size: 15px;
  line-height: 1.15;
  color: #2E7494;
  font-style: normal;
}

.dbt__voice-role {
  font-size: 15px;
  line-height: 1.15;
  color: #7a9ab0;
}

.dbt__voice-result {
  font-size: 15px;
  line-height: 1.65;
  color: #6C79CD;
  background: rgba(108, 121, 205, 0.08);
  border-radius: 6px;
  padding: 8px 16px;
  display: inline-block;
}

.dbt__team {
  padding: 96px 0;
  position: relative;
  background: linear-gradient(to right, #2E7494, #6C79CD);
}

.dbt__team-split {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.dbt__team-split::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #f4f8fb 50%, transparent 50%);
}

.dbt__team-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 64px;
  position: relative;
  z-index: 1;
}

.dbt__team-h2 {
  font-size: 48px;
  line-height: 1.15;
  color: #1a2e3a;
  letter-spacing: -0.02em;
  margin: 0 0 16px 0;
  text-decoration: underline;
  text-decoration-color: rgba(46, 116, 148, 0.3);
  text-underline-offset: 6px;
}

.dbt__team-intro {
  font-size: 16px;
  line-height: 1.65;
  color: #3a4a55;
  max-width: 560px;
  margin: 0 0 64px 0;
}

.dbt__team-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.dbt__tcard {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 4px 20px 0 rgba(46, 116, 148, 0.11);
  transition: transform 0.13s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.13s cubic-bezier(0.4, 0, 1, 1);
  animation: dbt-scale-in 0.15s cubic-bezier(0.4, 0, 1, 1) both;
}

.dbt__tcard:hover {
  transform: translateY(-5px);
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
}

.dbt__tcard-img-wrap {
  overflow: hidden;
  position: relative;
}

.dbt__tcard-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  filter: brightness(0.9) saturate(1.1);
  transition: transform 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.dbt__tcard:hover .dbt__tcard-img {
  transform: scale(1.04);
}

.dbt__tcard-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(46, 116, 148, 0.3) 0%, transparent 50%);
  pointer-events: none;
}

.dbt__tcard-body {
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.dbt__tcard-name {
  font-size: 16px;
  line-height: 1.15;
  color: #1a2e3a;
}

.dbt__tcard-role {
  font-size: 15px;
  line-height: 1.15;
  color: #2E7494;
}

.dbt__tcard-bio {
  font-size: 15px;
  line-height: 1.65;
  color: #3a4a55;
  margin: 8px 0 0 0;
}

.dbt__tcard-tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.dbt__tag {
  font-size: 15px;
  line-height: 1.15;
  color: #6C79CD;
  background: rgba(108, 121, 205, 0.1);
  border-radius: 6px;
  padding: 4px 8px;
}

@keyframes dbt-slide-left {
  from {
    opacity: 0;
    transform: translateX(-24px) scale(0.97);
  }

  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes dbt-slide-right {
  from {
    opacity: 0;
    transform: translateX(24px) scale(0.97);
  }

  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes dbt-scale-in {
  from {
    opacity: 0;
    transform: scale(0.9);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes dbt-slide-up {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 900px) {
  .dbt__title-inner {
    grid-template-columns: 1fr;
  }

  .dbt__title-img-col {
    min-height: 260px;
  }

  .dbt__title-text {
    padding: 64px 32px;
  }

  .dbt__title-h1 {
    font-size: 48px;
  }

  .dbt__title-sub {
    font-size: 32px;
  }

  .dbt__metrics-grid {
    grid-template-columns: 1fr 1fr;
  }

  .dbt__outcomes-inner {
    grid-template-columns: 1fr;
  }

  .dbt__journey-phases {
    grid-template-columns: 1fr;
  }

  .dbt__voices-grid {
    grid-template-columns: 1fr;
  }

  .dbt__voice--wide {
    flex-direction: column;
    grid-column: auto;
  }

  .dbt__voice-img {
    width: 100%;
    height: 200px;
  }

  .dbt__team-cards {
    grid-template-columns: 1fr;
  }

  .dbt__metrics-inner,
  .dbt__outcomes-inner,
  .dbt__journey-inner,
  .dbt__voices-inner,
  .dbt__team-inner {
    padding: 0 32px;
  }
}

@media (max-width: 540px) {
  .dbt__metrics-grid {
    grid-template-columns: 1fr;
  }

  .dbt__title-h1 {
    font-size: 32px;
  }
}

.tm-pg {
  background: #fff;
  overflow-x: clip;
}

.tm-pg .strip {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
}

.tm-pg .title-band {
  position: relative;
  padding: 64px 0 48px;
  background: #fff;
}

.tm-pg .title-band__grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(46, 116, 148, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46, 116, 148, 0.06) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
}

.tm-pg .title-band__img-strip {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 32px;
  padding: 0 32px;
  height: 180px;
  overflow: hidden;
  border-radius: 11px;
}

.tm-pg .title-band__img-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.6);
  transition: filter 0.15s cubic-bezier(0.4, 0, 1, 1);
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
}

.tm-pg .title-band__img-strip:hover img {
  filter: saturate(1);
}

.tm-pg .title-band__vignette {
  position: relative;
}

.tm-pg .title-band__vignette::before,
.tm-pg .title-band__vignette::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}

.tm-pg .title-band__vignette::before {
  left: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.85), transparent);
}

.tm-pg .title-band__vignette::after {
  right: 0;
  background: linear-gradient(to left, rgba(255, 255, 255, 0.85), transparent);
}

.tm-pg .title-band__text {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
}

.tm-pg .title-band__eyebrow {
  display: inline-block;
  font-size: 15px;
  line-height: 1.15;
  color: #2E7494;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 16px;
  padding: 8px 16px;
  border: 1px solid rgba(46, 116, 148, 0.25);
  border-radius: 6px;
  background: rgba(200, 219, 233, 0.18);
}

.tm-pg .title-band__h1 {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #1b3a4b;
  margin: 0;
  text-decoration: underline;
  text-decoration-color: rgba(108, 121, 205, 0.35);
  text-underline-offset: 6px;
}

.tm-pg .roster {
  padding: 96px 0 64px;
  background: linear-gradient(to right, #1b3a4b, #2E7494);
  position: relative;
}

.tm-pg .roster::after {
  content: "";
  display: block;
  height: 64px;
  background: linear-gradient(to bottom, transparent, #fff);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: none;
}

.tm-pg .roster__geo {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 320px;
  pointer-events: none;
  overflow: hidden;
}

.tm-pg .roster__geo-shape {
  position: absolute;
  top: -32px;
  right: -32px;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(200, 219, 233, 0.12);
  border-radius: 46px;
  transform: rotate(18deg);
}

.tm-pg .roster__geo-shape2 {
  position: absolute;
  bottom: 64px;
  right: 48px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(108, 121, 205, 0.18);
  border-radius: 30px;
  transform: rotate(-12deg);
}

.tm-pg .roster__lead {
  margin-bottom: 64px;
}

.tm-pg .roster__lead-h2 {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0 0 16px;
  text-decoration: underline;
  text-decoration-color: rgba(200, 219, 233, 0.4);
  text-underline-offset: 6px;
}

.tm-pg .roster__lead-p {
  font-size: 16px;
  line-height: 1.65;
  color: rgba(200, 219, 233, 0.88);
  max-width: 560px;
  margin: 0;
}

.tm-pg .roster__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
}

.tm-pg .card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(200, 219, 233, 0.14);
  border-radius: 18px;
  padding: 32px;
  position: relative;
  transition: background 0.12s cubic-bezier(0.4, 0, 1, 1), border-color 0.12s cubic-bezier(0.4, 0, 1, 1), transform 0.12s cubic-bezier(0.4, 0, 1, 1);
  box-shadow: 2px 4px 20px 0 rgba(46, 116, 148, 0.11);
}

.tm-pg .card:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(200, 219, 233, 0.28);
  transform: translateY(-3px);
}

.tm-pg .card__avatar {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: linear-gradient(to right, #2E7494, #6C79CD);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  flex-shrink: 0;
  box-shadow: 2px 3px 4px 0 rgba(46, 116, 148, 0.08);
}

.tm-pg .card__initials {
  font-size: 16px;
  line-height: 1.15;
  color: #fff;
  letter-spacing: 0.04em;
  font-weight: 600;
}

.tm-pg .card__name {
  font-size: 16px;
  line-height: 1.15;
  color: #fff;
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}

.tm-pg .card__role {
  font-size: 15px;
  line-height: 1.15;
  color: #C8DBE9;
  margin: 0 0 16px;
}

.tm-pg .card__diamond {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #6C79CD;
  transform: rotate(45deg);
  margin: 0 8px;
  vertical-align: middle;
  flex-shrink: 0;
}

.tm-pg .card__sep {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}

.tm-pg .card__sep-line {
  flex: 1;
  height: 1px;
  background: rgba(200, 219, 233, 0.18);
}

.tm-pg .card__bio {
  font-size: 15px;
  line-height: 1.65;
  color: rgba(200, 219, 233, 0.78);
  margin: 0;
}

.tm-pg .card__tag {
  display: inline-block;
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.15;
  color: #C8DBE9;
  background: rgba(108, 121, 205, 0.18);
  border-radius: 6px;
  padding: 8px 16px;
}

.tm-pg .card--center {
  background: rgba(108, 121, 205, 0.14);
  border-color: rgba(108, 121, 205, 0.3);
}

.tm-pg .card--center:hover {
  background: rgba(108, 121, 205, 0.22);
}

.tm-pg .approach {
  padding: 96px 0;
  background: #fff;
}

.tm-pg .approach__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

.tm-pg .approach__media {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
}

.tm-pg .approach__media img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  filter: saturate(0.6);
  transition: filter 0.16s ease-in;
}

.tm-pg .approach__media:hover img {
  filter: saturate(1);
}

.tm-pg .approach__media-overlay {
  position: absolute;
  inset: 0;
  background: rgba(46, 116, 148, 0);
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(5, 1fr);
  gap: 2px;
  opacity: 0;
  transition: opacity 0.14s cubic-bezier(0.4, 0, 1, 1);
  pointer-events: none;
}

.tm-pg .approach__media:hover .approach__media-overlay {
  opacity: 1;
}

.tm-pg .approach__media-cell {
  border: 1px solid rgba(200, 219, 233, 0.28);
  border-radius: 6px;
}

.tm-pg .approach__text-h2 {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #1b3a4b;
  margin: 0 0 16px;
  text-decoration: underline;
  text-decoration-color: rgba(46, 116, 148, 0.3);
  text-underline-offset: 6px;
}

.tm-pg .approach__text-intro {
  font-size: 16px;
  line-height: 1.65;
  color: #2d4a5a;
  margin: 0 0 32px;
}

.tm-pg .approach__items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.tm-pg .approach__item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border-radius: 11px;
  background: rgba(200, 219, 233, 0.14);
  border: 1px solid rgba(46, 116, 148, 0.1);
  transition: background 0.11s ease-in, transform 0.11s ease-in;
}

.tm-pg .approach__item:hover {
  background: rgba(200, 219, 233, 0.28);
  transform: translateX(4px);
}

.tm-pg .approach__item-num {
  font-size: 15px;
  line-height: 1.15;
  color: #2E7494;
  font-weight: 700;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: rgba(46, 116, 148, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}

.tm-pg .approach__item-body {
  flex: 1;
}

.tm-pg .approach__item-label {
  font-size: 15px;
  line-height: 1.15;
  color: #1b3a4b;
  margin: 0 0 8px;
  font-weight: 600;
}

.tm-pg .approach__item-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #3a5a6e;
  margin: 0;
}

.tm-pg .approach__stat-row {
  display: flex;
  flex-direction: row;
  gap: 32px;
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid rgba(46, 116, 148, 0.14);
}

.tm-pg .approach__stat {
  flex: 1;
}

.tm-pg .approach__stat-val {
  font-size: 48px;
  line-height: 1.15;
  color: #2E7494;
  letter-spacing: -0.03em;
  display: block;
}

.tm-pg .approach__stat-label {
  font-size: 15px;
  line-height: 1.65;
  color: #3a5a6e;
  display: block;
}

@media (max-width: 900px) {
  .tm-pg .roster__grid {
    grid-template-columns: 1fr 1fr;
  }

  .tm-pg .approach__layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .tm-pg .title-band__h1 {
    font-size: 48px;
  }
}

@media (max-width: 600px) {
  .tm-pg .roster__grid {
    grid-template-columns: 1fr;
  }

  .tm-pg .title-band__h1 {
    font-size: 48px;
  }

  .tm-pg .roster__lead-h2 {
    font-size: 48px;
  }

  .tm-pg .approach__stat-row {
    flex-direction: column;
    gap: 16px;
  }

  .tm-pg .title-band__img-strip {
    height: 100px;
  }

  .tm-pg .approach__media img {
    height: 240px;
  }
}

.success-pg {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 96px 32px;
  background: #fff;
}

.success-pg .result-card {
  max-width: 560px;
  width: 100%;
  background: linear-gradient(to left, #ffffff, #f0f6fa);
  border: 1px solid #C8DBE9;
  border-radius: 18px;
  padding: 64px 32px;
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.success-pg .result-card__icon {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
}

.success-pg .result-card__icon circle {
  fill: none;
  stroke: #2E7494;
  stroke-width: 2.5;
}

.success-pg .result-card__icon polyline {
  fill: none;
  stroke: #6C79CD;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.success-pg .result-card__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}

.success-pg .result-card__heading {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #1b3d4f;
  margin: 0;
}

.success-pg .result-card__sub {
  font-size: 16px;
  line-height: 1.65;
  color: #2E7494;
  margin: 0;
  max-width: 400px;
}

.success-pg .result-card__note {
  font-size: 15px;
  line-height: 1.65;
  color: #4a6070;
  margin: 0;
  max-width: 400px;
}

.success-pg .result-card__divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(to left, transparent, #C8DBE9, transparent);
  border: none;
}

.success-pg .result-card__actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}

.success-pg .btn-back {
  display: inline-block;
  font-size: 15px;
  line-height: 1.15;
  color: #2E7494;
  text-decoration: none;
  padding: 16px 32px;
  border: 1.5px solid #2E7494;
  border-radius: 11px;
  background: transparent;
  position: relative;
  transition: color 0.12s cubic-bezier(0.4, 0, 1, 1), background 0.15s cubic-bezier(0.4, 0, 1, 1);
  overflow: hidden;
}

.success-pg .btn-back::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 11px;
  border: 1.5px solid #2E7494;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.success-pg .btn-back:hover::before {
  clip-path: inset(0 0% 0 0);
}

.success-pg .btn-back:hover {
  background: #2E7494;
  color: #fff;
  transform: translateY(-2px);
}

.success-pg .btn-back:focus-visible {
  outline: 2px solid #6C79CD;
  outline-offset: 3px;
}

.success-pg .btn-contact {
  display: inline-block;
  font-size: 15px;
  line-height: 1.15;
  color: #6C79CD;
  text-decoration: none;
  padding: 16px 32px;
  border: 1.5px solid #6C79CD;
  border-radius: 11px;
  background: transparent;
  position: relative;
  transition: color 0.14s ease-in, background 0.14s ease-in;
  overflow: hidden;
}

.success-pg .btn-contact::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 11px;
  border: 1.5px solid #6C79CD;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.16s cubic-bezier(0.4, 0, 1, 1);
}

.success-pg .btn-contact:hover::before {
  clip-path: inset(0 0% 0 0);
}

.success-pg .btn-contact:hover {
  background: #6C79CD;
  color: #fff;
  transform: translateY(-2px);
}

.success-pg .btn-contact:focus-visible {
  outline: 2px solid #2E7494;
  outline-offset: 3px;
}

@media (max-width: 600px) {
  .success-pg {
    padding: 64px 16px;
  }

  .success-pg .result-card {
    padding: 32px 16px;
    gap: 16px;
  }

  .success-pg .result-card__heading {
    font-size: 48px;
  }

  .success-pg .result-card__actions {
    flex-direction: column;
    width: 100%;
  }

  .success-pg .btn-back,
  .success-pg .btn-contact {
    text-align: center;
  }
}

.err-page {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 96px 32px;
  background: #fff;
  overflow: hidden;
}

.err-page .err__wrap {
  max-width: 1200px;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 64px;
}

.err-page .err__visual {
  flex: 0 0 auto;
  position: relative;
  width: 220px;
  height: 220px;
}

.err-page .err__circle {
  width: 220px;
  height: 220px;
  border-radius: 46px;
  background: linear-gradient(to left, #2E7494, #6C79CD);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 2px 8px 60px 0 rgba(46, 116, 148, 0.11);
}

.err-page .err__code {
  font-size: 64px;
  line-height: 1.15;
  letter-spacing: -0.04em;
  color: #fff;
  font-weight: 700;
}

.err-page .err__accent-bar {
  position: absolute;
  bottom: -16px;
  left: 32px;
  right: 32px;
  height: 6px;
  border-radius: 6px;
  background: linear-gradient(to left, #C8DBE9, #6C79CD);
  box-shadow: 2px 3px 4px 0 rgba(46, 116, 148, 0.08);
}

.err-page .err__body {
  flex: 1 1 0;
  min-width: 0;
}

.err-page .err__heading {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #1b3a4b;
  margin: 0 0 16px;
  text-decoration: underline;
  text-decoration-color: #C8DBE9;
  text-underline-offset: 6px;
}

.err-page .err__desc {
  font-size: 16px;
  line-height: 1.65;
  color: #2d4a57;
  margin: 0 0 32px;
  max-width: 480px;
}

.err-page .err__desc strong {
  color: #2E7494;
}

.err-page .err__actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
}

.err-page .err__btn {
  display: inline-block;
  padding: 16px 32px;
  border-radius: 11px;
  font-size: 15px;
  line-height: 1.15;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  border: 2px solid #2E7494;
  color: #2E7494;
  background: transparent;
  position: relative;
  transition: color 0.12s cubic-bezier(0.4, 0, 1, 1), background 0.15s cubic-bezier(0.4, 0, 1, 1), transform 0.1s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.13s cubic-bezier(0.4, 0, 1, 1);
  overflow: hidden;
}

.err-page .err__btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 9px;
  border: 2px solid transparent;
  background: linear-gradient(to left, #2E7494, #6C79CD) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.err-page .err__btn:hover::before {
  opacity: 1;
}

.err-page .err__btn:hover {
  transform: translateY(-2px);
  box-shadow: 2px 4px 20px 0 rgba(46, 116, 148, 0.11);
  color: #2E7494;
}

.err-page .err__btn:focus-visible {
  outline: 2px solid #2E7494;
  outline-offset: 3px;
}

.err-page .err__btn--primary {
  background: linear-gradient(to left, #2E7494, #6C79CD);
  color: #fff;
  border-color: transparent;
}

.err-page .err__btn--primary:hover {
  color: #fff;
  background: linear-gradient(to left, #265f7a, #5a67b8);
}

.err-page .err__divider {
  width: 100%;
  max-width: 1200px;
  margin: 64px auto 0;
  height: 1px;
  background: linear-gradient(to left, transparent, #C8DBE9, transparent);
}

.err-page .err__nav {
  max-width: 1200px;
  width: 100%;
  margin-top: 32px;
  display: flex;
  flex-direction: row;
  gap: 32px;
  flex-wrap: wrap;
  align-items: flex-start;
}

.err-page .err__nav-label {
  font-size: 15px;
  line-height: 1.65;
  color: #6C79CD;
  font-weight: 600;
  white-space: nowrap;
  padding-top: 8px;
}

.err-page .err__nav-links {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

.err-page .err__nav-links li {
  margin: 0;
  padding: 0;
}

.err-page .err__nav-link {
  font-size: 15px;
  line-height: 1.65;
  color: #2d4a57;
  text-decoration: none;
  border-bottom: 1px solid #C8DBE9;
  padding-bottom: 2px;
  transition: color 0.12s ease-in, border-color 0.14s ease-in, transform 0.1s ease-in;
  display: inline-block;
}

.err-page .err__nav-link:hover {
  color: #2E7494;
  border-color: #2E7494;
  transform: translateY(-1px);
}

@media (max-width: 700px) {
  .err-page {
    padding: 64px 16px;
  }

  .err-page .err__wrap {
    flex-direction: column;
    gap: 32px;
    align-items: flex-start;
  }

  .err-page .err__visual {
    width: 140px;
    height: 140px;
  }

  .err-page .err__circle {
    width: 140px;
    height: 140px;
    border-radius: 30px;
  }

  .err-page .err__code {
    font-size: 48px;
  }

  .err-page .err__heading {
    font-size: 48px;
  }

  .err-page .err__nav {
    flex-direction: column;
    gap: 16px;
  }
}