@import "https://cdn.jsdelivr.net/npm/@fontsource/rubik@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/rubik@latest/700.css";

html {
  scroll-behavior: auto
}

body {
  margin: 0;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
  font-family: 'Rubik', sans-serif;
  font-size: 15px;
  line-height: 1.65;
  color: #222;
  background: #FAFBF9
}

.top-band {
  background: linear-gradient(135deg, #72A93F 0%, #BFD295 100%);
  padding: 8px 0;
  position: relative;
  overflow: hidden
}

.top-band::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 400px;
  height: 400px;
  background: #ffffff14;
  border-radius: 46px;
  transform: rotate(25deg);
  pointer-events: none
}

.top-band-inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 32px
}

.locale-marker {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #FAFBF9;
  font-size: 15px;
  font-weight: 400
}

.locale-marker i {
  font-size: 15px
}

.primary-header {
  background: #fff;
  box-shadow: 0 3px 2px 1px #72a93f0f 0 4px 25px 1px #72a93f1c;
  position: relative;
  z-index: 100
}

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

.brand-zone {
  background: linear-gradient(135deg, #72A93F 0%, #BFD295 100%);
  padding: 16px 32px;
  border-radius: 46px;
  box-shadow: 0 3px 2px 1px #72a93f0f 0 4px 25px 1px #72a93f1c 0 10px 44px 1px #72a93f1f;
  position: relative
}

.brand-zone::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: 46px;
  border: 2px solid #ffffff4d;
  pointer-events: none
}

.brand-link {
  display: block;
  text-decoration: none
}

.brand-img {
  display: block;
  width: 140px;
  height: 54px;
  object-fit: contain
}

.primary-nav {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-end
}

.nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 32px;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: flex-end
}

.nav-list li {
  margin: 0;
  padding: 0
}

.nav-anchor {
  display: inline-block;
  padding: 8px 16px;
  text-decoration: none;
  color: #222;
  font-size: 15px;
  font-weight: 700;
  border: 2px solid transparent;
  border-radius: 8px;
  transition: background .15s ease-out, border-color .12s ease-out, transform .1s ease;
  position: relative
}

.nav-anchor:hover {
  background: #72a93f14;
  border-color: #BFD295;
  transform: scale(0.97)
}

.nav-anchor:focus {
  outline: 2px solid #72A93F;
  outline-offset: 2px
}

.primary-footer {
  background: #fff;
  border-top: 2px solid #BFD295;
  margin-top: 96px
}

.footer-upper {
  max-width: 1170px;
  margin: 0 auto;
  padding: 64px 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px
}

.footer-column h3 {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  color: #72A93F;
  margin: 0 0 16px;
  text-transform: uppercase;
  letter-spacing: .05em
}

.footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.footer-links li {
  margin: 0;
  padding: 0
}

.footer-link {
  display: inline-block;
  padding: 8px 0;
  text-decoration: none;
  color: #222;
  font-size: 15px;
  line-height: 1.4;
  border-bottom: 1px solid transparent;
  transition: border-color .14s ease, color .11s ease-out
}

.footer-link:hover {
  color: #72A93F;
  border-bottom-color: #BFD295
}

.footer-link:focus {
  outline: 2px solid #72A93F;
  outline-offset: 2px
}

.contact-detail {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: #222;
  font-size: 15px;
  line-height: 1.65
}

.contact-detail i {
  color: #72A93F;
  font-size: 15px
}

.contact-email-link {
  color: #72A93F;
  text-decoration: none;
  border-bottom: 1px solid #BFD295;
  transition: border-color .13s ease-out
}

.contact-email-link:hover {
  border-bottom-color: #72A93F
}

.contact-email-link:focus {
  outline: 2px solid #72A93F;
  outline-offset: 2px
}

.footer-lower {
  background: linear-gradient(135deg, #72A93F 0%, #BFD295 100%);
  padding: 32px;
  position: relative;
  overflow: hidden
}

.footer-lower::before {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -5%;
  width: 300px;
  height: 300px;
  background: #ffffff0f;
  border-radius: 46px;
  transform: rotate(-15deg);
  pointer-events: none
}

.footer-lower-inner {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  position: relative;
  z-index: 1
}

.footer-brand-link {
  display: block;
  padding: 16px 32px;
  background: #ffffff26;
  border-radius: 46px;
  box-shadow: 0 3px 2px 1px #72a93f0f 0 4px 25px 1px #72a93f1c;
  border: 2px solid #ffffff40;
  transition: background .16s ease-out, transform .12s ease
}

.footer-brand-link:hover {
  background: #ffffff40;
  transform: scale(0.97)
}

.footer-brand-link:focus {
  outline: 2px solid #FAFBF9;
  outline-offset: 4px
}

.footer-brand-img {
  display: block;
  width: 120px;
  height: 46px;
  object-fit: contain
}

.copyright-text {
  color: #FAFBF9;
  font-size: 15px;
  line-height: 1.4;
  margin: 0;
  text-align: center
}

@media (max-width: 1024px) {
  .primary-header-inner {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .brand-zone {
    justify-self: center
  }

  .primary-nav {
    align-items: center
  }

  .nav-list {
    justify-content: center
  }

  .footer-upper {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px
  }
}

@media (max-width: 768px) {
  .top-band-inner {
    justify-content: center
  }

  .primary-header-inner {
    padding: 32px 16px
  }

  .brand-zone {
    padding: 16px 24px
  }

  .brand-img {
    width: 120px;
    height: 46px
  }

  .nav-list {
    gap: 8px 16px
  }

  .footer-upper {
    grid-template-columns: 1fr;
    padding: 64px 16px
  }

  .footer-lower {
    padding: 32px 16px
  }
}

@media (max-width: 480px) {
  .top-band {
    padding: 8px 16px
  }

  .top-band-inner {
    padding: 0
  }

  .brand-zone {
    padding: 16px
  }

  .brand-img {
    width: 100px;
    height: 38px
  }

  .nav-anchor {
    padding: 8px 12px;
    font-size: 15px
  }

  .footer-column h3 {
    font-size: 15px
  }

  .footer-link {
    font-size: 15px
  }

  .contact-detail {
    font-size: 15px
  }
}

.consent-shell {
  position: fixed;
  top: 16px;
  right: 16px;
  width: 320px;
  background: #fff;
  border: 2px solid #BFD295;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 10px 44px 1px #72a93f1f;
  z-index: 2000;
  display: none;
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity .18s ease-out, transform .18s ease-out
}

.consent-shell.visible {
  opacity: 1;
  transform: translateY(0)
}

.consent-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #72A93F 0%, #BFD295 100%);
  border-radius: 30px
}

.consent-icon i {
  font-size: 43px;
  color: #FAFBF9
}

.consent-message {
  font-size: 15px;
  line-height: 1.65;
  color: #222;
  margin: 0 0 16px;
  text-align: center
}

.consent-categories {
  margin: 0 0 16px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.consent-category {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  background: #FAFBF9;
  border-radius: 8px
}

.consent-checkbox {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #72A93F
}

.consent-checkbox:disabled {
  cursor: not-allowed;
  opacity: .5
}

.consent-checkbox:focus {
  outline: 2px solid #72A93F;
  outline-offset: 2px
}

.consent-category-label {
  font-size: 15px;
  line-height: 1.4;
  color: #222;
  cursor: pointer;
  flex: 1
}

.consent-category-label.required {
  font-weight: 700
}

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

.consent-btn {
  padding: 16px;
  font-size: 15px;
  font-weight: 700;
  font-family: 'Rubik', sans-serif;
  border: 2px solid #72A93F;
  border-radius: 8px;
  background: transparent;
  color: #72A93F;
  cursor: pointer;
  transition: background .14s ease-out, color .11s ease, transform .1s ease;
  text-decoration: none;
  text-align: center
}

.consent-btn:hover {
  background: #72A93F;
  color: #FAFBF9;
  transform: scale(0.97)
}

.consent-btn:focus {
  outline: 2px solid #72A93F;
  outline-offset: 2px
}

.consent-btn.secondary {
  border-color: #BFD295;
  color: #222
}

.consent-btn.secondary:hover {
  background: #BFD295;
  color: #222
}

@media (max-width: 480px) {
  .consent-shell {
    width: calc(100% - 32px);
    right: 16px;
    left: 16px;
    padding: 24px
  }
}

.rules-section {
  margin: 64px auto;
  max-width: 1170px;
  padding: 32px 16px
}

.rules-section h1 {
  color: #72A93F;
  font-size: 60px;
  line-height: 1.15;
  margin-bottom: 32px
}

.rules-section h2 {
  color: #72A93F;
  font-size: 43px;
  line-height: 1.4;
  margin-bottom: 16px;
  margin-top: 64px
}

.rules-section h3 {
  color: #333;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 16px;
  margin-top: 32px;
  text-transform: uppercase
}

.rules-section p {
  color: #333;
  font-size: 15px;
  line-height: 1.65;
  margin-bottom: 16px
}

.rules-section ul,
.rules-section ol {
  color: #333;
  font-size: 15px;
  line-height: 1.65;
  margin-bottom: 16px;
  padding-left: 32px
}

.rules-section li {
  margin-bottom: 8px
}

.rules-section li:last-child {
  margin-bottom: 0
}

.rules-section em,
.rules-section i {
  font-style: italic
}

.rules-section strong,
.rules-section b {
  font-weight: 700
}

.rules-section a {
  color: #72A93F;
  text-decoration: underline;
  transition: color .15s ease-out
}

.rules-section a:hover {
  color: #5a8732
}

.rules-section table {
  border-collapse: collapse;
  margin-bottom: 32px;
  width: 100%
}

.rules-section thead {
  background-color: #BFD295
}

.rules-section th {
  border: 1px solid #BFD295;
  color: #333;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  padding: 16px;
  text-align: left
}

.rules-section td {
  border: 1px solid #BFD295;
  color: #333;
  font-size: 15px;
  line-height: 1.65;
  padding: 16px
}

.rules-section tbody tr:nth-child(even) {
  background-color: #FAFBF9
}

.rules-section hr {
  border: none;
  border-top: 2px solid #BFD295;
  margin: 64px 0
}

@media (max-width: 768px) {
  .rules-section {
    margin: 32px auto;
    padding: 16px
  }

  .rules-section h1 {
    font-size: 43px;
    margin-bottom: 16px
  }

  .rules-section h2 {
    font-size: 43px;
    margin-top: 32px
  }

  .rules-section table {
    display: block;
    overflow-x: auto
  }
}

.negociation-piece {
  background: #FAFBF9;
  min-height: 100vh
}

.negociation-piece .top-band {
  background: linear-gradient(107deg, #72A93F 0%, #BFD295 100%);
  padding: 96px 16px 32px;
  position: relative;
  overflow: hidden
}

.negociation-piece .top-band::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #72A93F;
  opacity: .3;
  clip-path: polygon(0 50%, 2% 0, 4% 50%, 6% 100%, 8% 50%, 10% 0, 12% 50%, 14% 100%, 16% 50%, 18% 0, 20% 50%, 22% 100%, 24% 50%, 26% 0, 28% 50%, 30% 100%, 32% 50%, 34% 0, 36% 50%, 38% 100%, 40% 50%, 42% 0, 44% 50%, 46% 100%, 48% 50%, 50% 0, 52% 50%, 54% 100%, 56% 50%, 58% 0, 60% 50%, 62% 100%, 64% 50%, 66% 0, 68% 50%, 70% 100%, 72% 50%, 74% 0, 76% 50%, 78% 100%, 80% 50%, 82% 0, 84% 50%, 86% 100%, 88% 50%, 90% 0, 92% 50%, 94% 100%, 96% 50%, 98% 0, 100% 50%)
}

.negociation-piece .top-band::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 480px;
  height: 480px;
  background: radial-gradient(circle at top right, #bfd29566 0%, transparent 70%);
  pointer-events: none
}

.negociation-piece .top-wrap {
  max-width: 1170px;
  margin: 0 auto
}

.negociation-piece .stripe-accent {
  width: 120px;
  height: 4px;
  background: #ffffff80;
  margin-bottom: 32px;
  border-radius: 2px
}

.negociation-piece .main-titre {
  font-size: 60px;
  line-height: 1.15;
  color: #fff;
  margin: 0 0 32px;
  max-width: 820px
}

.negociation-piece .retour-lien {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.4;
  padding: 8px 16px;
  border: 2px solid #fff9;
  border-radius: 30px;
  transition: background .15s ease-out, border-color .12s ease
}

.negociation-piece .retour-lien:hover {
  background: #ffffff26;
  border-color: #ffffffe6;
  transform: scale(0.97)
}

.negociation-piece .retour-lien i {
  font-size: 18px
}

.negociation-piece .article-principal {
  max-width: 1170px;
  margin: 0 auto;
  padding: 64px 16px
}

.negociation-piece .meta-rangee {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid #72a93f33
}

.negociation-piece .meta-elem {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1.4;
  color: #2d2d2d
}

.negociation-piece .meta-elem i {
  color: #72A93F;
  font-size: 20px
}

.negociation-piece .etiquette-cat {
  display: inline-block;
  padding: 8px 16px;
  background: #72a93f1a;
  color: #72A93F;
  border-radius: 16px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  border: 1px solid #72a93f4d
}

.negociation-piece .img-vedette {
  width: 100%;
  height: 520px;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 64px;
  box-shadow: 0 10px 44px 1px #72a93f1f;
  position: relative
}

.negociation-piece .img-vedette::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(107deg, #72a93f14 0%, #bfd2950d 100%);
  pointer-events: none;
  z-index: 1
}

.negociation-piece .img-vedette img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(1.05) contrast(1.02)
}

.negociation-piece .contenu-texte {
  max-width: 820px;
  margin: 0 auto
}

.negociation-piece .contenu-texte p:first-of-type {
  background: #bfd29526;
  padding: 16px;
  border-left: 3px solid #72A93F;
  border-radius: 2px;
  margin-bottom: 32px
}

.negociation-piece .contenu-texte p {
  font-size: 15px;
  line-height: 1.65;
  color: #2d2d2d;
  margin-bottom: 16px
}

.negociation-piece .contenu-texte h2 {
  font-size: 43px;
  line-height: 1.4;
  color: #2d2d2d;
  margin: 64px 0 32px;
  position: relative
}

.negociation-piece .contenu-texte h2::before {
  content: counter(section, decimal-leading-zero);
  counter-increment: section;
  position: absolute;
  left: -80px;
  top: -10px;
  font-size: 72px;
  line-height: 1.15;
  color: #72a93f14;
  font-weight: 700;
  z-index: -1
}

.negociation-piece .contenu-texte {
  counter-reset: section
}

.negociation-piece .contenu-texte ul {
  list-style: none;
  padding: 0;
  margin: 32px 0
}

.negociation-piece .contenu-texte li {
  font-size: 15px;
  line-height: 1.65;
  color: #2d2d2d;
  margin-bottom: 16px;
  padding-left: 32px;
  position: relative
}

.negociation-piece .contenu-texte li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  background: #72A93F;
  border-radius: 2px;
  transform: rotate(45deg)
}

.negociation-piece .contenu-texte blockquote {
  margin: 32px 0;
  padding: 32px;
  background: #fff;
  border-radius: 16px;
  border: 2px solid #72a93f33;
  position: relative;
  box-shadow: 0 4px 25px 1px #72a93f1c
}

.negociation-piece .contenu-texte blockquote::before {
  content: '"';
  position: absolute;
  top: 16px;
  left: 16px;
  font-size: 72px;
  line-height: 1;
  color: #72A93F;
  opacity: .2
}

.negociation-piece .contenu-texte blockquote p {
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: #2d2d2d;
  font-style: italic
}

.negociation-piece .contenu-texte cite {
  display: block;
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.4;
  color: #72A93F;
  font-style: normal;
  font-weight: 600
}

.negociation-piece .contenu-texte abbr {
  text-decoration: none;
  border-bottom: 2px dotted #72A93F;
  cursor: help
}

.negociation-piece .contenu-texte del {
  text-decoration: line-through;
  color: #2d2d2d80
}

.negociation-piece .contenu-texte table {
  width: 100%;
  margin: 32px 0;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 3px 2px 1px #72a93f0f
}

.negociation-piece .contenu-texte caption {
  caption-side: top;
  padding: 16px;
  font-size: 15px;
  line-height: 1.4;
  color: #2d2d2d;
  font-weight: 600;
  text-align: left
}

.negociation-piece .contenu-texte th {
  background: #72A93F;
  color: #fff;
  padding: 16px;
  text-align: left;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600
}

.negociation-piece .contenu-texte td {
  padding: 16px;
  border-bottom: 1px solid #72a93f33;
  font-size: 15px;
  line-height: 1.4;
  color: #2d2d2d;
  background: #fff
}

.negociation-piece .contenu-texte tr:last-child td {
  border-bottom: none
}

.negociation-piece .contenu-texte figure {
  margin: 32px 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 25px 1px #72a93f1c
}

.negociation-piece .contenu-texte figure img {
  width: 100%;
  height: auto;
  display: block
}

.negociation-piece .contenu-texte figcaption {
  padding: 16px;
  background: #bfd2951a;
  font-size: 15px;
  line-height: 1.4;
  color: #2d2d2d;
  font-style: italic
}

.negociation-piece .etapes-progression {
  background: linear-gradient(to bottom, #fff 0%, #bfd29514 100%);
  padding: 96px 16px;
  margin-top: 96px;
  position: relative
}

.negociation-piece .etapes-progression::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #BFD295;
  opacity: .4;
  clip-path: polygon(0 50%, 2% 100%, 4% 50%, 6% 0, 8% 50%, 10% 100%, 12% 50%, 14% 0, 16% 50%, 18% 100%, 20% 50%, 22% 0, 24% 50%, 26% 100%, 28% 50%, 30% 0, 32% 50%, 34% 100%, 36% 50%, 38% 0, 40% 50%, 42% 100%, 44% 50%, 46% 0, 48% 50%, 50% 100%, 52% 50%, 54% 0, 56% 50%, 58% 100%, 60% 50%, 62% 0, 64% 50%, 66% 100%, 68% 50%, 70% 0, 72% 50%, 74% 100%, 76% 50%, 78% 0, 80% 50%, 82% 100%, 84% 50%, 86% 0, 88% 50%, 90% 100%, 92% 50%, 94% 0, 96% 50%, 98% 100%, 100% 50%)
}

.negociation-piece .etapes-wrap {
  max-width: 1170px;
  margin: 0 auto
}

.negociation-piece .etapes-titre {
  font-size: 43px;
  line-height: 1.4;
  color: #2d2d2d;
  margin: 0 0 64px;
  text-align: center
}

.negociation-piece .tracker-horizontal {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  position: relative;
  padding-bottom: 32px
}

.negociation-piece .tracker-horizontal::before {
  content: '';
  position: absolute;
  top: 32px;
  left: 40px;
  right: 40px;
  height: 2px;
  background: #72a93f33;
  z-index: 0
}

.negociation-piece .etape-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 1;
  opacity: 0;
  transform: translateY(20px);
  animation: apparition-etape .18s ease-out forwards
}

.negociation-piece .etape-item:nth-child(1) {
  animation-delay: .1s
}

.negociation-piece .etape-item:nth-child(2) {
  animation-delay: .22s
}

.negociation-piece .etape-item:nth-child(3) {
  animation-delay: .34s
}

.negociation-piece .etape-item:nth-child(4) {
  animation-delay: .46s
}

@keyframes apparition-etape {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.negociation-piece .etape-numero {
  width: 64px;
  height: 64px;
  border-radius: 46px;
  background: #72A93F;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 43px;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 16px;
  box-shadow: 0 4px 25px 1px #72a93f1c;
  transition: transform .15s ease-out, box-shadow .12s ease
}

.negociation-piece .etape-item:hover .etape-numero {
  transform: scale(0.97);
  box-shadow: 0 10px 44px 1px #72a93f1f
}

.negociation-piece .etape-label {
  font-size: 15px;
  line-height: 1.4;
  color: #2d2d2d;
  font-weight: 600
}

.negociation-piece .ressources-grid {
  background: #fff;
  padding: 96px 16px;
  position: relative
}

.negociation-piece .ressources-conteneur {
  max-width: 1170px;
  margin: 0 auto
}

.negociation-piece .ressources-entete {
  font-size: 43px;
  line-height: 1.4;
  color: #2d2d2d;
  margin: 0 0 64px
}

.negociation-piece .grille-trois {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1.4fr;
  gap: 32px
}

.negociation-piece .carte-ressource {
  background: #FAFBF9;
  border-radius: 16px;
  padding: 32px;
  border: 2px solid #72a93f26;
  transition: border-color .14s ease, transform .16s ease-out, box-shadow .12s ease;
  position: relative;
  overflow: hidden
}

.negociation-piece .carte-ressource::before {
  content: '';
  position: absolute;
  top: -2px;
  right: -2px;
  width: 40px;
  height: 40px;
  background: #72A93F;
  opacity: 0;
  transition: opacity .18s ease-out, width .2s ease, height .2s ease;
  border-bottom-left-radius: 46px
}

.negociation-piece .carte-ressource:hover::before {
  opacity: 1;
  width: 60px;
  height: 60px
}

.negociation-piece .carte-ressource:hover {
  border-color: #72A93F;
  transform: scale(0.97);
  box-shadow: 0 4px 25px 1px #72a93f1c
}

.negociation-piece .carte-icone {
  width: 56px;
  height: 56px;
  border-radius: 30px;
  background: #72a93f1a;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  border: 2px solid #72a93f4d
}

.negociation-piece .carte-icone i {
  font-size: 32px;
  color: #72A93F
}

.negociation-piece .carte-titre {
  font-size: 15px;
  line-height: 1.4;
  color: #2d2d2d;
  margin: 0 0 8px;
  font-weight: 600
}

.negociation-piece .carte-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #2d2d2d;
  margin: 0
}

.negociation-piece .action-finale {
  background: linear-gradient(107deg, #72A93F 0%, #BFD295 100%);
  padding: 96px 16px;
  position: relative;
  overflow: hidden
}

.negociation-piece .action-finale::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #72A93F;
  opacity: .3;
  clip-path: polygon(0 50%, 2% 0, 4% 50%, 6% 100%, 8% 50%, 10% 0, 12% 50%, 14% 100%, 16% 50%, 18% 0, 20% 50%, 22% 100%, 24% 50%, 26% 0, 28% 50%, 30% 100%, 32% 50%, 34% 0, 36% 50%, 38% 100%, 40% 50%, 42% 0, 44% 50%, 46% 100%, 48% 50%, 50% 0, 52% 50%, 54% 100%, 56% 50%, 58% 0, 60% 50%, 62% 100%, 64% 50%, 66% 0, 68% 50%, 70% 100%, 72% 50%, 74% 0, 76% 50%, 78% 100%, 80% 50%, 82% 0, 84% 50%, 86% 100%, 88% 50%, 90% 0, 92% 50%, 94% 100%, 96% 50%, 98% 0, 100% 50%)
}

.negociation-piece .action-conteneur {
  max-width: 1170px;
  margin: 0 auto;
  text-align: center
}

.negociation-piece .action-titre {
  font-size: 43px;
  line-height: 1.4;
  color: #fff;
  margin: 0 0 32px
}

.negociation-piece .action-texte {
  font-size: 15px;
  line-height: 1.65;
  color: #fffffff2;
  margin: 0 0 32px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto
}

.negociation-piece .bouton-principal {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  background: transparent;
  color: #fff;
  border: 2px solid #ffffffb3;
  border-radius: 30px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  text-decoration: none;
  transition: background .16s ease-out, border-color .14s ease, transform .12s ease;
  cursor: pointer
}

.negociation-piece .bouton-principal:hover {
  background: #fff3;
  border-color: #fff;
  transform: scale(0.97)
}

.negociation-piece .bouton-principal i {
  font-size: 20px
}

@media (max-width: 1024px) {
  .negociation-piece .main-titre {
    font-size: 43px
  }

  .negociation-piece .img-vedette {
    height: 400px
  }

  .negociation-piece .contenu-texte h2::before {
    display: none
  }

  .negociation-piece .grille-trois {
    grid-template-columns: 1fr
  }

  .negociation-piece .tracker-horizontal {
    flex-direction: column;
    gap: 32px
  }

  .negociation-piece .tracker-horizontal::before {
    display: none
  }
}

@media (max-width: 768px) {
  .negociation-piece .top-band {
    padding: 64px 16px 32px
  }

  .negociation-piece .main-titre {
    font-size: 43px
  }

  .negociation-piece .img-vedette {
    height: 280px
  }

  .negociation-piece .meta-rangee {
    flex-direction: column;
    gap: 16px
  }

  .negociation-piece .etapes-titre,
  .negociation-piece .ressources-entete,
  .negociation-piece .action-titre {
    font-size: 43px
  }

  .negociation-piece .contenu-texte h2 {
    font-size: 43px;
    margin: 32px 0 16px
  }
}

@media (max-width: 480px) {
  .negociation-piece .main-titre {
    font-size: 43px
  }

  .negociation-piece .img-vedette {
    height: 220px
  }

  .negociation-piece .etapes-progression,
  .negociation-piece .ressources-grid,
  .negociation-piece .action-finale {
    padding: 64px 16px
  }

  .negociation-piece .etape-numero {
    width: 56px;
    height: 56px;
    font-size: 43px
  }
}

.parole {
  background: #FAFBF9;
  color: #1d1d1d;
  position: relative
}

.parole ::selection {
  background: #72a93f2e;
  color: #1d1d1d
}

.parole .titre-zone {
  max-width: 1170px;
  margin: 0 auto;
  padding: 96px 32px 64px;
  text-align: center;
  position: relative
}

.parole .titre-zone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle, #72a93f14 1px, transparent 1px), radial-gradient(circle, #bfd2950f 1px, transparent 1px);
  background-size: 32px 32px, 48px 48px;
  background-position: 0 0, 16px 16px;
  pointer-events: none;
  z-index: 0
}

.parole .titre-contenu {
  position: relative;
  z-index: 1;
  padding-bottom: 64px
}

.parole .titre-principal {
  font-size: 72px;
  line-height: 1.15;
  color: #1d1d1d;
  margin: 0 0 32px;
  font-weight: 700;
  letter-spacing: -.02em
}

.parole .titre-description {
  font-size: 15px;
  line-height: 1.65;
  color: #4a4a4a;
  max-width: 680px;
  margin: 0 auto
}

.parole .titre-image-conteneur {
  position: relative;
  max-width: 920px;
  margin: 0 auto;
  z-index: 1
}

.parole .titre-image-enveloppe {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 44px 1px #72a93f1f
}

.parole .titre-image-enveloppe::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(ellipse at center, transparent 30%, #00000059 100%);
  pointer-events: none
}

.parole .titre-image {
  width: 100%;
  height: 480px;
  object-fit: cover;
  object-position: center;
  display: block
}

.parole .articles-section {
  max-width: 1170px;
  margin: 0 auto;
  padding: 96px 32px;
  position: relative
}

.parole .articles-entete {
  margin-bottom: 64px;
  text-align: center
}

.parole .articles-titre {
  font-size: 43px;
  line-height: 1.4;
  color: #1d1d1d;
  margin: 0 0 16px;
  font-weight: 700;
  position: relative;
  display: inline-block
}

.parole .articles-titre::before {
  content: '';
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 64px;
  height: 3px;
  background: linear-gradient(107deg, #72A93F 0%, #BFD295 100%);
  border-radius: 2px
}

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

.parole .carte-article {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  transition: transform .15s ease-out, box-shadow .18s ease-out;
  box-shadow: 0 3px 2px 1px #72a93f0f;
  border: 2px solid transparent
}

.parole .carte-article::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  right: 2px;
  bottom: 2px;
  border: 1px solid #bfd2954d;
  border-radius: 14px;
  pointer-events: none;
  z-index: 1
}

.parole .carte-article:hover {
  transform: scale(0.97);
  box-shadow: 0 4px 25px 1px #72a93f1c;
  border-color: #72a93f33
}

.parole .carte-article:hover::before {
  border-color: transparent
}

.parole .carte-image-zone {
  position: relative;
  height: 220px;
  overflow: hidden;
  background: #f5f5f5
}

.parole .carte-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .2s ease-out
}

.parole .carte-article:hover .carte-image {
  transform: scale(1.04)
}

.parole .carte-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #72a93ff2;
  color: #fff;
  padding: 8px 16px;
  border-radius: 30px;
  font-size: 15px;
  line-height: 1.15;
  font-weight: 600;
  z-index: 2
}

.parole .carte-contenu {
  padding: 32px
}

.parole .carte-titre {
  font-size: 15px;
  line-height: 1.4;
  color: #1d1d1d;
  margin: 0 0 16px;
  font-weight: 700
}

.parole .carte-description {
  font-size: 15px;
  line-height: 1.65;
  color: #5a5a5a;
  margin: 0 0 32px
}

.parole .carte-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 16px;
  border-top: 1px solid #bfd2954d
}

.parole .carte-date {
  font-size: 15px;
  line-height: 1.15;
  color: #7a7a7a;
  display: flex;
  align-items: center;
  gap: 8px
}

.parole .carte-date svg {
  width: 16px;
  height: 16px;
  fill: #72A93F
}

.parole .carte-stats {
  display: flex;
  align-items: center;
  gap: 16px
}

.parole .carte-stat {
  font-size: 15px;
  line-height: 1.15;
  color: #7a7a7a;
  display: flex;
  align-items: center;
  gap: 8px
}

.parole .carte-stat svg {
  width: 16px;
  height: 16px;
  fill: #72A93F
}

.parole .carte-lien {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3
}

.parole .ressources-section {
  background: linear-gradient(107deg, #72A93F 0%, #BFD295 100%);
  position: relative;
  padding: 96px 32px;
  animation: lueur-bord 4s ease-in-out infinite
}

@keyframes lueur-bord {

  0%,
  100% {
    box-shadow: inset 0 0 0 0 #fff0
  }

  50% {
    box-shadow: inset 0 0 32px 2px #ffffff26
  }
}

.parole .ressources-conteneur {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 2px 1fr;
  gap: 64px;
  align-items: center
}

.parole .ressources-diviseur {
  width: 2px;
  height: 100%;
  background: #ffffff4d;
  position: relative
}

.parole .ressources-diviseur::before,
.parole .ressources-diviseur::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%
}

.parole .ressources-diviseur::before {
  top: 0
}

.parole .ressources-diviseur::after {
  bottom: 0
}

.parole .ressources-colonne {
  color: #fff
}

.parole .ressources-numero {
  font-size: 72px;
  line-height: 1.15;
  font-weight: 700;
  opacity: .15;
  position: absolute;
  top: -16px;
  left: 0;
  z-index: 0
}

.parole .ressources-titre {
  font-size: 43px;
  line-height: 1.4;
  margin: 0 0 16px;
  font-weight: 700;
  position: relative;
  z-index: 1
}

.parole .ressources-texte {
  font-size: 15px;
  line-height: 1.65;
  margin: 0 0 16px;
  opacity: .95
}

.parole .ressources-texte.premier {
  background: #ffffff1a;
  padding: 16px;
  border-radius: 8px;
  border-left: 3px solid #fff
}

.parole .outils-section {
  max-width: 1170px;
  margin: 0 auto;
  padding: 96px 32px
}

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

.parole .outil-carte {
  background: #fff;
  border-radius: 30px;
  padding: 64px;
  position: relative;
  box-shadow: 0 4px 25px 1px #72a93f1c;
  transition: transform .12s ease-out, box-shadow .16s ease-out;
  border: 3px solid transparent
}

.parole .outil-carte::before {
  content: '';
  position: absolute;
  top: 6px;
  left: 6px;
  right: 6px;
  bottom: 6px;
  border: 2px solid #bfd29533;
  border-radius: 27px;
  pointer-events: none
}

.parole .outil-carte:hover {
  transform: scale(0.97);
  box-shadow: 0 10px 44px 1px #72a93f1f;
  border-color: #72a93f4d
}

.parole .outil-carte:hover::before {
  border-color: transparent
}

.parole .outil-icone {
  width: 64px;
  height: 64px;
  background: linear-gradient(107deg, #72A93F 0%, #BFD295 100%);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 32px
}

.parole .outil-icone svg {
  width: 32px;
  height: 32px;
  fill: #fff
}

.parole .outil-titre {
  font-size: 15px;
  line-height: 1.4;
  color: #1d1d1d;
  margin: 0 0 16px;
  font-weight: 700
}

.parole .outil-texte {
  font-size: 15px;
  line-height: 1.65;
  color: #5a5a5a;
  margin: 0
}

.parole .temoignage-section {
  background: #fff;
  position: relative;
  padding: 96px 32px
}

.parole .temoignage-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(/images/thecontent-image-2.jpg);
  background-size: cover;
  background-position: center;
  opacity: .08;
  pointer-events: none
}

.parole .temoignage-conteneur {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

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

.parole .temoignage-carte {
  background: #fffffff2;
  border-radius: 16px;
  padding: 32px;
  position: relative;
  box-shadow: 0 3px 2px 1px #72a93f0f;
  transition: transform .14s ease-out, box-shadow .17s ease-out;
  border: 2px solid #bfd29533
}

.parole .temoignage-carte:hover {
  transform: scale(0.97);
  box-shadow: 0 4px 25px 1px #72a93f1c;
  border-color: #72a93f66
}

.parole .temoignage-guillemets {
  font-size: 60px;
  line-height: 1.15;
  color: #72A93F;
  opacity: .3;
  margin: 0 0 16px;
  font-weight: 700
}

.parole .temoignage-texte {
  font-size: 15px;
  line-height: 1.65;
  color: #4a4a4a;
  margin: 0 0 32px;
  font-style: italic
}

.parole .temoignage-auteur {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 16px;
  border-top: 1px solid #bfd2954d
}

.parole .temoignage-avatar {
  width: 48px;
  height: 48px;
  background: linear-gradient(107deg, #72A93F 0%, #BFD295 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.15;
  flex-shrink: 0
}

.parole .temoignage-info {
  flex-grow: 1
}

.parole .temoignage-nom {
  font-size: 15px;
  line-height: 1.4;
  color: #1d1d1d;
  margin: 0 0 8px;
  font-weight: 700
}

.parole .temoignage-role {
  font-size: 15px;
  line-height: 1.15;
  color: #7a7a7a;
  margin: 0
}

.parole .cta-section {
  background: linear-gradient(107deg, #72A93F 0%, #BFD295 100%);
  padding: 96px 32px;
  text-align: center;
  position: relative
}

.parole .cta-conteneur {
  max-width: 1170px;
  margin: 0 auto
}

.parole .cta-titre {
  font-size: 43px;
  line-height: 1.4;
  color: #fff;
  margin: 0 0 16px;
  font-weight: 700
}

.parole .cta-texte {
  font-size: 15px;
  line-height: 1.65;
  color: #fffffff2;
  margin: 0 0 32px;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto
}

.parole .cta-bouton {
  background: transparent;
  color: #fff;
  border: 2px solid #fff;
  padding: 16px 64px;
  border-radius: 46px;
  font-size: 15px;
  line-height: 1.15;
  font-weight: 700;
  cursor: pointer;
  transition: background .11s ease-out, color .11s ease-out, transform .11s ease-out;
  display: inline-block;
  text-decoration: none
}

.parole .cta-bouton:hover {
  background: #fff;
  color: #72A93F;
  transform: scale(0.97)
}

.parole .cta-bouton:active {
  transform: scale(0.94)
}

@media (max-width: 1024px) {
  .parole .titre-principal {
    font-size: 60px
  }

  .parole .articles-grille {
    grid-template-columns: repeat(2, 1fr)
  }

  .parole .ressources-conteneur {
    grid-template-columns: 1fr;
    gap: 64px
  }

  .parole .ressources-diviseur {
    display: none
  }

  .parole .outils-grille {
    grid-template-columns: 1fr
  }

  .parole .temoignage-grille {
    grid-template-columns: 1fr
  }
}

@media (max-width: 768px) {
  .parole .titre-zone {
    padding: 64px 16px 32px
  }

  .parole .titre-principal {
    font-size: 43px
  }

  .parole .titre-image {
    height: 320px
  }

  .parole .articles-section {
    padding: 64px 16px
  }

  .parole .articles-titre {
    font-size: 43px
  }

  .parole .articles-grille {
    grid-template-columns: 1fr
  }

  .parole .ressources-section {
    padding: 64px 16px
  }

  .parole .ressources-titre {
    font-size: 43px
  }

  .parole .outils-section {
    padding: 64px 16px
  }

  .parole .outil-carte {
    padding: 32px
  }

  .parole .temoignage-section {
    padding: 64px 16px
  }

  .parole .cta-section {
    padding: 64px 16px
  }

  .parole .cta-titre {
    font-size: 43px
  }

  .parole .cta-bouton {
    padding: 16px 32px
  }
}

@media (max-width: 480px) {
  .parole .titre-principal {
    font-size: 43px
  }

  .parole .titre-image {
    height: 240px
  }

  .parole .articles-titre {
    font-size: 43px
  }

  .parole .carte-contenu {
    padding: 16px
  }

  .parole .ressources-numero {
    font-size: 60px
  }

  .parole .ressources-titre {
    font-size: 43px
  }

  .parole .outil-carte {
    padding: 16px
  }

  .parole .cta-titre {
    font-size: 43px
  }
}

.lnch {
  background: #FAFBF9;
  color: #1d1d1d;
  overflow-x: clip
}

.lnch ::selection {
  background: #72a93f2e;
  color: #1d1d1d
}

.lnch .head-zone {
  background: linear-gradient(107deg, #72A93F 0%, #BFD295 100%);
  position: relative;
  padding: 96px 16px;
  overflow: hidden
}

.lnch .head-zone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(90deg, #ffffff14 1px, transparent 1px), linear-gradient(0deg, #ffffff14 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: .4;
  pointer-events: none
}

.lnch .head-contain {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 2
}

.lnch .prime-heading {
  font-size: 60px;
  line-height: 1.15;
  color: #fff;
  margin: 0 0 32px;
  text-transform: uppercase;
  letter-spacing: .03em;
  max-width: 820px
}

.lnch .head-link {
  display: inline-block;
  padding: 16px 32px;
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.4;
  border-radius: 8px;
  transition: background .14s ease-out, transform .11s ease
}

.lnch .head-link:hover {
  background: #ffffff26;
  transform: scale(0.97)
}

.lnch .head-link:active {
  transform: scale(0.94)
}

.lnch .team-segment {
  padding: 96px 16px;
  background: #fff;
  position: relative
}

.lnch .team-segment::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 180%;
  height: 180%;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L30 60M0 30L60 30' stroke='%2372A93F' stroke-width='0.5' fill='none' opacity='0.03'/%3E%3C/svg%3E");
  background-size: 60px 60px;
  pointer-events: none;
  z-index: 1
}

.lnch .team-wrap {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 2
}

.lnch .divider-mark {
  text-align: center;
  margin: 0 0 64px
}

.lnch .divider-symbol {
  display: inline-block;
  width: 48px;
  height: 48px;
  border: 3px solid #72A93F;
  border-radius: 2px;
  position: relative;
  transform: rotate(45deg)
}

.lnch .divider-symbol::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  background: #BFD295;
  border-radius: 2px
}

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

.lnch .team-card {
  background: #FAFBF9;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 3px 2px 1px #72a93f0f 0 4px 25px 1px #72a93f1c;
  transition: transform .16s ease-out, box-shadow .18s ease;
  position: relative
}

.lnch .team-card::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 8px;
  right: 8px;
  bottom: 8px;
  border: 1px solid #BFD295;
  border-radius: 8px;
  pointer-events: none;
  opacity: 0;
  transition: opacity .15s ease
}

.lnch .team-card:hover {
  transform: scale(0.97);
  box-shadow: 0 10px 44px 1px #72a93f1f
}

.lnch .team-card:hover::before {
  opacity: 1
}

.lnch .team-photo {
  width: 100%;
  height: 280px;
  overflow: hidden
}

.lnch .team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.lnch .team-info {
  padding: 32px
}

.lnch .team-name {
  font-size: 43px;
  line-height: 1.15;
  color: #1d1d1d;
  margin: 0 0 16px
}

.lnch .team-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #4a4a4a;
  margin: 0
}

.lnch .support-segment {
  padding: 96px 16px;
  background: linear-gradient(107deg, #FAFBF9 0%, #fff 100%);
  position: relative
}

.lnch .support-wrap {
  max-width: 1170px;
  margin: 0 auto
}

.lnch .support-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 64px;
  align-items: center
}

.lnch .support-content-block {
  position: relative
}

.lnch .support-content-block::before {
  content: '02';
  position: absolute;
  top: -32px;
  left: -16px;
  font-size: 180px;
  line-height: 1;
  color: #BFD295;
  opacity: .15;
  font-weight: 700;
  pointer-events: none;
  z-index: 1
}

.lnch .support-heading {
  font-size: 43px;
  line-height: 1.4;
  color: #1d1d1d;
  margin: 0 0 32px;
  position: relative;
  z-index: 2
}

.lnch .support-text {
  font-size: 15px;
  line-height: 1.85;
  color: #3a3a3a;
  margin: 0 0 16px;
  position: relative;
  z-index: 2
}

.lnch .support-text:first-of-type {
  background: #bfd2951f;
  padding: 16px;
  border-radius: 8px;
  border-left: 4px solid #72A93F
}

.lnch .support-visual {
  position: relative
}

.lnch .support-photo {
  width: 100%;
  height: 480px;
  overflow: hidden;
  border-radius: 30px;
  box-shadow: 0 4px 25px 1px #72a93f1c;
  position: relative
}

.lnch .support-photo::after {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: 16px;
  bottom: 16px;
  border: 2px solid #ffffff4d;
  border-radius: 16px;
  pointer-events: none
}

.lnch .support-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.lnch .offerings-segment {
  padding: 96px 16px;
  background: #fff;
  position: relative
}

.lnch .offerings-wrap {
  max-width: 1170px;
  margin: 0 auto
}

.lnch .offerings-intro {
  text-align: center;
  margin: 0 0 64px;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto
}

.lnch .offerings-title {
  font-size: 60px;
  line-height: 1.15;
  color: #1d1d1d;
  margin: 0 0 32px;
  position: relative
}

.lnch .offerings-title::before {
  content: '"';
  color: #72A93F;
  font-size: 72px;
  position: absolute;
  left: -48px;
  top: -8px
}

.lnch .offerings-title::after {
  content: '"';
  color: #72A93F;
  font-size: 72px;
  position: absolute;
  right: -48px;
  bottom: -16px
}

.lnch .offerings-subtitle {
  font-size: 15px;
  line-height: 1.65;
  color: #4a4a4a;
  margin: 0
}

.lnch .offerings-mosaic {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 240px;
  gap: 16px
}

.lnch .offer-tile {
  background: #FAFBF9;
  border-radius: 16px;
  padding: 32px;
  position: relative;
  overflow: hidden;
  border: 2px solid transparent;
  transition: border-color .13s ease, background .15s ease-out, transform .12s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between
}

.lnch .offer-tile::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #BFD295 0%, transparent 70%);
  opacity: .2;
  border-radius: 0 16px 0 0;
  pointer-events: none
}

.lnch .offer-tile:hover {
  border-color: #72A93F;
  background: #fff;
  transform: scale(0.97);
  box-shadow: 0 4px 25px 1px #72a93f1c
}

.lnch .offer-tile.tall {
  grid-row: span 2
}

.lnch .offer-tile.wide {
  grid-column: span 2
}

.lnch .offer-number {
  font-size: 72px;
  line-height: 1;
  color: #BFD295;
  opacity: .3;
  margin: 0;
  font-weight: 700
}

.lnch .offer-label {
  font-size: 43px;
  line-height: 1.15;
  color: #1d1d1d;
  margin: 0 0 8px
}

.lnch .offer-detail {
  font-size: 15px;
  line-height: 1.4;
  color: #4a4a4a;
  margin: 0
}

.lnch .offer-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #72A93F;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.4;
  margin-top: 16px;
  transition: gap .14s ease-out
}

.lnch .offer-link:hover {
  gap: 12px
}

.lnch .offer-link svg {
  width: 16px;
  height: 16px;
  fill: currentColor
}

.lnch .reveal-mask {
  animation: expandFromCenter .9s ease-out forwards
}

@keyframes expandFromCenter {
  from {
    clip-path: circle(0% at 50% 50%)
  }

  to {
    clip-path: circle(150% at 50% 50%)
  }
}

@media (max-width: 1024px) {
  .lnch .prime-heading {
    font-size: 43px
  }

  .lnch .team-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .lnch .support-layout {
    grid-template-columns: 1fr;
    gap: 48px
  }

  .lnch .offerings-mosaic {
    grid-template-columns: repeat(2, 1fr)
  }

  .lnch .offerings-title::before,
  .lnch .offerings-title::after {
    position: static
  }
}

@media (max-width: 768px) {
  .lnch .head-zone {
    padding: 64px 16px
  }

  .lnch .prime-heading {
    font-size: 43px;
    margin: 0 0 32px
  }

  .lnch .team-segment,
  .lnch .support-segment,
  .lnch .offerings-segment {
    padding: 64px 16px
  }

  .lnch .team-grid {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .lnch .support-content-block::before {
    font-size: 120px;
    top: -16px;
    left: -8px
  }

  .lnch .support-heading {
    font-size: 43px
  }

  .lnch .support-photo {
    height: 360px
  }

  .lnch .offerings-title {
    font-size: 43px
  }

  .lnch .offerings-mosaic {
    grid-template-columns: 1fr;
    grid-auto-rows: auto
  }

  .lnch .offer-tile.tall,
  .lnch .offer-tile.wide {
    grid-row: auto;
    grid-column: auto
  }

  .lnch .divider-mark {
    margin: 0 0 48px
  }
}

@media (max-width: 480px) {
  .lnch .head-zone {
    padding: 48px 16px
  }

  .lnch .prime-heading {
    font-size: 43px
  }

  .lnch .team-segment,
  .lnch .support-segment,
  .lnch .offerings-segment {
    padding: 48px 16px
  }

  .lnch .team-info {
    padding: 16px
  }

  .lnch .team-name {
    font-size: 43px
  }

  .lnch .support-heading {
    font-size: 43px
  }

  .lnch .support-photo {
    height: 280px
  }

  .lnch .offerings-title {
    font-size: 43px
  }

  .lnch .offer-label {
    font-size: 43px
  }

  .lnch .offer-tile {
    padding: 16px
  }
}

.lnch input::placeholder,
.lnch textarea::placeholder {
  color: #8a8a8a;
  opacity: 1
}

.lnch button[type="submit"],
.lnch button[type="button"],
.lnch button[type="reset"] {
  cursor: pointer
}

.reach-us {
  background: #FAFBF9;
  overflow-x: clip
}

.reach-us ::selection {
  background: #72a93f2e;
  color: inherit
}

.reach-us .intro-banner {
  background: linear-gradient(107deg, #72A93F 0%, #BFD295 100%);
  padding: 64px 16px;
  position: relative;
  overflow: hidden;
  animation: intro-expand .8s ease-out forwards;
  height: 0
}

@keyframes intro-expand {
  from {
    height: 0;
    opacity: 0
  }

  to {
    height: auto;
    opacity: 1
  }
}

.reach-us .intro-banner::before {
  content: '';
  position: absolute;
  top: -20px;
  right: -20px;
  width: 180px;
  height: 180px;
  border: 3px solid #ffffff26;
  border-radius: 2px;
  pointer-events: none
}

.reach-us .intro-banner::after {
  content: '';
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 180px;
  height: 180px;
  border: 3px solid #ffffff26;
  border-radius: 2px;
  pointer-events: none
}

.reach-us .intro-content {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.reach-us .intro-title {
  font-size: 60px;
  line-height: 1.15;
  color: #FAFBF9;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .08em
}

.reach-us .intro-title .accent-mark {
  color: #BFD295;
  font-size: 72px
}

.reach-us .intro-subtitle {
  font-size: 15px;
  line-height: 1.65;
  color: #fafbf9eb;
  margin: 16px 0 0;
  max-width: 620px
}

.reach-us .contact-dual {
  padding: 96px 16px 64px;
  position: relative
}

.reach-us .contact-dual::before {
  content: '?';
  position: absolute;
  top: 32px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 340px;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 2px #72a93f14;
  pointer-events: none;
  z-index: 0
}

.reach-us .contact-container {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 64px;
  position: relative;
  z-index: 1
}

.reach-us .info-zone {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.reach-us .info-header {
  font-size: 43px;
  line-height: 1.4;
  color: #2a2a2a;
  margin: 0
}

.reach-us .info-intro {
  font-size: 15px;
  line-height: 1.65;
  color: #4a4a4a;
  margin: 0;
  padding: 16px;
  background: #bfd2951f;
  border-radius: 8px
}

.reach-us .info-blocks {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.reach-us .info-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border: 2px solid #BFD295;
  border-radius: 16px;
  background: #fff;
  transition: transform .15s ease-out, box-shadow .18s ease
}

.reach-us .info-item:hover {
  transform: scale(0.97);
  box-shadow: 0 3px 2px 1px #72a93f0f
}

.reach-us .info-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(107deg, #72A93F 0%, #BFD295 100%);
  border-radius: 30px;
  flex-shrink: 0
}

.reach-us .info-icon i {
  font-size: 24px;
  color: #FAFBF9
}

.reach-us .info-details {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1
}

.reach-us .info-label {
  font-size: 15px;
  line-height: 1.4;
  color: #6a6a6a;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 600
}

.reach-us .info-value {
  font-size: 15px;
  line-height: 1.65;
  color: #2a2a2a;
  margin: 0
}

.reach-us .info-value a {
  color: #72A93F;
  text-decoration: none;
  transition: color .12s ease-out
}

.reach-us .info-value a:hover {
  color: #5a8832
}

.reach-us .form-zone {
  background: #fff;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 4px 25px 1px #72a93f1c;
  position: relative;
  overflow: hidden
}

.reach-us .form-zone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(107deg, #72A93F 0%, #BFD295 100%)
}

.reach-us .form-header {
  font-size: 43px;
  line-height: 1.4;
  color: #2a2a2a;
  margin: 0 0 32px
}

.reach-us .form-grid {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.reach-us .form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px
}

.reach-us .field-group {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.reach-us .field-label {
  font-size: 15px;
  line-height: 1.4;
  color: #4a4a4a;
  font-weight: 600
}

.reach-us .field-input {
  padding: 16px;
  border: 2px solid #BFD295;
  border-radius: 8px;
  font-size: 15px;
  line-height: 1.4;
  color: #2a2a2a;
  background: #FAFBF9;
  transition: border-color .14s ease-out, box-shadow .16s ease;
  outline: none
}

.reach-us .field-input::placeholder {
  color: #8a8a8a
}

.reach-us .field-input:focus {
  border-color: #72A93F;
  box-shadow: 0 3px 2px 1px #72a93f0f
}

.reach-us .field-select {
  padding: 16px;
  border: 2px solid #BFD295;
  border-radius: 8px;
  font-size: 15px;
  line-height: 1.4;
  color: #2a2a2a;
  background: #FAFBF9;
  transition: border-color .14s ease-out, box-shadow .16s ease;
  outline: none;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2372A93F'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px
}

.reach-us .field-select:focus {
  border-color: #72A93F;
  box-shadow: 0 3px 2px 1px #72a93f0f
}

.reach-us .consent-group {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  margin: 16px 0 0
}

.reach-us .consent-checkbox {
  width: 20px;
  height: 20px;
  border: 2px solid #BFD295;
  border-radius: 2px;
  cursor: pointer;
  flex-shrink: 0;
  margin: 2px 0 0;
  accent-color: #72A93F
}

.reach-us .consent-text {
  font-size: 15px;
  line-height: 1.65;
  color: #4a4a4a;
  margin: 0
}

.reach-us .consent-text a {
  color: #72A93F;
  text-decoration: none;
  transition: color .12s ease-out
}

.reach-us .consent-text a:hover {
  color: #5a8832
}

.reach-us .submit-btn {
  padding: 16px 32px;
  border: 2px solid #72A93F;
  border-radius: 30px;
  background: transparent;
  color: #72A93F;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
  transition: background .13s ease-out, color .13s ease-out, transform .11s ease-out, filter .15s ease;
  margin: 16px 0 0
}

.reach-us .submit-btn:hover {
  background: #72A93F;
  color: #FAFBF9;
  filter: brightness(1.1)
}

.reach-us .submit-btn:active {
  transform: scale(0.97)
}

.reach-us .visual-showcase {
  padding: 64px 16px;
  position: relative;
  background: linear-gradient(90deg, #72A93F 0%, #FAFBF9 100%)
}

.reach-us .visual-showcase::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'%3E%3Cpath d='M0,40 Q150,10 300,40 T600,40 T900,40 T1200,40 L1200,80 L0,80 Z' fill='%23FAFBF9'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  pointer-events: none
}

.reach-us .visual-container {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  align-items: center;
  position: relative;
  z-index: 1;
  animation: visual-expand 1s ease-out forwards;
  height: 0;
  opacity: 0
}

@keyframes visual-expand {
  from {
    height: 0;
    opacity: 0
  }

  to {
    height: auto;
    opacity: 1
  }
}

.reach-us .visual-text {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.reach-us .visual-heading {
  font-size: 43px;
  line-height: 1.4;
  color: #FAFBF9;
  margin: 0;
  position: relative
}

.reach-us .visual-heading::before {
  content: '01';
  position: absolute;
  top: -32px;
  left: -16px;
  font-size: 120px;
  line-height: 1;
  color: #fafbf926;
  font-weight: 700;
  z-index: -1
}

.reach-us .visual-description {
  font-size: 15px;
  line-height: 1.65;
  color: #fafbf9eb;
  margin: 0
}

.reach-us .visual-image {
  width: 100%;
  height: 420px;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 10px 44px 1px #72a93f1f
}

.reach-us .visual-image::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: 16px;
  bottom: 16px;
  border: 3px solid #fafbf94d;
  border-radius: 8px;
  pointer-events: none;
  z-index: 1
}

.reach-us .visual-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.reach-us .animated-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 100%;
  background: repeating-linear-gradient(45deg, transparent, transparent 20px, #bfd2950d 20px, #bfd2950d 40px);
  animation: bg-shift 60s linear infinite;
  pointer-events: none;
  z-index: 0
}

@keyframes bg-shift {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(-50%)
  }
}

@media (min-width: 768px) {
  .reach-us .intro-banner {
    padding: 96px 32px
  }

  .reach-us .intro-title {
    font-size: 72px
  }

  .reach-us .contact-dual {
    padding: 96px 32px
  }

  .reach-us .contact-container {
    grid-template-columns: 1fr 1fr;
    gap: 64px
  }

  .reach-us .form-row {
    grid-template-columns: 1fr 1fr
  }

  .reach-us .visual-showcase {
    padding: 96px 32px
  }

  .reach-us .visual-container {
    grid-template-columns: 1fr 1fr;
    gap: 64px
  }
}

@media (min-width: 1024px) {
  .reach-us .intro-banner {
    padding: 96px 64px
  }

  .reach-us .contact-dual {
    padding: 96px 64px
  }

  .reach-us .visual-showcase {
    padding: 96px 64px
  }

  .reach-us .visual-image {
    height: 520px
  }
}

@media (max-width: 767px) {
  .reach-us .intro-title {
    font-size: 43px
  }

  .reach-us .intro-title .accent-mark {
    font-size: 60px
  }

  .reach-us .info-header,
  .reach-us .form-header,
  .reach-us .visual-heading {
    font-size: 43px
  }

  .reach-us .visual-heading::before {
    font-size: 80px;
    top: -24px;
    left: -8px
  }

  .reach-us .contact-dual::before {
    font-size: 200px
  }
}

@media (max-width: 479px) {
  .reach-us .intro-banner {
    padding: 32px 16px
  }

  .reach-us .contact-dual {
    padding: 64px 16px 32px
  }

  .reach-us .visual-showcase {
    padding: 32px 16px
  }

  .reach-us .form-zone {
    padding: 16px
  }

  .reach-us .visual-image {
    height: 340px
  }
}

.abt-pg {
  background: #FAFBF9;
  color: #1a1a1a;
  overflow-x: clip
}

.abt-pg::selection {
  background: #72a93f26;
  color: #1a1a1a
}

.abt-pg .top-zone {
  position: relative;
  max-width: 1170px;
  margin: 0 auto;
  padding: 64px 32px;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 64px;
  align-items: center
}

.abt-pg .top-zone::before {
  content: '01';
  position: absolute;
  top: 32px;
  left: 32px;
  font-size: 180px;
  line-height: 1;
  color: #72a93f14;
  font-weight: 700;
  pointer-events: none;
  z-index: 0
}

.abt-pg .text-lead {
  position: relative;
  z-index: 1
}

.abt-pg .text-lead h1 {
  font-size: 60px;
  line-height: 1.15;
  margin: 0 0 32px;
  color: #2d2d2d
}

.abt-pg .text-lead h1 .accent-phrase {
  color: #72A93F;
  position: relative
}

.abt-pg .text-lead h1 .accent-phrase::before {
  content: '"';
  position: absolute;
  left: -24px;
  color: #BFD295;
  font-size: 72px;
  line-height: 1;
  top: -8px
}

.abt-pg .text-lead h1 .accent-phrase::after {
  content: '"';
  position: absolute;
  right: -24px;
  color: #BFD295;
  font-size: 72px;
  line-height: 1;
  top: -8px
}

.abt-pg .opening-text {
  background: linear-gradient(107deg, #72a93f0f, #bfd2950f);
  padding: 16px;
  border-radius: 8px;
  margin: 0 0 16px
}

.abt-pg .opening-text p {
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
  color: #2d2d2d
}

.abt-pg .follow-text p {
  font-size: 15px;
  line-height: 1.65;
  margin: 0 0 16px;
  color: #4a4a4a
}

.abt-pg .follow-text p:last-child {
  margin-bottom: 0
}

.abt-pg .img-insert {
  position: relative;
  width: 380px;
  height: 480px;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 10px 44px 1px #72a93f1f;
  animation: gentle-rotate-in .8s ease-out
}

@keyframes gentle-rotate-in {
  from {
    opacity: 0;
    transform: rotate(-2deg) scale(0.96)
  }

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

.abt-pg .img-insert::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 30%, #0009);
  pointer-events: none;
  z-index: 1
}

.abt-pg .img-insert img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt-pg .divider-curve {
  position: relative;
  width: 100%;
  height: 120px;
  overflow: hidden
}

.abt-pg .divider-curve svg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 120px;
  display: block
}

.abt-pg .divider-curve svg path {
  fill: #fff
}

.abt-pg .metric-zone {
  background: #fff;
  position: relative;
  padding: 96px 32px
}

.abt-pg .metric-zone::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 400px;
  height: 400px;
  background: linear-gradient(107deg, #72a93f0d, #bfd2950d);
  border-radius: 46px;
  transform: translate(-50%, -50%) rotate(0deg);
  animation: slow-spin 40s linear infinite;
  pointer-events: none;
  z-index: 0
}

@keyframes slow-spin {
  from {
    transform: translate(-50%, -50%) rotate(0deg)
  }

  to {
    transform: translate(-50%, -50%) rotate(360deg)
  }
}

.abt-pg .metric-container {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.abt-pg .metric-intro {
  text-align: center;
  margin: 0 0 64px
}

.abt-pg .metric-intro h2 {
  font-size: 43px;
  line-height: 1.4;
  margin: 0 0 16px;
  color: #2d2d2d
}

.abt-pg .metric-intro p {
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
  color: #4a4a4a;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto
}

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

.abt-pg .stat-card {
  background: linear-gradient(107deg, #FAFBF9, #fff);
  border: 2px solid #BFD295;
  border-radius: 16px;
  padding: 32px;
  text-align: center;
  transition: transform .15s ease-out, box-shadow .15s ease-out;
  position: relative;
  overflow: hidden
}

.abt-pg .stat-card::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(107deg, #72a93f08, #bfd29508);
  animation: color-shift 8s ease-in-out infinite;
  pointer-events: none
}

@keyframes color-shift {

  0%,
  100% {
    opacity: .5
  }

  50% {
    opacity: 1
  }
}

.abt-pg .stat-card:hover {
  transform: scale(0.97);
  box-shadow: 0 4px 25px 1px #72a93f1c
}

.abt-pg .stat-number {
  font-size: 60px;
  line-height: 1.15;
  font-weight: 700;
  color: #72A93F;
  margin: 0 0 8px;
  position: relative;
  z-index: 1
}

.abt-pg .stat-label {
  font-size: 15px;
  line-height: 1.4;
  color: #4a4a4a;
  margin: 0;
  position: relative;
  z-index: 1
}

.abt-pg .divider-accent {
  position: relative;
  max-width: 1170px;
  margin: 96px auto 0;
  padding: 0 32px
}

.abt-pg .divider-line {
  position: relative;
  height: 2px;
  background: linear-gradient(90deg, transparent, #BFD295 20%, #BFD295 80%, transparent)
}

.abt-pg .divider-ornament {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px;
  height: 32px;
  background: #fff;
  border: 2px solid #72A93F;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center
}

.abt-pg .divider-ornament::before {
  content: '';
  width: 12px;
  height: 12px;
  background: #72A93F;
  border-radius: 2px;
  transform: rotate(45deg)
}

.abt-pg .team-zone {
  background: #BFD295;
  padding: 96px 32px;
  position: relative
}

.abt-pg .team-zone::before {
  content: '02';
  position: absolute;
  top: 64px;
  right: 5%;
  font-size: 180px;
  line-height: 1;
  color: #ffffff4d;
  font-weight: 700;
  pointer-events: none;
  z-index: 0
}

.abt-pg .team-container {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.abt-pg .team-header {
  margin: 0 0 64px
}

.abt-pg .team-header h2 {
  font-size: 43px;
  line-height: 1.4;
  margin: 0 0 16px;
  color: #2d2d2d
}

.abt-pg .team-header p {
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
  color: #3a3a3a;
  max-width: 720px
}

.abt-pg .team-layout {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px
}

.abt-pg .member-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 3px 2px 1px #72a93f0f;
  transition: transform .12s ease-out, box-shadow .12s ease-out;
  display: flex;
  flex-direction: column
}

.abt-pg .member-card:hover {
  transform: scale(0.97);
  box-shadow: 0 10px 44px 1px #72a93f1f
}

.abt-pg .member-photo {
  width: 100%;
  height: 320px;
  position: relative;
  overflow: hidden
}

.abt-pg .member-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt-pg .member-details {
  padding: 32px;
  flex: 1
}

.abt-pg .member-details h3 {
  font-size: 15px;
  line-height: 1.4;
  margin: 0 0 8px;
  color: #2d2d2d;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em
}

.abt-pg .member-role {
  font-size: 15px;
  line-height: 1.4;
  margin: 0 0 16px;
  color: #72A93F;
  font-weight: 600
}

.abt-pg .member-bio {
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
  color: #4a4a4a
}

.abt-pg .approach-zone {
  background: #fff;
  padding: 96px 32px;
  position: relative
}

.abt-pg .approach-container {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 460px 1fr;
  gap: 64px;
  align-items: start
}

.abt-pg .approach-visual {
  position: relative;
  width: 460px;
  height: 560px;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 10px 44px 1px #72a93f1f;
  position: sticky;
  top: 32px
}

.abt-pg .approach-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt-pg .approach-content h2 {
  font-size: 43px;
  line-height: 1.4;
  margin: 0 0 32px;
  color: #2d2d2d
}

.abt-pg .principle-item {
  margin: 0 0 32px;
  padding: 0 0 32px;
  border-bottom: 1px solid #bfd29566
}

.abt-pg .principle-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0
}

.abt-pg .principle-item h4 {
  font-size: 15px;
  line-height: 1.4;
  margin: 0 0 8px;
  color: #72A93F;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em
}

.abt-pg .principle-item p {
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
  color: #4a4a4a
}

@media (max-width: 1024px) {
  .abt-pg .top-zone {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 64px 16px
  }

  .abt-pg .top-zone::before {
    font-size: 120px;
    left: 16px
  }

  .abt-pg .text-lead h1 {
    font-size: 43px
  }

  .abt-pg .text-lead h1 .accent-phrase::before,
  .abt-pg .text-lead h1 .accent-phrase::after {
    font-size: 60px;
    left: -16px
  }

  .abt-pg .text-lead h1 .accent-phrase::after {
    right: -16px
  }

  .abt-pg .img-insert {
    width: 100%;
    height: 400px;
    margin: 0 auto
  }

  .abt-pg .stat-grid {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .abt-pg .metric-zone {
    padding: 64px 16px
  }

  .abt-pg .team-zone {
    padding: 64px 16px
  }

  .abt-pg .team-zone::before {
    font-size: 120px
  }

  .abt-pg .team-layout {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .abt-pg .approach-container {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 64px 16px
  }

  .abt-pg .approach-visual {
    width: 100%;
    height: 400px;
    position: relative;
    top: 0
  }

  .abt-pg .approach-zone {
    padding: 64px 16px
  }

  .abt-pg .divider-accent {
    margin: 64px auto 0;
    padding: 0 16px
  }
}

@media (max-width: 768px) {
  .abt-pg .top-zone {
    padding: 32px 16px
  }

  .abt-pg .text-lead h1 {
    font-size: 43px
  }

  .abt-pg .metric-intro h2,
  .abt-pg .team-header h2,
  .abt-pg .approach-content h2 {
    font-size: 43px
  }

  .abt-pg .stat-number {
    font-size: 43px
  }

  .abt-pg .metric-zone,
  .abt-pg .team-zone,
  .abt-pg .approach-zone {
    padding: 64px 16px
  }

  .abt-pg .member-photo {
    height: 280px
  }
}

@media (max-width: 480px) {
  .abt-pg .top-zone::before {
    font-size: 80px
  }

  .abt-pg .text-lead h1 {
    font-size: 43px
  }

  .abt-pg .text-lead h1 .accent-phrase::before,
  .abt-pg .text-lead h1 .accent-phrase::after {
    font-size: 43px;
    left: -12px
  }

  .abt-pg .text-lead h1 .accent-phrase::after {
    right: -12px
  }

  .abt-pg .img-insert {
    height: 320px
  }

  .abt-pg .metric-intro h2,
  .abt-pg .team-header h2,
  .abt-pg .approach-content h2 {
    font-size: 43px
  }

  .abt-pg .stat-card {
    padding: 16px
  }

  .abt-pg .member-details {
    padding: 16px
  }

  .abt-pg .member-photo {
    height: 240px
  }

  .abt-pg .approach-visual {
    height: 320px
  }

  .abt-pg .team-zone::before {
    font-size: 80px
  }
}

.success-confirm {
  background: linear-gradient(107deg, #72A93F 0%, #BFD295 100%);
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 64px 16px
}

.success-confirm .confirm-card {
  background: #FAFBF9;
  max-width: 680px;
  width: 100%;
  border-radius: 30px;
  padding: 64px 32px;
  text-align: center;
  box-shadow: 0 10px 44px 1px #72a93f1f
}

.success-confirm .icon-wrapper {
  width: 120px;
  height: 120px;
  margin: 0 auto 32px;
  background: #72A93F;
  border-radius: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative
}

.success-confirm .check-icon {
  width: 64px;
  height: 64px;
  border: 5px solid #FAFBF9;
  border-left: none;
  border-top: none;
  transform: rotate(45deg) translateY(-8px)
}

.success-confirm .main-heading {
  font-size: 43px;
  line-height: 1.15;
  color: #2a2a2a;
  margin: 0 0 16px
}

.success-confirm .message-text {
  font-size: 15px;
  line-height: 1.65;
  color: #4a4a4a;
  margin: 0 0 32px
}

.success-confirm .info-block {
  background: #fff;
  border-radius: 16px;
  padding: 32px;
  margin: 0 0 32px;
  border: 2px solid #BFD295
}

.success-confirm .info-heading {
  font-size: 15px;
  line-height: 1.4;
  color: #2a2a2a;
  margin: 0 0 16px;
  font-weight: 600
}

.success-confirm .info-list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left
}

.success-confirm .info-list li {
  font-size: 15px;
  line-height: 1.65;
  color: #4a4a4a;
  padding: 8px 0 8px 32px;
  position: relative
}

.success-confirm .info-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: 2px solid #72A93F;
  border-radius: 8px;
  background: #BFD295
}

.success-confirm .action-group {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap
}

.success-confirm .btn-primary {
  background: transparent;
  border: 2px solid #72A93F;
  color: #72A93F;
  font-size: 15px;
  line-height: 1.4;
  padding: 16px 32px;
  border-radius: 16px;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: background .15s ease-out, color .12s ease-out, transform .1s ease;
  font-weight: 600
}

.success-confirm .btn-primary:hover {
  background: #72A93F;
  color: #FAFBF9;
  transform: scale(0.97)
}

.success-confirm .btn-secondary {
  background: transparent;
  border: 2px solid #BFD295;
  color: #4a4a4a;
  font-size: 15px;
  line-height: 1.4;
  padding: 16px 32px;
  border-radius: 16px;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: border-color .18s ease, color .14s ease-out, transform .11s ease;
  font-weight: 600
}

.success-confirm .btn-secondary:hover {
  border-color: #72A93F;
  color: #72A93F;
  transform: scale(0.97)
}

.success-confirm .footer-note {
  font-size: 15px;
  line-height: 1.65;
  color: #6a6a6a;
  margin: 32px 0 0
}

@media (max-width: 768px) {
  .success-confirm .confirm-card {
    padding: 32px 16px
  }

  .success-confirm .main-heading {
    font-size: 43px
  }

  .success-confirm .icon-wrapper {
    width: 96px;
    height: 96px;
    margin-bottom: 32px
  }

  .success-confirm .check-icon {
    width: 48px;
    height: 48px
  }

  .success-confirm .action-group {
    flex-direction: column
  }

  .success-confirm .btn-primary,
  .success-confirm .btn-secondary {
    width: 100%
  }
}

@media (max-width: 480px) {
  .success-confirm {
    padding: 32px 16px
  }

  .success-confirm .info-block {
    padding: 16px
  }
}