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

body {
  margin: 0;
  -webkit-text-size-adjust: 100%;
}

.brand-accent-block {
  align-items: center;
  background: linear-gradient(135deg, #8A952A 0%, #6b7320 100%);
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
  min-width: 220px;
  padding: 16px 32px;
}

.brand-accent-block .logo-frame {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 3px;
  box-shadow: -1px 2px 5px 0 rgba(138, 149, 42, 0.08);
  display: flex;
  height: 44px;
  justify-content: center;
  padding: 4px 8px;
  width: 120px;
}

.brand-accent-block .logo-frame img {
  display: block;
  height: 36px;
  object-fit: contain;
  width: 100px;
}

.brand-name-label {
  color: #D3DECA;
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.site-header {
  background: #1e2318;
  position: relative;
}

.header-upper-row {
  align-items: stretch;
  display: flex;
  max-width: 1366px;
  margin: 0 auto;
}

.header-contact-strip {
  align-items: center;
  display: flex;
  flex: 1;
  gap: 32px;
  padding: 16px 32px;
}

.contact-item-pod {
  align-items: center;
  display: flex;
  gap: 8px;
}

.contact-item-pod .contact-icon {
  border-radius: 3px;
  display: flex;
  flex-shrink: 0;
}

.contact-item-pod .contact-icon svg {
  display: block;
}

.contact-detail-text {
  color: #b8c9a0;
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
  text-decoration: none;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-detail-text:hover,
.contact-detail-text:focus {
  color: #D3DECA;
  outline: none;
}

.contact-detail-text:focus-visible {
  filter: invert(1);
  outline: 2px solid #D3DECA;
  outline-offset: 2px;
}

.region-selector-cell {
  align-items: center;
  border-left: 1px solid rgba(211, 222, 202, 0.12);
  display: flex;
  padding: 16px 32px;
}

.region-select-control {
  appearance: none;
  background: transparent;
  border: 1px solid rgba(146, 182, 98, 0.4);
  border-radius: 3px;
  color: #D3DECA;
  cursor: pointer;
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 8px 32px 8px 16px;
  transition: border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), background 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.region-select-control:hover {
  background: rgba(146, 182, 98, 0.1);
  border-color: #92B662;
}

.region-select-control:focus {
  filter: invert(1);
  outline: 2px solid #D3DECA;
  outline-offset: 2px;
}

.region-select-control option {
  background: #1e2318;
  color: #D3DECA;
}

.header-nav-row {
  background: rgba(138, 149, 42, 0.07);
  border-top: 1px solid rgba(146, 182, 98, 0.15);
}

.header-nav-row .nav-inner-deck {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 32px;
}

.primary-nav-link {
  align-items: center;
  color: #b8c9a0;
  display: flex;
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
  padding: 16px 32px;
  position: relative;
  text-decoration: none;
  transition: color 0.45s ease-in-out, background 0.45s ease-in-out;
}

.primary-nav-link::after {
  background: #8A952A;
  bottom: 0;
  content: '';
  height: 2px;
  left: 32px;
  position: absolute;
  right: 32px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.primary-nav-link:hover,
.primary-nav-link:focus {
  background: rgba(138, 149, 42, 0.1);
  color: #D3DECA;
  outline: none;
  transform: translateY(-2px);
}

.primary-nav-link:hover::after,
.primary-nav-link:focus::after {
  transform: scaleX(1);
}

.primary-nav-link:focus-visible {
  filter: invert(1);
  outline: 2px solid #D3DECA;
  outline-offset: -2px;
}

.primary-nav-link.active-page {
  color: #D3DECA;
}

.primary-nav-link.active-page::after {
  transform: scaleX(1);
}

@media (max-width: 900px) {
  .header-upper-row {
    flex-wrap: wrap;
  }

  .brand-accent-block {
    min-width: 160px;
    padding: 16px;
  }

  .header-contact-strip {
    flex-wrap: wrap;
    gap: 16px;
    padding: 16px;
  }

  .region-selector-cell {
    padding: 16px;
  }

  .header-nav-row .nav-inner-deck {
    padding: 0 16px;
  }

  .primary-nav-link {
    padding: 16px;
  }

  .primary-nav-link::after {
    left: 16px;
    right: 16px;
  }
}

@media (max-width: 600px) {
  .header-contact-strip {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .brand-accent-block {
    width: 100%;
    flex-direction: row;
    justify-content: flex-start;
    gap: 16px;
  }

  .region-selector-cell {
    border-left: none;
    border-top: 1px solid rgba(211, 222, 202, 0.12);
    width: 100%;
  }
}

.site-footer {
  background: #161a0f;
  border-top: 1px solid rgba(146, 182, 98, 0.18);
  padding: 64px 0 0;
}

.footer-logo-row {
  border-bottom: 1px solid rgba(211, 222, 202, 0.1);
  display: flex;
  justify-content: center;
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 32px 32px;
}

.footer-brand-pod {
  align-items: center;
  display: flex;
  gap: 16px;
}

.footer-logo-frame {
  align-items: center;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(211, 222, 202, 0.25);
  border-radius: 3px;
  box-shadow: -1px 2px 5px 0 rgba(138, 149, 42, 0.08);
  display: flex;
  height: 44px;
  justify-content: center;
  padding: 4px 8px;
  width: 120px;
}

.footer-logo-frame img {
  display: block;
  height: 36px;
  object-fit: contain;
  width: 100px;
}

.footer-brand-name {
  color: #D3DECA;
  font-family: 'Manrope', sans-serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-columns-deck {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  max-width: 1366px;
  margin: 0 auto;
  padding: 32px 32px;
}

.footer-column-pod {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 16px;
  min-width: 180px;
}

.footer-column-label {
  color: #8A952A;
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.footer-divider-line {
  background: linear-gradient(90deg, #8A952A 0%, rgba(138, 149, 42, 0.1) 100%);
  border: none;
  height: 1px;
  margin: 0;
}

.footer-nav-link {
  color: #8fa87a;
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  text-decoration: none;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  display: inline-block;
}

.footer-nav-link:hover,
.footer-nav-link:focus {
  color: #D3DECA;
  outline: none;
  transform: translateX(4px);
}

.footer-nav-link:focus-visible {
  filter: invert(1);
  outline: 2px solid #D3DECA;
  outline-offset: 2px;
}

.footer-address-text {
  color: #8fa87a;
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
}

.footer-contact-link {
  color: #8fa87a;
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  text-decoration: none;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.footer-contact-link:hover,
.footer-contact-link:focus {
  color: #D3DECA;
  outline: none;
}

.footer-contact-link:focus-visible {
  filter: invert(1);
  outline: 2px solid #D3DECA;
  outline-offset: 2px;
}

.footer-bottom-bar {
  border-top: 1px solid rgba(211, 222, 202, 0.08);
  margin-top: 32px;
  padding: 32px;
}

.footer-bottom-inner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  max-width: 1366px;
  margin: 0 auto;
}

.copyright-text {
  color: #5a6e4a;
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .footer-columns-deck {
    gap: 32px;
    padding: 32px 16px;
  }

  .footer-logo-row {
    padding: 0 16px 32px;
  }

  .footer-bottom-bar {
    padding: 32px 16px;
  }
}

@media (max-width: 600px) {
  .footer-columns-deck {
    flex-direction: column;
  }

  .footer-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

.cookie-notice-bar {
  background: #1e2318;
  border-top: 1px solid rgba(146, 182, 98, 0.25);
  bottom: 0;
  box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13);
  display: none;
  left: 0;
  margin: 0 auto;
  padding: 16px 32px;
  position: fixed;
  right: 0;
  width: 100%;
  z-index: 1500;
}

.cookie-notice-bar[hidden] {
  display: none;
}

.cookie-bar-inner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1366px;
}

.cookie-description {
  color: #b8c9a0;
  flex: 1;
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  min-width: 200px;
}

.cookie-actions-pod {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: 16px;
}

.cookie-accept-button,
.cookie-decline-button {
  background: transparent;
  border: 1px solid #92B662;
  border-radius: 3px;
  color: #92B662;
  cursor: pointer;
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 600;
  min-height: 44px;
  padding: 8px 32px;
  position: relative;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), background 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.cookie-accept-button::before,
.cookie-decline-button::before {
  border: 1px solid #92B662;
  border-radius: 3px;
  bottom: -3px;
  content: '';
  left: -3px;
  opacity: 0;
  position: absolute;
  right: -3px;
  top: -3px;
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.cookie-accept-button:hover,
.cookie-accept-button:focus {
  background: #92B662;
  color: #161a0f;
  outline: none;
}

.cookie-accept-button:hover::before,
.cookie-accept-button:focus::before,
.cookie-decline-button:hover::before,
.cookie-decline-button:focus::before {
  opacity: 1;
}

.cookie-decline-button:hover,
.cookie-decline-button:focus {
  background: rgba(146, 182, 98, 0.12);
  color: #D3DECA;
  outline: none;
}

.cookie-accept-button:focus-visible,
.cookie-decline-button:focus-visible {
  filter: invert(1);
  outline: 2px solid #D3DECA;
  outline-offset: 2px;
}

.info-policy {
  background-color: #1e2530;
  box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13);
  color: #d8dfe8;
  font-size: 17px;
  line-height: 1.65;
  margin: 0 auto;
  max-width: 1366px;
  padding: 64px 32px;
}

.info-policy h1 {
  color: #e8ecd4;
  font-size: 68px;
  letter-spacing: 0.01em;
  line-height: 1.2;
  margin-bottom: 32px;
  margin-top: 0;
}

.info-policy h2 {
  color: #c8d4a0;
  font-size: 50px;
  line-height: 1.2;
  margin-bottom: 16px;
  margin-top: 64px;
}

.info-policy h3 {
  color: #b8c88a;
  font-size: 17px;
  letter-spacing: 0.08em;
  line-height: 1.45;
  margin-bottom: 16px;
  margin-top: 32px;
  text-transform: uppercase;
}

.info-policy h4 {
  color: #d3deca;
  font-size: 17px;
  line-height: 1.45;
  margin-bottom: 8px;
  margin-top: 32px;
}

.info-policy h5 {
  color: #aab890;
  font-size: 15px;
  letter-spacing: 0.06em;
  line-height: 1.45;
  margin-bottom: 8px;
  margin-top: 16px;
  text-transform: uppercase;
}

.info-policy h6 {
  color: #92b662;
  font-size: 15px;
  line-height: 1.45;
  margin-bottom: 8px;
  margin-top: 16px;
}

.info-policy strong,
.info-policy b {
  color: #e2e8d2;
  font-weight: 700;
}

.info-policy em,
.info-policy i {
  color: #c4d0a8;
  font-style: italic;
}

.info-policy hr {
  border: none;
  border-top: 1px solid #3a4352;
  box-shadow: 0 1px 2px 0 rgba(146, 182, 98, 0.08);
  margin-bottom: 32px;
  margin-top: 32px;
}

.info-policy div {
  margin-bottom: 16px;
}

.info-policy table {
  border-collapse: collapse;
  border-radius: 3px;
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
  font-size: 15px;
  line-height: 1.45;
  margin-bottom: 32px;
  margin-top: 16px;
  overflow: hidden;
  width: 100%;
}

.info-policy thead {
  background-color: #2a3240;
}

.info-policy thead tr {
  border-bottom: 2px solid #8a952a;
}

.info-policy tbody tr {
  border-bottom: 1px solid #2e3848;
  transition: background-color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.info-policy tbody tr:nth-child(even) {
  background-color: #232b38;
}

.info-policy tbody tr:hover {
  background-color: #2e3a28;
}

.info-policy th {
  color: #d3deca;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 16px;
  text-align: left;
  text-transform: uppercase;
}

.info-policy td {
  color: #c4cfd8;
  padding: 16px;
  vertical-align: top;
}

@media (max-width: 900px) {
  .info-policy {
    font-size: 17px;
    padding: 32px 16px;
  }

  .info-policy h1 {
    font-size: 50px;
  }

  .info-policy h2 {
    font-size: 50px;
  }

  .info-policy table {
    display: block;
    overflow-x: auto;
  }
}

@media (max-width: 600px) {
  .info-policy {
    padding: 32px 16px;
  }

  .info-policy h1 {
    font-size: 50px;
    line-height: 1.2;
  }

  .info-policy h2 {
    font-size: 17px;
  }

  .info-policy th,
  .info-policy td {
    padding: 8px;
  }
}

.student-projects-detail {
  background: #1b2028;
  color: #d8dfe8;
  overflow-x: hidden;
}

.student-projects-detail .diagonal-reveal {
  animation: diag-slide 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes diag-slide {
  from {
    opacity: 0;
    transform: translate(-24px, 24px);
  }

  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}

.student-projects-detail .hero-block {
  max-width: 1366px;
  margin: 0 auto;
  padding: 32px 32px 64px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
  position: relative;
}

.student-projects-detail .hero-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg,
      rgba(138, 149, 42, 0.04) 0px,
      rgba(138, 149, 42, 0.04) 1px,
      transparent 1px,
      transparent 48px),
    repeating-linear-gradient(90deg,
      rgba(138, 149, 42, 0.04) 0px,
      rgba(138, 149, 42, 0.04) 1px,
      transparent 1px,
      transparent 48px);
  pointer-events: none;
  z-index: 0;
}

.student-projects-detail .hero-text-column {
  position: relative;
  z-index: 1;
}

.student-projects-detail .hero-image-column {
  position: relative;
  z-index: 1;
}

.student-projects-detail .image-wrapper {
  position: relative;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13);
}

.student-projects-detail .image-wrapper img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.student-projects-detail .image-wrapper:hover img {
  filter: saturate(0);
}

.student-projects-detail .image-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg,
      rgba(27, 32, 40, 0.18) 0px,
      rgba(27, 32, 40, 0.18) 1px,
      transparent 1px,
      transparent 3px);
  pointer-events: none;
  z-index: 2;
}

.student-projects-detail .page-label {
  font-size: 15px;
  line-height: 1.45;
  color: #92B662;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.student-projects-detail .page-label .diamond {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #8A952A;
  transform: rotate(45deg);
  flex-shrink: 0;
}

.student-projects-detail .hero-heading {
  font-size: 50px;
  line-height: 1.2;
  margin-bottom: 32px;
  background: linear-gradient(135deg, #92B662 0%, #92B662 40%, #8A952A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.student-projects-detail .meta-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 32px;
}

.student-projects-detail .meta-pill {
  background: rgba(138, 149, 42, 0.12);
  border: 1px solid rgba(138, 149, 42, 0.28);
  border-radius: 3px;
  padding: 4px 16px;
  font-size: 15px;
  line-height: 1.45;
  color: #D3DECA;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.student-projects-detail .meta-pill svg {
  flex-shrink: 0;
}

.student-projects-detail .price-display {
  background: linear-gradient(135deg, rgba(138, 149, 42, 0.22) 0%, rgba(146, 182, 98, 0.08) 100%);
  border-radius: 3px;
  border: 1px solid rgba(138, 149, 42, 0.35);
  padding: 16px;
  margin-bottom: 32px;
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
}

.student-projects-detail .price-amount {
  font-size: 50px;
  line-height: 1.2;
  color: #92B662;
  display: block;
}

.student-projects-detail .price-note {
  font-size: 15px;
  line-height: 1.45;
  color: #D3DECA;
  margin-top: 4px;
}

.student-projects-detail .seats-indicator {
  font-size: 15px;
  line-height: 1.45;
  color: #D3DECA;
  margin-bottom: 32px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.student-projects-detail .seats-dot {
  width: 8px;
  height: 8px;
  border-radius: 40px;
  background: #8A952A;
  flex-shrink: 0;
}

.student-projects-detail .enroll-button {
  display: inline-block;
  padding: 16px 32px;
  border: 2px solid #8A952A;
  border-radius: 3px;
  background: transparent;
  color: #8A952A;
  font-size: 17px;
  line-height: 1.45;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: -1px 2px 5px 0 rgba(138, 149, 42, 0.08);
}

.student-projects-detail .enroll-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #8A952A;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}

.student-projects-detail .enroll-button:hover::before {
  transform: scaleX(1);
}

.student-projects-detail .enroll-button:hover {
  color: #1b2028;
}

.student-projects-detail .enroll-button span {
  position: relative;
  z-index: 1;
}

.student-projects-detail .stats-strip {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 32px;
}

.student-projects-detail .stat-item {
  font-size: 15px;
  line-height: 1.45;
  color: rgba(211, 222, 202, 0.6);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
}

.student-projects-detail .stat-item svg {
  flex-shrink: 0;
}

.student-projects-detail .section-divider-curve {
  display: block;
  width: 100%;
  line-height: 0;
  overflow: hidden;
}

.student-projects-detail .section-divider-curve svg {
  display: block;
  width: 100%;
}

.student-projects-detail .program-section {
  background: #232a33;
  position: relative;
  border-right: 3px solid rgba(138, 149, 42, 0.25);
}

.student-projects-detail .program-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 50%;
  bottom: 0;
  background: rgba(138, 149, 42, 0.04);
  pointer-events: none;
}

.student-projects-detail .program-inner {
  max-width: 1366px;
  margin: 0 auto;
  padding: 64px 32px;
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 64px;
  align-items: start;
}

.student-projects-detail .program-label {
  font-size: 15px;
  line-height: 1.45;
  color: #92B662;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.student-projects-detail .program-heading {
  font-size: 50px;
  line-height: 1.2;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #D3DECA 0%, #92B662 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.student-projects-detail .program-intro {
  font-size: 17px;
  line-height: 1.65;
  color: #b0bac8;
  margin-bottom: 32px;
}

.student-projects-detail .spider-chart-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.student-projects-detail .spider-chart-block svg {
  width: 100%;
  max-width: 320px;
  height: auto;
}

.student-projects-detail .chart-legend {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  max-width: 320px;
}

.student-projects-detail .legend-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1.45;
  color: #D3DECA;
}

.student-projects-detail .legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 40px;
  flex-shrink: 0;
}

.student-projects-detail .program-content {
  font-size: 17px;
  line-height: 1.65;
  color: #c8d4c0;
}

.student-projects-detail .program-content p {
  margin-bottom: 16px;
}

.student-projects-detail .program-content h2 {
  font-size: 17px;
  line-height: 1.45;
  color: #92B662;
  margin-bottom: 8px;
  margin-top: 32px;
}

.student-projects-detail .program-content h3 {
  font-size: 17px;
  line-height: 1.45;
  color: #D3DECA;
  margin-bottom: 8px;
  margin-top: 16px;
}

.student-projects-detail .program-content strong {
  color: #92B662;
}

.student-projects-detail .program-content ul,
.student-projects-detail .program-content ol {
  padding-left: 0;
  list-style: none;
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.student-projects-detail .program-content ul li,
.student-projects-detail .program-content ol li {
  padding-left: 16px;
  position: relative;
  font-size: 17px;
  line-height: 1.65;
}

.student-projects-detail .program-content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 6px;
  height: 6px;
  background: #8A952A;
  transform: rotate(45deg);
}

.student-projects-detail .program-content ol {
  counter-reset: prog-counter;
}

.student-projects-detail .program-content ol li {
  counter-increment: prog-counter;
}

.student-projects-detail .program-content ol li::before {
  content: counter(prog-counter);
  position: absolute;
  left: 0;
  top: 0;
  font-size: 15px;
  color: #8A952A;
  font-weight: 700;
}

.student-projects-detail .program-content dl {
  margin-bottom: 16px;
}

.student-projects-detail .program-content dt {
  color: #92B662;
  font-size: 15px;
  line-height: 1.45;
  margin-top: 16px;
}

.student-projects-detail .program-content dd {
  margin-left: 0;
  padding-left: 16px;
  border-left: 2px solid rgba(138, 149, 42, 0.3);
  border-bottom: 1px solid rgba(138, 149, 42, 0.1);
}

.student-projects-detail .program-content figure {
  margin: 16px 0;
}

.student-projects-detail .program-content figcaption {
  font-size: 15px;
  color: rgba(211, 222, 202, 0.6);
  margin-top: 4px;
}

.student-projects-detail .description-section {
  background: #1b2028;
  position: relative;
}

.student-projects-detail .description-section::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 3px;
  height: 100%;
  background: linear-gradient(180deg, rgba(146, 182, 98, 0.0) 0%, rgba(146, 182, 98, 0.35) 50%, rgba(146, 182, 98, 0.0) 100%);
  pointer-events: none;
}

.student-projects-detail .description-inner {
  max-width: 1366px;
  margin: 0 auto;
  padding: 64px 32px;
}

.student-projects-detail .description-grid {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 64px;
  align-items: start;
}

.student-projects-detail .desc-label {
  font-size: 15px;
  line-height: 1.45;
  color: #92B662;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.student-projects-detail .desc-heading {
  font-size: 50px;
  line-height: 1.2;
  margin-bottom: 32px;
  background: linear-gradient(135deg, #92B662 0%, #D3DECA 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.student-projects-detail .desc-body {
  font-size: 17px;
  line-height: 1.65;
  color: #c0cbb8;
  max-width: 640px;
}

.student-projects-detail .desc-body p {
  margin-bottom: 16px;
}

.student-projects-detail .desc-body h2 {
  font-size: 17px;
  line-height: 1.45;
  color: #92B662;
  margin-bottom: 8px;
  margin-top: 32px;
}

.student-projects-detail .desc-body h3 {
  font-size: 17px;
  line-height: 1.45;
  color: #D3DECA;
  margin-bottom: 8px;
  margin-top: 16px;
}

.student-projects-detail .desc-body mark {
  background: rgba(138, 149, 42, 0.25);
  color: #D3DECA;
  padding: 0 4px;
  border-radius: 3px;
}

.student-projects-detail .desc-body ul {
  list-style: none;
  padding: 0;
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.student-projects-detail .desc-body ul li {
  padding-left: 16px;
  position: relative;
  font-size: 17px;
  line-height: 1.65;
}

.student-projects-detail .desc-body ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 6px;
  height: 6px;
  background: #92B662;
  transform: rotate(45deg);
}

.student-projects-detail .desc-body dl {
  margin-bottom: 16px;
}

.student-projects-detail .desc-body dt {
  color: #92B662;
  font-size: 15px;
  line-height: 1.45;
  margin-top: 16px;
}

.student-projects-detail .desc-body dd {
  margin-left: 0;
  padding-left: 16px;
  border-left: 2px solid rgba(146, 182, 98, 0.3);
  border-bottom: 1px solid rgba(146, 182, 98, 0.1);
}

.student-projects-detail .desc-body details {
  margin-bottom: 8px;
  border: 1px solid rgba(138, 149, 42, 0.25);
  border-radius: 3px;
  overflow: hidden;
}

.student-projects-detail .desc-body summary {
  padding: 8px 16px;
  cursor: pointer;
  font-size: 15px;
  line-height: 1.45;
  color: #92B662;
  background: rgba(138, 149, 42, 0.08);
  list-style: none;
  transition: background 0.45s ease-in-out;
}

.student-projects-detail .desc-body summary:hover {
  background: rgba(138, 149, 42, 0.16);
}

.student-projects-detail .desc-body details[open] summary {
  border-bottom: 1px solid rgba(138, 149, 42, 0.2);
}

.student-projects-detail .desc-body figure {
  margin: 16px 0;
}

.student-projects-detail .desc-body figcaption {
  font-size: 15px;
  color: rgba(211, 222, 202, 0.6);
  margin-top: 4px;
}

.student-projects-detail .sidebar-column {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.student-projects-detail .poll-card {
  background: #232a33;
  border-radius: 3px;
  padding: 32px;
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
  border: 1px solid rgba(138, 149, 42, 0.2);
}

.student-projects-detail .poll-heading {
  font-size: 17px;
  line-height: 1.45;
  color: #D3DECA;
  margin-bottom: 16px;
}

.student-projects-detail .poll-question {
  font-size: 15px;
  line-height: 1.65;
  color: #b0bac8;
  margin-bottom: 16px;
}

.student-projects-detail .poll-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.student-projects-detail .poll-option {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.student-projects-detail .poll-option input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(138, 149, 42, 0.5);
  border-radius: 40px;
  flex-shrink: 0;
  position: relative;
  cursor: pointer;
  transition: border-color 0.45s ease-in-out, background 0.45s ease-in-out;
}

.student-projects-detail .poll-option input[type="radio"]:checked {
  border-color: #8A952A;
  background: #8A952A;
}

.student-projects-detail .poll-option input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 6px;
  border-radius: 40px;
  background: #1b2028;
}

.student-projects-detail .poll-option-label {
  font-size: 15px;
  line-height: 1.45;
  color: #D3DECA;
  cursor: pointer;
  transition: color 0.45s ease-in-out;
}

.student-projects-detail .poll-option input[type="radio"]:checked+.poll-option-label {
  color: #92B662;
}

.student-projects-detail .poll-submit {
  margin-top: 16px;
  padding: 8px 16px;
  border: 2px solid #8A952A;
  border-radius: 3px;
  background: transparent;
  color: #8A952A;
  font-size: 15px;
  line-height: 1.45;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.student-projects-detail .poll-submit::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #8A952A;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}

.student-projects-detail .poll-submit:hover::before {
  transform: scaleX(1);
}

.student-projects-detail .poll-submit:hover {
  color: #1b2028;
}

.student-projects-detail .poll-submit span {
  position: relative;
  z-index: 1;
}

.student-projects-detail .progress-trail {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 32px;
  background: #232a33;
  border-radius: 3px;
  border: 1px solid rgba(146, 182, 98, 0.18);
  box-shadow: -1px 2px 5px 0 rgba(138, 149, 42, 0.08);
}

.student-projects-detail .trail-heading {
  font-size: 17px;
  line-height: 1.45;
  color: #D3DECA;
  margin-bottom: 8px;
}

.student-projects-detail .trail-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.student-projects-detail .trail-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  position: relative;
  padding-bottom: 16px;
}

.student-projects-detail .trail-item:last-child {
  padding-bottom: 0;
}

.student-projects-detail .trail-dot-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}

.student-projects-detail .trail-dot {
  width: 12px;
  height: 12px;
  border-radius: 40px;
  background: rgba(138, 149, 42, 0.3);
  border: 2px solid rgba(138, 149, 42, 0.5);
  flex-shrink: 0;
  transition: background 0.5s ease-in-out;
}

.student-projects-detail .trail-item.active .trail-dot {
  background: #8A952A;
  border-color: #8A952A;
  box-shadow: -1px 2px 5px 0 rgba(138, 149, 42, 0.08);
}

.student-projects-detail .trail-line {
  width: 2px;
  flex: 1;
  min-height: 16px;
  background: rgba(138, 149, 42, 0.2);
  margin-top: 2px;
}

.student-projects-detail .trail-item:last-child .trail-line {
  display: none;
}

.student-projects-detail .trail-text {
  font-size: 15px;
  line-height: 1.45;
  color: #b0bac8;
  padding-top: 0;
}

.student-projects-detail .trail-item.active .trail-text {
  color: #D3DECA;
}

@media (max-width: 900px) {
  .student-projects-detail .hero-block {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 32px 16px 64px;
  }

  .student-projects-detail .hero-image-column {
    order: -1;
  }

  .student-projects-detail .program-inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 64px 16px;
  }

  .student-projects-detail .description-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .student-projects-detail .description-inner {
    padding: 64px 16px;
  }

  .student-projects-detail .hero-heading {
    font-size: 50px;
  }
}

@media (max-width: 600px) {
  .student-projects-detail .hero-heading {
    font-size: 50px;
  }

  .student-projects-detail .program-heading {
    font-size: 50px;
  }

  .student-projects-detail .desc-heading {
    font-size: 50px;
  }

  .student-projects-detail .meta-row {
    gap: 8px;
  }

  .student-projects-detail .hero-block {
    padding: 16px 16px 64px;
  }
}

.about-us-page {
  background-color: #1b2230;
  color: #d0d8c8;
  overflow-x: clip;
  position: relative;
}

.about-us-page .diagonal-block {
  position: relative;
  padding: 64px 32px;
  background: linear-gradient(128deg, #1b2230 45%, #2a3318 100%);
  border-bottom: 3px solid #8A952A;
}

.about-us-page .diagonal-block::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(128deg, rgba(138, 149, 42, 0.08) 0%, rgba(138, 149, 42, 0.0) 60%);
  pointer-events: none;
}

.about-us-page .diagonal-block::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, rgba(138, 149, 42, 0.0) 0%, rgba(138, 149, 42, 0.55) 50%, rgba(138, 149, 42, 0.0) 100%);
  border-radius: 3px;
}

.about-us-page .diagonal-inner {
  max-width: 1366px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 64px;
}

.about-us-page .diagonal-text {
  flex: 1 1 0;
  min-width: 0;
}

.about-us-page .diagonal-text .label-tag {
  display: inline-block;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #92B662;
  border: 1px solid rgba(146, 182, 98, 0.35);
  border-left: 3px solid #92B662;
  padding: 4px 16px;
  border-radius: 3px;
  margin-bottom: 16px;
}

.about-us-page .diagonal-text .primary-heading {
  font-size: 68px;
  line-height: 1.2;
  font-weight: 800;
  margin: 0 0 16px 0;
  background: linear-gradient(135deg, #D3DECA 0%, #92B662 60%, #8A952A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.about-us-page .diagonal-text .sub-heading {
  font-size: 17px;
  line-height: 1.65;
  color: #b8c4a8;
  max-width: 520px;
  margin: 0;
}

.about-us-page .diagonal-image-cluster {
  flex: 0 0 340px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.about-us-page .diagonal-image-cluster .main-image {
  width: 100%;
  height: 260px;
  object-fit: cover;
  object-position: center;
  border-radius: 3px;
  filter: saturate(0.7) brightness(0.85);
  transition: filter 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  display: block;
  box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13);
}

.about-us-page .diagonal-image-cluster .main-image:hover {
  filter: saturate(0) brightness(0.8);
}

.about-us-page .diagonal-image-cluster .shape-accent {
  position: absolute;
  bottom: -16px;
  left: -16px;
  width: 80px;
  height: 80px;
  border: 2px solid rgba(138, 149, 42, 0.3);
  border-radius: 3px;
  pointer-events: none;
}

.about-us-page .band-divider {
  width: 100%;
  height: 8px;
  background: linear-gradient(90deg, #8A952A 0%, #92B662 50%, #D3DECA 100%);
}

.about-us-page .story-block {
  padding: 64px 32px;
  background: #222c3a;
  position: relative;
}

.about-us-page .story-block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(138, 149, 42, 0.04) 0%, rgba(138, 149, 42, 0.0) 100%);
  pointer-events: none;
}

.about-us-page .story-inner {
  max-width: 1366px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: flex-start;
}

.about-us-page .story-metric-column {
  flex: 0 0 260px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.about-us-page .metric-big {
  background: linear-gradient(160deg, rgba(138, 149, 42, 0.14) 0%, rgba(138, 149, 42, 0.04) 100%);
  border: 1px solid rgba(138, 149, 42, 0.22);
  border-radius: 3px;
  padding: 32px;
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
}

.about-us-page .metric-big .metric-number {
  font-size: 68px;
  line-height: 1.2;
  font-weight: 800;
  background: linear-gradient(135deg, #D3DECA 0%, #8A952A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
}

.about-us-page .metric-big .metric-label {
  font-size: 15px;
  line-height: 1.45;
  color: #92B662;
  margin-top: 8px;
  display: block;
}

.about-us-page .metric-big .metric-context {
  font-size: 15px;
  line-height: 1.65;
  color: #8a9880;
  margin-top: 8px;
  display: block;
}

.about-us-page .dot-trail {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 16px 0;
}

.about-us-page .dot-trail .trail-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  position: relative;
}

.about-us-page .dot-trail .trail-item:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 20px;
  width: 2px;
  height: calc(100% + 8px);
  background: linear-gradient(180deg, rgba(138, 149, 42, 0.5) 0%, rgba(138, 149, 42, 0.1) 100%);
}

.about-us-page .dot-trail .trail-dot {
  width: 16px;
  height: 16px;
  border-radius: 40px;
  background: #8A952A;
  flex-shrink: 0;
  margin-top: 4px;
  box-shadow: -1px 2px 5px 0 rgba(138, 149, 42, 0.08);
  transition: background 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.about-us-page .dot-trail .trail-item:hover .trail-dot {
  background: #92B662;
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
}

.about-us-page .dot-trail .trail-text {
  font-size: 15px;
  line-height: 1.65;
  color: #b0bca0;
  padding-bottom: 16px;
}

.about-us-page .story-text-column {
  flex: 1 1 0;
  min-width: 0;
}

.about-us-page .story-text-column .section-heading {
  font-size: 50px;
  line-height: 1.2;
  font-weight: 700;
  background: linear-gradient(135deg, #92B662 0%, #8A952A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 32px 0;
}

.about-us-page .story-text-column .body-paragraph {
  font-size: 17px;
  line-height: 1.65;
  color: #c0ccb0;
  margin: 0 0 16px 0;
  max-width: 560px;
}

.about-us-page .story-text-column .body-paragraph:last-child {
  margin-bottom: 0;
}

.about-us-page .band-divider-thin {
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #2a3318 0%, #8A952A 40%, #2a3318 100%);
}

.about-us-page .team-block {
  padding: 64px 32px;
  background: #1b2230;
  position: relative;
}

.about-us-page .team-block .edge-glow {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(138, 149, 42, 0.0);
  border-radius: 3px;
  animation: edge-pulse 4s ease-in-out infinite;
  pointer-events: none;
}

@keyframes edge-pulse {

  0%,
  100% {
    box-shadow: inset 0 0 24px 0 rgba(138, 149, 42, 0.0), 0 0 0 0 rgba(138, 149, 42, 0.0);
  }

  50% {
    box-shadow: inset 0 0 24px 0 rgba(138, 149, 42, 0.06), 0 0 0 0 rgba(138, 149, 42, 0.0);
  }
}

.about-us-page .team-inner {
  max-width: 1366px;
  margin: 0 auto;
}

.about-us-page .team-inner .centered-heading {
  font-size: 50px;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  background: linear-gradient(135deg, #D3DECA 0%, #92B662 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 8px 0;
}

.about-us-page .team-inner .centered-sub {
  font-size: 17px;
  line-height: 1.65;
  color: #8a9880;
  text-align: left;
  max-width: 480px;
  margin: 0 auto 64px auto;
}

.about-us-page .team-grid {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: flex-start;
}

.about-us-page .team-portrait-column {
  flex: 0 0 240px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.about-us-page .portrait-circle {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid rgba(138, 149, 42, 0.4);
  box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13);
  flex-shrink: 0;
}

.about-us-page .portrait-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.75) brightness(0.9);
  transition: filter 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.about-us-page .portrait-circle img:hover {
  filter: saturate(0) brightness(0.8);
}

.about-us-page .portrait-name {
  font-size: 17px;
  line-height: 1.45;
  font-weight: 700;
  color: #D3DECA;
  text-align: center;
  margin: 0;
}

.about-us-page .portrait-role {
  font-size: 15px;
  line-height: 1.45;
  color: #92B662;
  text-align: center;
  margin: 0;
}

.about-us-page .team-text-cluster {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.about-us-page .team-card {
  background: linear-gradient(160deg, rgba(42, 51, 24, 0.6) 0%, rgba(27, 34, 48, 0.8) 100%);
  border: 1px solid rgba(138, 149, 42, 0.15);
  border-right: 3px solid rgba(138, 149, 42, 0.45);
  border-radius: 3px;
  padding: 32px;
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.about-us-page .team-card:hover {
  transform: translateY(-4px);
  box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13);
}

.about-us-page .team-card .card-heading {
  font-size: 17px;
  line-height: 1.45;
  font-weight: 700;
  color: #D3DECA;
  margin: 0 0 8px 0;
}

.about-us-page .team-card .card-body {
  font-size: 15px;
  line-height: 1.65;
  color: #9aaa88;
  margin: 0;
}

.about-us-page .team-no-portrait-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 8px;
}

.about-us-page .team-no-portrait-list .member-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: rgba(138, 149, 42, 0.06);
  border-radius: 3px;
  border-left: 3px solid rgba(146, 182, 98, 0.3);
  border-right: none;
}

.about-us-page .team-no-portrait-list .member-initials {
  width: 40px;
  height: 40px;
  border-radius: 40px;
  background: linear-gradient(135deg, #8A952A, #92B662);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  color: #1b2230;
  flex-shrink: 0;
}

.about-us-page .team-no-portrait-list .member-info .member-name {
  font-size: 15px;
  line-height: 1.45;
  font-weight: 700;
  color: #D3DECA;
  margin: 0;
}

.about-us-page .team-no-portrait-list .member-info .member-role {
  font-size: 15px;
  line-height: 1.45;
  color: #8a9880;
  margin: 0;
}

.about-us-page .band-divider-accent {
  width: 100%;
  height: 8px;
  background: linear-gradient(90deg, #8A952A 0%, #D3DECA 60%, #92B662 100%);
  opacity: 0.6;
}

.about-us-page .approach-block {
  padding: 64px 32px;
  background: linear-gradient(160deg, #1e2a1a 0%, #1b2230 60%, #222c3a 100%);
  position: relative;
}

.about-us-page .approach-block::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, rgba(146, 182, 98, 0.0) 0%, rgba(146, 182, 98, 0.4) 50%, rgba(146, 182, 98, 0.0) 100%);
  pointer-events: none;
}

.about-us-page .approach-inner {
  max-width: 1366px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: flex-start;
}

.about-us-page .approach-image-stack {
  flex: 0 0 320px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
}

.about-us-page .approach-image-stack .stacked-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center;
  border-radius: 3px;
  filter: saturate(0.65) brightness(0.8);
  transition: filter 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  display: block;
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
}

.about-us-page .approach-image-stack .stacked-image:hover {
  filter: saturate(0) brightness(0.75);
}

.about-us-page .approach-image-stack .stacked-image.second {
  height: 160px;
  margin-left: 32px;
}

.about-us-page .approach-image-stack .number-accent {
  position: absolute;
  bottom: -8px;
  right: -8px;
  font-size: 68px;
  line-height: 1.2;
  font-weight: 900;
  color: rgba(138, 149, 42, 0.12);
  pointer-events: none;
  user-select: none;
}

.about-us-page .approach-text-column {
  flex: 1 1 0;
  min-width: 0;
}

.about-us-page .approach-text-column .section-heading {
  font-size: 50px;
  line-height: 1.2;
  font-weight: 700;
  background: linear-gradient(135deg, #D3DECA 0%, #8A952A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 32px 0;
}

.about-us-page .approach-text-column .body-paragraph {
  font-size: 17px;
  line-height: 1.65;
  color: #c0ccb0;
  margin: 0 0 16px 0;
  max-width: 560px;
}

.about-us-page .keyword-inline {
  color: #92B662;
  font-weight: 600;
}

.about-us-page .approach-stats-row {
  display: flex;
  flex-direction: row;
  gap: 32px;
  margin-top: 32px;
}

.about-us-page .stat-cell {
  flex: 1 1 0;
  border-top: 2px solid rgba(138, 149, 42, 0.35);
  padding-top: 16px;
}

.about-us-page .stat-cell .stat-number {
  font-size: 50px;
  line-height: 1.2;
  font-weight: 800;
  background: linear-gradient(135deg, #92B662 0%, #8A952A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
}

.about-us-page .stat-cell .stat-description {
  font-size: 15px;
  line-height: 1.45;
  color: #8a9880;
  margin: 4px 0 0 0;
}

.about-us-page .approach-cta-button {
  display: inline-block;
  margin-top: 32px;
  padding: 16px 32px;
  font-size: 17px;
  line-height: 1.2;
  color: #92B662;
  background: transparent;
  border: 2px solid #8A952A;
  border-radius: 3px;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.about-us-page .approach-cta-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(138, 149, 42, 0.0) 0%, rgba(138, 149, 42, 0.18) 100%);
  transition: left 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.about-us-page .approach-cta-button:hover::before {
  left: 0;
}

.about-us-page .approach-cta-button:hover {
  color: #D3DECA;
  border-color: #92B662;
  transform: translateX(4px);
}

@media (max-width: 1200px) {
  .about-us-page .diagonal-inner {
    gap: 32px;
  }

  .about-us-page .diagonal-image-cluster {
    flex: 0 0 260px;
  }

  .about-us-page .story-inner {
    gap: 32px;
  }

  .about-us-page .approach-inner {
    gap: 32px;
  }
}

@media (max-width: 900px) {
  .about-us-page .diagonal-inner {
    flex-direction: column;
    gap: 32px;
  }

  .about-us-page .diagonal-image-cluster {
    flex: 0 0 auto;
    width: 100%;
  }

  .about-us-page .diagonal-text .primary-heading {
    font-size: 50px;
  }

  .about-us-page .story-inner {
    flex-direction: column;
    gap: 32px;
  }

  .about-us-page .story-metric-column {
    flex: 0 0 auto;
    width: 100%;
  }

  .about-us-page .team-grid {
    flex-direction: column;
    gap: 32px;
  }

  .about-us-page .team-portrait-column {
    flex: 0 0 auto;
    width: 100%;
    flex-direction: row;
    align-items: center;
    gap: 32px;
  }

  .about-us-page .approach-inner {
    flex-direction: column;
    gap: 32px;
  }

  .about-us-page .approach-image-stack {
    flex: 0 0 auto;
    width: 100%;
  }

  .about-us-page .approach-stats-row {
    gap: 16px;
  }
}

@media (max-width: 600px) {
  .about-us-page .diagonal-block {
    padding: 32px 16px;
  }

  .about-us-page .diagonal-text .primary-heading {
    font-size: 50px;
  }

  .about-us-page .story-block {
    padding: 32px 16px;
  }

  .about-us-page .team-block {
    padding: 32px 16px;
  }

  .about-us-page .approach-block {
    padding: 32px 16px;
  }

  .about-us-page .team-portrait-column {
    flex-direction: column;
    align-items: center;
  }

  .about-us-page .approach-stats-row {
    flex-direction: column;
    gap: 16px;
  }

  .about-us-page .metric-big .metric-number {
    font-size: 50px;
  }

  .about-us-page .story-text-column .section-heading {
    font-size: 50px;
  }

  .about-us-page .approach-text-column .section-heading {
    font-size: 50px;
  }

  .about-us-page .team-inner .centered-heading {
    font-size: 50px;
  }

  .about-us-page .approach-image-stack .stacked-image.second {
    margin-left: 16px;
  }
}

.first {
  background: #1b2028;
  overflow-x: clip;
  position: relative;
}

.first .scanlines {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: repeating-linear-gradient(to bottom,
      transparent,
      transparent 3px,
      rgba(138, 149, 42, 0.03) 3px,
      rgba(138, 149, 42, 0.03) 4px);
  animation: scanline-drift 12s linear infinite;
}

@keyframes scanline-drift {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 0 80px;
  }
}

.first .page-limiter {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 1;
}

.first .title-block {
  padding: 64px 0 32px;
  position: relative;
  overflow: hidden;
}

.first .title-block .atmosphere {
  pointer-events: none;
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.13;
}

.first .title-block .atmosphere.spot-a {
  width: 400px;
  height: 400px;
  background: #8A952A;
  top: -80px;
  right: 10%;
}

.first .title-block .atmosphere.spot-b {
  width: 280px;
  height: 280px;
  background: #92B662;
  bottom: 0;
  right: 30%;
}

.first .title-grid {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 64px;
}

.first .title-image-column {
  flex: 0 0 260px;
  position: relative;
}

.first .title-image-wrap {
  border-radius: 3px;
  overflow: hidden;
  position: relative;
}

.first .title-image-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg,
      rgba(27, 32, 40, 0.08) 0px,
      rgba(27, 32, 40, 0.08) 1px,
      transparent 1px,
      transparent 3px);
  pointer-events: none;
}

.first .title-image-wrap img {
  width: 260px;
  height: 340px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: blur(0px) grayscale(15%);
  transition: filter 0.6s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s ease-in-out;
}

.first .title-image-wrap:hover img {
  filter: blur(0px) grayscale(0%);
  transform: scale(1.02);
}

.first .title-text-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-bottom: 16px;
}

.first .title-label {
  font-size: 15px;
  line-height: 1.45;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #92B662;
  display: inline-block;
}

.first .title-heading {
  font-size: 68px;
  line-height: 1.2;
  margin: 0;
  background: linear-gradient(135deg, #D3DECA 0%, #D3DECA 30%, #92B662 70%, #8A952A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.first .title-description {
  font-size: 17px;
  line-height: 1.65;
  color: #b8c4b0;
  max-width: 560px;
}

.first .experience-block {
  padding: 64px 0;
  background: linear-gradient(180deg, #1b2028 0%, #212830 60%, #1b2028 100%);
  position: relative;
  clip-path: polygon(0 0, 100% 4%, 100% 96%, 0 100%);
}

.first .experience-grid {
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: center;
}

.first .experience-image-wrap {
  flex: 0 0 420px;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13);
}

.first .experience-image-wrap img {
  width: 420px;
  height: 300px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: blur(3px) saturate(0.8);
  transition: filter 0.65s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s ease-in-out;
}

.first .experience-image-wrap:hover img {
  filter: blur(0px) saturate(1.1);
  transform: scale(1.03);
}

.first .experience-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.first .block-heading {
  font-size: 50px;
  line-height: 1.2;
  margin: 0;
  background: linear-gradient(135deg, #92B662 0%, #8A952A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.first .body-text {
  font-size: 17px;
  line-height: 1.65;
  color: #c2ccba;
}

.first .contrast-numbers {
  display: flex;
  flex-direction: row;
  gap: 32px;
  margin-top: 16px;
  align-items: flex-end;
}

.first .contrast-number-before {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.first .contrast-number-after {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.first .number-value {
  font-size: 50px;
  line-height: 1.2;
  font-weight: 700;
  color: #3d4350;
}

.first .number-value.after {
  color: #92B662;
  text-shadow: -1px 6px 18px rgba(146, 182, 98, 0.11);
}

.first .number-label {
  font-size: 15px;
  line-height: 1.45;
  color: #7a8870;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.first .number-divider {
  font-size: 50px;
  line-height: 1.2;
  color: #2e3540;
  padding-bottom: 4px;
}

.first .audience-block {
  padding: 64px 0;
  background: #1b2028;
  position: relative;
}

.first .audience-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}

.first .audience-text-area {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.first .audience-image-wrap {
  border-radius: 3px;
  overflow: hidden;
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
}

.first .audience-image-wrap img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: blur(2px) saturate(0.7);
  transition: filter 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.6s ease-in-out;
}

.first .audience-image-wrap:hover img {
  filter: blur(0px) saturate(1);
  transform: scale(1.02);
}

.first .dot-trail {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 8px;
  position: relative;
}

.first .dot-trail::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 16px;
  bottom: 16px;
  width: 2px;
  background: linear-gradient(to bottom, #8A952A 0%, #2e3540 100%);
}

.first .trail-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 8px 0;
  position: relative;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.first .trail-item:hover {
  transform: translateX(6px);
}

.first .trail-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2e3540;
  border: 2px solid #3d4a28;
  flex-shrink: 0;
  margin-top: 2px;
  transition: background 0.5s ease-in-out, border-color 0.5s ease-in-out;
}

.first .trail-item.active .trail-dot {
  background: #8A952A;
  border-color: #92B662;
  box-shadow: -1px 2px 5px 0 rgba(138, 149, 42, 0.08);
}

.first .trail-text {
  font-size: 15px;
  line-height: 1.65;
  color: #9aaa90;
}

.first .trail-item.active .trail-text {
  color: #c8d8b8;
}

.first .available-block {
  padding: 64px 0;
  background: #212830;
  clip-path: polygon(0 4%, 100% 0, 100% 100%, 0 96%);
  position: relative;
}

.first .available-inner {
  padding: 32px 0;
}

.first .three-columns {
  display: grid;
  grid-template-columns: 1fr 1.35fr 1fr;
  gap: 16px;
  align-items: end;
}

.first .available-card {
  background: #1b2028;
  border-radius: 3px;
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
  border-top: 2px solid #2e3a1a;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s ease-in-out;
}

.first .available-card:hover {
  transform: translateY(-6px);
  box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13);
}

.first .available-card.center {
  padding: 48px 28px;
  border-top-color: #8A952A;
  background: #1e2630;
}

.first .available-card-image {
  border-radius: 3px;
  overflow: hidden;
}

.first .available-card-image img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: blur(2px) saturate(0.6);
  transition: filter 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.first .available-card-image:hover img {
  filter: blur(0px) saturate(1);
}

.first .card-heading {
  font-size: 17px;
  line-height: 1.45;
  color: #D3DECA;
  margin: 0;
}

.first .card-text {
  font-size: 15px;
  line-height: 1.65;
  color: #7a8870;
}

.first .card-link {
  display: inline-block;
  font-size: 15px;
  line-height: 1.45;
  color: #92B662;
  text-decoration: none;
  border: 1px solid #3d4a28;
  border-radius: 3px;
  padding: 8px 16px;
  background: transparent;
  transition: color 0.5s ease-in-out, background 0.55s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.5s ease-in-out;
  position: relative;
  overflow: hidden;
  align-self: flex-start;
}

.first .card-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #8A952A;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}

.first .card-link:hover::before {
  transform: scaleX(1);
}

.first .card-link:hover {
  color: #fff;
  border-color: #8A952A;
}

.first .card-link span {
  position: relative;
  z-index: 1;
}

.first .reputation-block {
  padding: 64px 0;
  background: #1b2028;
  position: relative;
}

.first .reputation-inner {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}

.first .reputation-heading-area {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.first .reputation-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  width: 100%;
}

.first .reputation-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 32px;
  border-radius: 3px;
  background: #212830;
  border-left: 3px solid #3d4a28;
  border-top: 1px solid #2a3040;
  box-shadow: -1px 2px 5px 0 rgba(138, 149, 42, 0.08);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), border-left-color 0.5s ease-in-out;
}

.first .reputation-item:hover {
  transform: translateY(-4px);
  border-left-color: #92B662;
}

.first .reputation-number {
  font-size: 50px;
  line-height: 1.2;
  color: #8A952A;
  font-weight: 700;
}

.first .reputation-label {
  font-size: 15px;
  line-height: 1.45;
  color: #7a8870;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.first .reputation-detail {
  font-size: 15px;
  line-height: 1.65;
  color: #8a9880;
}

.first .testimonial-block {
  padding: 64px 0;
  background: linear-gradient(160deg, #212830 0%, #1b2028 100%);
  position: relative;
}

.first .testimonial-inner {
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: center;
}

.first .testimonial-image-side {
  flex: 0 0 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.first .portrait-wrap {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #3d4a28;
  box-shadow: -1px 6px 18px 0 rgba(146, 182, 98, 0.11);
}

.first .portrait-wrap img {
  width: 100px;
  height: 100px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: blur(1px) saturate(0.7);
  transition: filter 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.first .portrait-wrap:hover img {
  filter: blur(0px) saturate(1);
}

.first .testimonial-name {
  font-size: 15px;
  line-height: 1.45;
  color: #92B662;
  text-align: center;
}

.first .testimonial-role {
  font-size: 15px;
  line-height: 1.45;
  color: #5a6655;
  text-align: center;
}

.first .testimonial-text-side {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.first .testimonial-quote {
  font-size: 17px;
  line-height: 1.65;
  color: #b8c4b0;
  border-left: 3px solid #8A952A;
  border-top: 1px solid #2e3a1a;
  padding: 16px 32px;
  border-radius: 3px;
  background: rgba(138, 149, 42, 0.04);
}

.first .centered-heading {
  text-align: center;
}

.first .sub-label {
  font-size: 15px;
  line-height: 1.45;
  color: #7a8870;
}

@media (max-width: 1200px) {
  .first .title-heading {
    font-size: 50px;
  }

  .first .title-image-wrap img {
    width: 200px;
    height: 280px;
  }

  .first .title-image-column {
    flex: 0 0 200px;
  }

  .first .experience-image-wrap {
    flex: 0 0 320px;
  }

  .first .experience-image-wrap img {
    width: 320px;
  }
}

@media (max-width: 900px) {
  .first .title-grid {
    flex-direction: column;
    gap: 32px;
    align-items: flex-start;
  }

  .first .title-image-wrap img {
    width: 100%;
    height: 220px;
  }

  .first .title-image-column {
    flex: 0 0 auto;
    width: 100%;
  }

  .first .experience-grid {
    flex-direction: column;
    gap: 32px;
  }

  .first .experience-image-wrap {
    flex: 0 0 auto;
    width: 100%;
  }

  .first .experience-image-wrap img {
    width: 100%;
  }

  .first .audience-columns {
    grid-template-columns: 1fr;
  }

  .first .three-columns {
    grid-template-columns: 1fr;
  }

  .first .available-card.center {
    padding: 32px 24px;
  }

  .first .reputation-grid {
    grid-template-columns: 1fr 1fr;
  }

  .first .testimonial-inner {
    flex-direction: column;
    gap: 32px;
  }
}

@media (max-width: 600px) {
  .first .title-heading {
    font-size: 50px;
  }

  .first .block-heading {
    font-size: 50px;
  }

  .first .reputation-grid {
    grid-template-columns: 1fr;
  }

  .first .page-limiter {
    padding: 0 16px;
  }

  .first .contrast-numbers {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

.student-projects {
  background-color: #181c1a;
  color: #d8e4cc;
  overflow-x: hidden;
}

.student-projects .title-band {
  position: relative;
  padding: 64px 32px 64px;
  background: linear-gradient(180deg, rgba(138, 149, 42, 0) 0%, rgba(138, 149, 42, 0.18) 60%, rgba(26, 34, 20, 0.97) 100%);
  overflow: hidden;
}

.student-projects .title-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(135deg,
      rgba(146, 182, 98, 0.04) 0px,
      rgba(146, 182, 98, 0.04) 1px,
      transparent 1px,
      transparent 18px);
  pointer-events: none;
}

.student-projects .title-band .label-above {
  display: inline-block;
  font-size: 15px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #92B662;
  border: 1px solid rgba(146, 182, 98, 0.35);
  border-radius: 3px;
  padding: 4px 16px;
  margin-bottom: 16px;
}

.student-projects .title-band .page-heading {
  font-size: 68px;
  line-height: 1.2;
  margin: 0 0 16px;
  background: linear-gradient(135deg, #92B662 0%, rgba(138, 149, 42, 0.7) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  max-width: 820px;
}

.student-projects .title-band .page-description {
  font-size: 17px;
  line-height: 1.65;
  color: #b8c9a8;
  max-width: 560px;
  margin: 0;
}

.student-projects .title-band .deco-strokes {
  position: absolute;
  top: 32px;
  right: 64px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}

.student-projects .title-band .deco-strokes span {
  display: block;
  height: 2px;
  background: rgba(146, 182, 98, 0.22);
  border-radius: 3px;
}

.student-projects .projects-grid-area {
  padding: 64px 32px;
  max-width: 1366px;
  margin: 0 auto;
}

.student-projects .projects-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

.student-projects .project-card {
  background: #1e2520;
  border-radius: 3px;
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  border: 1px solid rgba(146, 182, 98, 0.1);
  overflow: hidden;
}

.student-projects .project-card:hover {
  box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13);
  transform: translateY(-4px);
}

.student-projects .project-card .card-image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
}

.student-projects .project-card .card-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.85);
  transition: filter 0.6s ease-in-out;
}

.student-projects .project-card:hover .card-image-wrap img {
  filter: saturate(0);
}

.student-projects .project-card .card-image-wrap .badge-seats {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(138, 149, 42, 0.88);
  color: #fff;
  font-size: 15px;
  border-radius: 3px;
  padding: 4px 8px;
  line-height: 1.2;
}

.student-projects .project-card .card-body {
  padding: 32px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 16px;
}

.student-projects .project-card .card-title {
  font-size: 17px;
  line-height: 1.45;
  margin: 0;
  background: linear-gradient(135deg, #D3DECA 0%, rgba(146, 182, 98, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.student-projects .project-card .card-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #9aab8a;
  margin: 0;
}

.student-projects .project-card .card-meta {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
}

.student-projects .project-card .meta-item {
  font-size: 15px;
  color: #7a8c6a;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
}

.student-projects .project-card .meta-item .meta-dot {
  width: 7px;
  height: 7px;
  border-radius: 40px;
  background: #8A952A;
  display: inline-block;
  box-shadow: 0 0 0 2px rgba(138, 149, 42, 0.22);
  flex-shrink: 0;
}

.student-projects .project-card .card-stats {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
}

.student-projects .project-card .stat-pill {
  font-size: 15px;
  color: #8A952A;
  border: 1px solid rgba(138, 149, 42, 0.25);
  border-radius: 3px;
  padding: 4px 8px;
  line-height: 1.2;
}

.student-projects .project-card .card-price-row {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.student-projects .project-card .price-value {
  font-size: 50px;
  line-height: 1.2;
  color: #92B662;
  font-weight: 700;
}

.student-projects .project-card .price-note {
  font-size: 15px;
  color: #6a7a5a;
  line-height: 1.45;
  padding-bottom: 8px;
}

.student-projects .project-card .card-action {
  margin-top: auto;
}

.student-projects .project-card .go-button {
  display: inline-block;
  font-size: 15px;
  color: #92B662;
  background: transparent;
  border: 1px solid rgba(146, 182, 98, 0.4);
  border-radius: 3px;
  padding: 8px 32px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.student-projects .project-card .go-button::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 3px;
  border: 2px solid #92B662;
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.student-projects .project-card .go-button:hover {
  color: #D3DECA;
  border-color: #92B662;
  transform: translateX(4px);
}

.student-projects .project-card .go-button:hover::after {
  opacity: 1;
  transform: scale(1);
}

.student-projects .about-platform {
  background: #151a12;
  padding: 64px 32px;
  border-top: 1px solid rgba(146, 182, 98, 0.1);
  border-bottom: 1px solid rgba(146, 182, 98, 0.1);
}

.student-projects .about-platform .about-inner {
  max-width: 1366px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.student-projects .about-platform .about-image-col {
  position: relative;
}

.student-projects .about-platform .about-image-wrap {
  border-radius: 3px;
  overflow: hidden;
  box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13);
}

.student-projects .about-platform .about-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0.82;
  transition: opacity 0.6s ease-in-out, filter 0.6s ease-in-out;
  filter: saturate(0.7);
}

.student-projects .about-platform .about-image-wrap:hover img {
  filter: saturate(0);
  opacity: 0.65;
}

.student-projects .about-platform .about-text-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.student-projects .about-platform .about-heading {
  font-size: 50px;
  line-height: 1.2;
  margin: 0;
  background: linear-gradient(135deg, #D3DECA 0%, rgba(138, 149, 42, 0.75) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.student-projects .about-platform .about-sub {
  font-size: 17px;
  line-height: 1.45;
  color: #92B662;
  margin: 0;
}

.student-projects .about-platform .about-body {
  font-size: 15px;
  line-height: 1.65;
  color: #9aab8a;
  margin: 0;
  max-width: 480px;
}

.student-projects .about-platform .accent-tag {
  display: inline-block;
  font-size: 15px;
  color: #D3DECA;
  background: rgba(138, 149, 42, 0.15);
  border: 1px solid rgba(138, 149, 42, 0.3);
  border-radius: 3px;
  padding: 4px 8px;
  margin-right: 8px;
  margin-bottom: 4px;
}

.student-projects .about-platform .tags-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 4px;
}

.student-projects .testimonials-area {
  padding: 64px 32px;
  max-width: 1366px;
  margin: 0 auto;
}

.student-projects .testimonials-area .section-label {
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #8A952A;
  margin-bottom: 16px;
  display: block;
}

.student-projects .testimonials-area .section-heading {
  font-size: 50px;
  line-height: 1.2;
  margin: 0 0 32px;
  background: linear-gradient(135deg, #D3DECA 0%, rgba(138, 149, 42, 0.7) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.student-projects .testimonials-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

.student-projects .testimonial-card {
  background: #1a2018;
  border-radius: 3px;
  padding: 32px;
  border: 1px solid rgba(146, 182, 98, 0.09);
  box-shadow: -1px 2px 5px 0 rgba(138, 149, 42, 0.08);
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.student-projects .testimonial-card:hover {
  transform: translateY(-3px);
}

.student-projects .testimonial-card .portrait-wrap {
  width: 72px;
  aspect-ratio: 4/5;
  border-radius: 40px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
}

.student-projects .testimonial-card .portrait-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.student-projects .testimonial-card .person-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
}

.student-projects .testimonial-card .person-info .person-name {
  font-size: 17px;
  line-height: 1.45;
  color: #D3DECA;
  margin: 0;
}

.student-projects .testimonial-card .person-info .person-role {
  font-size: 15px;
  color: #8A952A;
  margin: 0;
}

.student-projects .testimonial-card .quote-text {
  font-size: 15px;
  line-height: 1.65;
  color: #8a9c7a;
  margin: 0;
}

.student-projects .metrics-strip {
  background: linear-gradient(135deg, rgba(138, 149, 42, 0.18) 0%, rgba(26, 34, 20, 0.92) 100%);
  border-top: 1px solid rgba(146, 182, 98, 0.13);
  border-bottom: 1px solid rgba(146, 182, 98, 0.13);
  padding: 64px 32px;
}

.student-projects .metrics-strip .metrics-inner {
  max-width: 1366px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.student-projects .metrics-strip .metrics-heading {
  font-size: 50px;
  line-height: 1.2;
  margin: 0;
  text-align: center;
  background: linear-gradient(135deg, #92B662 0%, rgba(211, 222, 202, 0.7) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.student-projects .metrics-strip .metrics-body {
  font-size: 15px;
  line-height: 1.65;
  color: #8a9c7a;
  text-align: center;
  max-width: 560px;
  margin: 0 auto;
}

.student-projects .metrics-row {
  display: flex;
  flex-direction: row;
  gap: 32px;
  justify-content: center;
  flex-wrap: wrap;
}

.student-projects .metric-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 160px;
}

.student-projects .metric-item .metric-icon-wrap {
  width: 48px;
  height: 48px;
  border-radius: 40px;
  background: rgba(138, 149, 42, 0.18);
  border: 2px solid rgba(146, 182, 98, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
}

.student-projects .metric-item .metric-icon-wrap svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: #92B662;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.student-projects .metric-item .metric-number {
  font-size: 50px;
  line-height: 1.2;
  color: #92B662;
  font-weight: 700;
}

.student-projects .metric-item .metric-label {
  font-size: 15px;
  color: #7a8c6a;
  text-align: center;
  line-height: 1.45;
}

.student-projects .dot-trail {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
  margin: 0 auto;
  width: fit-content;
}

.student-projects .dot-trail .trail-dot {
  width: 10px;
  height: 10px;
  border-radius: 40px;
  background: rgba(146, 182, 98, 0.25);
  flex-shrink: 0;
  transition: background 0.5s ease-in-out;
}

.student-projects .dot-trail .trail-dot.active {
  background: #8A952A;
  box-shadow: 0 0 0 3px rgba(138, 149, 42, 0.2);
}

.student-projects .dot-trail .trail-line {
  width: 32px;
  height: 2px;
  background: rgba(146, 182, 98, 0.15);
}

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

  .student-projects .about-platform .about-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .student-projects .testimonials-grid {
    grid-template-columns: 1fr;
  }

  .student-projects .title-band .page-heading {
    font-size: 50px;
  }
}

@media (max-width: 600px) {
  .student-projects .title-band {
    padding: 32px 16px;
  }

  .student-projects .projects-grid-area {
    padding: 32px 16px;
  }

  .student-projects .about-platform {
    padding: 32px 16px;
  }

  .student-projects .testimonials-area {
    padding: 32px 16px;
  }

  .student-projects .metrics-strip {
    padding: 32px 16px;
  }

  .student-projects .title-band .page-heading {
    font-size: 50px;
  }

  .student-projects .metrics-row {
    flex-direction: column;
    align-items: center;
  }
}

.contact-us-page {
  background-color: #181c1a;
  overflow-x: clip;
  padding-bottom: 64px;
}

.contact-us-page .rating-field {
  display: flex;
  flex-direction: row-reverse;
  gap: 8px;
  justify-content: flex-end;
}

.contact-us-page .rating-field input[type="radio"] {
  display: none;
}

.contact-us-page .rating-field label {
  cursor: pointer;
  font-size: 17px;
  color: #4a5248;
  padding: 4px 8px;
  border: 1px solid #2e3530;
  border-radius: 3px;
  transition: background-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), color 0.5s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-us-page .rating-field label:hover,
.contact-us-page .rating-field label:hover~label {
  background-color: #8A952A;
  color: #f0f2e8;
  border-color: #8A952A;
}

.contact-us-page .rating-field input[type="radio"]:checked+label,
.contact-us-page .rating-field input[type="radio"]:checked~label {
  background-color: #92B662;
  color: #181c1a;
  border-color: #92B662;
}

.contact-us-page .atmosphere-strip {
  position: relative;
  padding: 64px 32px 32px;
  overflow: hidden;
}

.contact-us-page .atmosphere-strip::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 10%;
  width: 320px;
  height: 320px;
  background: #8A952A;
  opacity: 0.07;
  border-radius: 40px;
  filter: blur(80px);
  pointer-events: none;
}

.contact-us-page .atmosphere-strip::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 8%;
  width: 200px;
  height: 200px;
  background: #92B662;
  opacity: 0.06;
  border-radius: 40px;
  filter: blur(60px);
  pointer-events: none;
}

.contact-us-page .page-grid {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 32px;
  max-width: 1366px;
  margin: 0 auto;
  align-items: start;
}

.contact-us-page .left-column {
  display: flex;
  flex-direction: column;
  gap: 32px;
  position: relative;
}

.contact-us-page .left-column::after {
  content: "";
  position: absolute;
  top: 0;
  right: -16px;
  width: 1px;
  height: 100%;
  background: linear-gradient(to bottom, transparent, #8A952A33, transparent);
}

.contact-us-page .page-label {
  font-size: 15px;
  color: #8A952A;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin: 0 0 8px;
}

.contact-us-page .page-heading {
  font-size: 50px;
  line-height: 1.2;
  margin: 0 0 16px;
  background: linear-gradient(135deg, #92B662 0%, #92B662 40%, #8A952A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.contact-us-page .page-description {
  font-size: 17px;
  line-height: 1.65;
  color: #b8c4b0;
  margin: 0;
  max-width: 360px;
}

.contact-us-page .dots-border {
  display: flex;
  flex-direction: row;
  gap: 4px;
  flex-wrap: wrap;
  max-width: 200px;
  margin-top: 16px;
}

.contact-us-page .dot {
  border-radius: 40px;
  background: #8A952A;
  opacity: 0.4;
}

.contact-us-page .dot.small {
  width: 4px;
  height: 4px;
}

.contact-us-page .dot.medium {
  width: 7px;
  height: 7px;
  opacity: 0.25;
}

.contact-us-page .dot.large {
  width: 10px;
  height: 10px;
  opacity: 0.15;
}

.contact-us-page .contact-detail-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.contact-us-page .contact-detail-list li {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.contact-us-page .detail-label {
  font-size: 15px;
  color: #8A952A;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.contact-us-page .detail-value {
  font-size: 17px;
  line-height: 1.45;
  color: #d3deca;
  text-decoration: none;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-us-page .detail-value:hover {
  color: #92B662;
}

.contact-us-page .right-column {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.contact-us-page .contact-form-card {
  background: #1e2420;
  border: 1px solid #2e3530;
  border-radius: 3px;
  padding: 32px;
  box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13);
  position: relative;
  overflow: hidden;
  animation: border-glow 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes border-glow {
  from {
    box-shadow: -1px 2px 5px 0 rgba(138, 149, 42, 0.08), 0 0 0 0 rgba(146, 182, 98, 0);
  }

  to {
    box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13), 0 0 0 2px rgba(138, 149, 42, 0.18);
  }
}

.contact-us-page .contact-form-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #8A952A 0%, #92B662 60%, transparent 100%);
}

.contact-us-page .form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

.contact-us-page .form-label {
  font-size: 15px;
  color: #92B662;
  letter-spacing: 0.06em;
}

.contact-us-page .form-input {
  background: #141814;
  border: 1px solid #2e3530 !important;
  border-radius: 3px;
  color: #d3deca;
  font-size: 17px;
  padding: 8px 16px;
  outline: none;
  transition: border-color 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  width: 100%;
  box-sizing: border-box;
}

.contact-us-page .form-input::placeholder {
  color: #4a5248;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contact-us-page .form-input:focus {
  border-color: #8A952A !important;
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
}

.contact-us-page .form-textarea {
  resize: vertical;
  min-height: 100px;
}

.contact-us-page .rating-group {
  margin-bottom: 16px;
}

.contact-us-page .rating-group .form-label {
  display: block;
  margin-bottom: 8px;
}

.contact-us-page .rating-numbers {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap;
}

.contact-us-page .privacy-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 16px;
}

.contact-us-page .privacy-checkbox {
  margin-top: 4px;
  accent-color: #8A952A;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  cursor: pointer;
}

.contact-us-page .privacy-text {
  font-size: 15px;
  line-height: 1.45;
  color: #8a9485;
}

.contact-us-page .privacy-text a {
  color: #92B662;
  text-decoration: underline;
  text-decoration-color: rgba(146, 182, 98, 0.4);
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-us-page .privacy-text a:hover {
  color: #8A952A;
}

.contact-us-page .submit-button {
  background: transparent;
  border: 1px solid #8A952A;
  border-radius: 3px;
  color: #8A952A;
  cursor: pointer;
  font-size: 17px;
  letter-spacing: 0.08em;
  padding: 16px 32px;
  position: relative;
  overflow: hidden;
  transition: color 0.55s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.55s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  clip-path: inset(0);
}

.contact-us-page .submit-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: #8A952A;
  transition: left 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}

.contact-us-page .submit-button span {
  position: relative;
  z-index: 1;
}

.contact-us-page .submit-button:hover::before {
  left: 0;
}

.contact-us-page .submit-button:hover {
  color: #f0f2e8;
  transform: translateY(-2px);
}

.contact-us-page .submit-button:focus {
  outline: 2px solid #92B662;
  outline-offset: 3px;
}

.contact-us-page .submit-button:active {
  transform: translateY(0);
}

.contact-us-page .curve-divider {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  margin: 0;
}

.contact-us-page .curve-divider svg {
  display: block;
  width: 100%;
}

.contact-us-page .connection-block {
  background: #1a1e1b;
  padding: 64px 32px;
  position: relative;
}

.contact-us-page .connection-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  pointer-events: none;
  border-radius: 3px;
}

.contact-us-page .connection-inner {
  max-width: 1366px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.contact-us-page .connection-heading {
  font-size: 50px;
  line-height: 1.2;
  margin: 0;
  background: linear-gradient(135deg, #D3DECA 0%, #92B662 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-align: center;
}

.contact-us-page .diagram-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.contact-us-page .diagram-node {
  background: #222820;
  border: 1px solid #3a4238;
  border-radius: 3px;
  padding: 16px 32px;
  text-align: center;
  box-shadow: -1px 6px 18px 0 rgba(146, 182, 98, 0.11);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-us-page .diagram-node:hover {
  transform: translateY(-3px);
  background-color: #272e24;
  box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13);
}

.contact-us-page .diagram-node-label {
  font-size: 15px;
  color: #8A952A;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 4px;
}

.contact-us-page .diagram-node-value {
  font-size: 17px;
  color: #d3deca;
  margin: 0;
  line-height: 1.45;
}

.contact-us-page .diagram-connector {
  width: 32px;
  height: 2px;
  background: linear-gradient(90deg, #8A952A, #92B662);
  border-radius: 3px;
  flex-shrink: 0;
}

.contact-us-page .topics-block {
  padding: 64px 32px;
  background: #181c1a;
}

.contact-us-page .topics-inner {
  max-width: 1366px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}

.contact-us-page .topics-text {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.contact-us-page .topics-heading {
  font-size: 50px;
  line-height: 1.2;
  margin: 0;
  background: linear-gradient(135deg, #92B662 0%, #8A952A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.contact-us-page .topics-subheading {
  font-size: 17px;
  line-height: 1.45;
  color: #8a9485;
  margin: 0;
  text-align: left;
}

.contact-us-page .topics-body {
  font-size: 17px;
  line-height: 1.65;
  color: #b8c4b0;
  margin: 0;
  max-width: 480px;
  text-align: left;
}

.contact-us-page .topic-trail {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.contact-us-page .topic-trail::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: linear-gradient(to bottom, #8A952A, #92B662, #D3DECA);
  border-radius: 3px;
}

.contact-us-page .topic-trail li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding-left: 4px;
}

.contact-us-page .trail-dot {
  width: 16px;
  height: 16px;
  border-radius: 40px;
  background: #8A952A;
  flex-shrink: 0;
  margin-top: 2px;
  border: 2px solid #181c1a;
  box-shadow: -1px 2px 5px 0 rgba(138, 149, 42, 0.08);
  transition: background-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-us-page .topic-trail li:hover .trail-dot {
  background-color: #92B662;
  transform: scale(1.2);
}

.contact-us-page .trail-text {
  font-size: 17px;
  line-height: 1.45;
  color: #c2ceba;
}

.contact-us-page .trail-text strong {
  color: #d3deca;
  font-weight: 600;
}

@media (max-width: 900px) {
  .contact-us-page .page-grid {
    grid-template-columns: 1fr;
  }

  .contact-us-page .left-column::after {
    display: none;
  }

  .contact-us-page .topics-inner {
    grid-template-columns: 1fr;
  }

  .contact-us-page .diagram-connector {
    display: none;
  }

  .contact-us-page .diagram-row {
    flex-direction: column;
    gap: 16px;
  }
}

@media (max-width: 600px) {
  .contact-us-page .page-heading {
    font-size: 50px;
  }

  .contact-us-page .connection-heading {
    font-size: 50px;
  }

  .contact-us-page .topics-heading {
    font-size: 50px;
  }

  .contact-us-page .atmosphere-strip {
    padding: 32px 16px 16px;
  }

  .contact-us-page .contact-form-card {
    padding: 16px;
  }

  .contact-us-page .topics-block {
    padding: 32px 16px;
  }

  .contact-us-page .connection-block {
    padding: 32px 16px;
  }

  .contact-us-page .rating-numbers {
    gap: 4px;
  }
}

.success-page {
  background: #181d1a;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 16px;
}

.success-page .success-wrapper {
  background: #1e2420;
  border: 1px solid #8A952A33;
  border-radius: 3px;
  box-shadow: -1px 6px 18px 0 rgba(138, 149, 42, 0.11);
  max-width: 560px;
  padding: 64px 32px;
  text-align: center;
  width: 100%;
}

.success-page .success-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 32px auto;
  width: 72px;
  height: 72px;
}

.success-page .success-icon svg {
  display: block;
}

.success-page .success-heading {
  background: linear-gradient(135deg, #92B662 0%, #8A952A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 50px;
  line-height: 1.2;
  margin: 0 0 16px 0;
}

.success-page .success-message {
  color: #D3DECA;
  font-size: 17px;
  line-height: 1.65;
  margin: 0 0 32px 0;
}

.success-page .success-divider {
  border: none;
  border-top: 1px solid #8A952A44;
  margin: 0 0 32px 0;
}

.success-page .success-detail {
  color: #92B662;
  font-size: 15px;
  line-height: 1.45;
  margin: 0 0 32px 0;
}

.success-page .success-action {
  border: 1px solid #8A952A;
  border-radius: 3px;
  color: #92B662;
  display: inline-block;
  font-size: 15px;
  letter-spacing: 0.08em;
  padding: 16px 32px;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), background 0.6s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease-in-out, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden;
  background: transparent;
}

.success-page .success-action::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #8A952A;
  opacity: 0;
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  border-radius: 3px;
  z-index: 0;
}

.success-page .success-action:hover::before {
  opacity: 1;
}

.success-page .success-action:hover {
  color: #181d1a;
  box-shadow: -1px 9px 48px 0 rgba(138, 149, 42, 0.13);
  transform: translateY(-2px);
}

.success-page .success-action span {
  position: relative;
  z-index: 1;
}

.success-page .success-brand {
  color: #8A952A;
  font-size: 15px;
  line-height: 1.45;
  margin: 32px 0 0 0;
  opacity: 0.7;
}

@media (max-width: 600px) {
  .success-page .success-wrapper {
    padding: 32px 16px;
  }

  .success-page .success-heading {
    font-size: 50px;
  }
}