@charset "UTF-8";
@import url('https://cdn.jsdelivr.net/npm/@fontsource/pt-serif@latest/400.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/pt-serif@latest/400-italic.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/pt-serif@latest/700.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/pt-serif@latest/700-italic.css');

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100svh;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

.sitebody {
  font-family: 'PT Serif', Georgia, serif;
  background-color: #FBF9F9;
  color: #2a1f14;
}

.sitebody *:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(209, 154, 99, 0.55);
}

::selection {
  background: linear-gradient(90deg, #D19A63, #DCA598);
  color: #2a1f14;
}

.headerwrap {
  padding: 20px 20px;
  background-color: #FBF9F9;
}

.headerbox {
  max-width: 1140px;
  margin: 0 auto;
  background: linear-gradient(160deg, #ffffff 60%, rgba(220, 165, 152, 0.12) 100%);
  border: 1.5px solid rgba(209, 154, 99, 0.28);
  border-radius: 10px;
  box-shadow: 0 8px 52px 0 rgba(209, 154, 99, 0.11);
  padding: 20px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.brandrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.logohex {
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  background: #ffffff;
  clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  box-shadow: 0 6px 14px 0 rgba(209, 154, 99, 0.10), 0 0 0 2px rgba(209, 154, 99, 0.30);
  padding: 4px;
}

.logohex img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  display: block;
}

.brandname {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
  color: #2a1f14;
  letter-spacing: 0;
}

.brandname span {
  color: #D19A63;
}

.navrow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
}

.navrow a {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 15px;
  line-height: 1.55;
  color: #2a1f14;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 2px;
  border: 1.5px solid transparent;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.6s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.5s ease-in-out;
  white-space: nowrap;
  min-height: 44px;
  display: flex;
  align-items: center;
}

.navrow a:hover {
  color: #8a4f1a;
  border-color: rgba(209, 154, 99, 0.50);
  background-color: rgba(209, 154, 99, 0.07);
  transform: perspective(400px) rotateX(2deg) rotateY(-2deg);
}

.navrow a.active {
  color: #8a4f1a;
  border-color: #D19A63;
  background-color: rgba(209, 154, 99, 0.10);
}

.navdivider {
  width: 1px;
  height: 18px;
  background: rgba(209, 154, 99, 0.35);
  flex-shrink: 0;
}

.langsel {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 8px;
}

.langbtn {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 14px;
  color: #2a1f14;
  background: transparent;
  border: 1.5px solid rgba(209, 154, 99, 0.45);
  border-radius: 2px;
  padding: 4px 8px;
  cursor: pointer;
  min-height: 44px;
  transition: border-color 0.55s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.45s ease-in-out;
  display: flex;
  align-items: center;
  gap: 4px;
}

.langbtn:hover {
  border-color: #D19A63;
  background-color: rgba(209, 154, 99, 0.08);
}

@media (max-width: 900px) {
  .headerbox {
    padding: 16px 20px;
  }

  .navrow a {
    font-size: 14px;
    padding: 8px 12px;
  }
}

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

  .headerbox {
    padding: 16px 16px;
    border-radius: 10px;
  }

  .brandname {
    font-size: 22px;
  }

  .navrow {
    gap: 4px;
  }

  .navrow a {
    font-size: 14px;
    padding: 8px 8px;
  }

  .navdivider {
    display: none;
  }
}

.footerwrap {
  background: linear-gradient(170deg, #2a1f14 0%, #3d2b18 100%);
  padding: 80px 20px 40px;
  color: #FBF9F9;
}

.footerbox {
  max-width: 1140px;
  margin: 0 auto;
}

.ftrtypemark {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.1;
  color: rgba(209, 154, 99, 0.18);
  letter-spacing: 0;
  margin-bottom: 40px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.ftrinner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(209, 154, 99, 0.20);
}

.ftrcol h3 {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
  color: #D19A63;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 16px 0;
}

.ftrcol p {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(251, 249, 249, 0.78);
  margin: 0 0 8px 0;
}

.ftrcol a {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(251, 249, 249, 0.78);
  text-decoration: none;
  display: block;
  margin-bottom: 8px;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.ftrcol a:hover {
  color: #D19A63;
}

.ftrcontact a {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ftrcontact i {
  color: #DCA598;
  font-size: 18px;
  flex-shrink: 0;
}

.ftrbrandrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding-top: 40px;
}

.ftrbrand {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ftrhexlogo {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  box-shadow: 0 2px 5px 0 rgba(209, 154, 99, 0.06), 0 0 0 2px rgba(209, 154, 99, 0.30);
  padding: 4px;
  flex-shrink: 0;
}

.ftrhexlogo img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  display: block;
}

.ftrname {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
  color: #FBF9F9;
}

.ftrname span {
  color: #D19A63;
}

.ftrtagline {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(251, 249, 249, 0.55);
  font-style: italic;
}

.ftrcopyrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding-top: 20px;
}

.ftrcopy {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(251, 249, 249, 0.45);
}

.ftrpolicy {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.ftrpolicy a {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(251, 249, 249, 0.45);
  text-decoration: none;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.ftrpolicy a:hover {
  color: #DCA598;
}

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

  .ftrtypemark {
    font-size: 42px;
  }
}

@media (max-width: 600px) {
  .footerwrap {
    padding: 40px 16px 20px;
  }

  .ftrinner {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ftrtypemark {
    font-size: 30px;
    margin-bottom: 20px;
  }

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

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

.ckbox {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 2000;
  max-width: 380px;
  width: calc(100vw - 40px);
}

.ckpanel {
  background: #ffffff;
  border: 1.5px solid rgba(209, 154, 99, 0.35);
  border-radius: 10px;
  box-shadow: 0 8px 52px 0 rgba(209, 154, 99, 0.11);
  padding: 20px;
  font-family: 'PT Serif', Georgia, serif;
}

.ckdesc {
  font-size: 14px;
  line-height: 1.55;
  color: #2a1f14;
  margin: 0 0 8px 0;
}

.ckhead {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.1;
  color: #2a1f14;
  margin: 0 0 16px 0;
}

.ckbtns {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.ckaccept {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 14px;
  color: #2a1f14;
  background: transparent;
  border: 2px solid #D19A63;
  border-radius: 2px;
  padding: 8px 16px;
  cursor: pointer;
  min-height: 44px;
  transition: background-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), color 0.45s ease-in-out;
}

.ckaccept:hover {
  background-color: #D19A63;
  color: #ffffff;
}

.ckaccept:active {
  box-shadow: inset 0 2px 5px 0 rgba(209, 154, 99, 0.30);
}

.ckdecline {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 14px;
  color: #2a1f14;
  background: transparent;
  border: 2px solid rgba(209, 154, 99, 0.40);
  border-radius: 2px;
  padding: 8px 16px;
  cursor: pointer;
  min-height: 44px;
  transition: border-color 0.55s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.45s ease-in-out;
}

.ckdecline:hover {
  border-color: #DCA598;
  background-color: rgba(220, 165, 152, 0.10);
}

.ckdecline:active {
  box-shadow: inset 0 2px 5px 0 rgba(220, 165, 152, 0.25);
}

.cksettingslink {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 14px;
  color: rgba(42, 31, 20, 0.60);
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px 0;
  text-decoration: underline;
  min-height: 44px;
  display: flex;
  align-items: center;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.cksettingslink:hover {
  color: #D19A63;
}

.cksettings {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(209, 154, 99, 0.20);
}

.cktogglerow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  gap: 8px;
}

.cktogglerow label {
  font-size: 14px;
  line-height: 1.55;
  color: #2a1f14;
}

.cktogglerow input[type="checkbox"] {
  width: 20px;
  height: 20px;
  accent-color: #D19A63;
  cursor: pointer;
  flex-shrink: 0;
}

.doc-content {
  max-width: 1140px;
  margin: 0 auto;
  padding: 80px 40px;
  color: #2a2118;
}

.doc-content h1 {
  font-size: 42px;
  line-height: 1.1;
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 2px solid #D19A63;
  background: linear-gradient(135deg, #D19A63, #DCA598);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.doc-content h2 {
  font-size: 30px;
  line-height: 1.1;
  margin-top: 80px;
  margin-bottom: 20px;
  color: #1e1610;
}

.doc-content h3 {
  font-size: 22px;
  line-height: 1.55;
  margin-top: 40px;
  margin-bottom: 16px;
  color: #2e1f10;
}

.doc-content h4 {
  font-size: 18px;
  line-height: 1.55;
  margin-top: 40px;
  margin-bottom: 16px;
  color: #2e1f10;
}

.doc-content h5 {
  font-size: 15px;
  line-height: 1.55;
  margin-top: 20px;
  margin-bottom: 8px;
  color: #3a2515;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.doc-content h6 {
  font-size: 14px;
  line-height: 1.55;
  margin-top: 16px;
  margin-bottom: 8px;
  color: #4a3020;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.doc-content p {
  font-size: 15px;
  line-height: 2.0;
  margin-bottom: 20px;
  color: #2a2118;
}

.doc-content ul {
  margin: 20px 0;
  padding-left: 20px;
  list-style: none;
}

.doc-content ol {
  margin: 20px 0;
  padding-left: 20px;
  list-style: none;
  counter-reset: policy-counter;
}

.doc-content ul li {
  font-size: 15px;
  line-height: 2.0;
  margin-bottom: 8px;
  color: #2a2118;
  padding-left: 20px;
  position: relative;
}

.doc-content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg, #D19A63, #DCA598);
}

.doc-content ol li {
  font-size: 15px;
  line-height: 2.0;
  margin-bottom: 8px;
  color: #2a2118;
  padding-left: 20px;
  position: relative;
  counter-increment: policy-counter;
}

.doc-content ol li::before {
  content: counter(policy-counter) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 14px;
  color: #D19A63;
  font-weight: 700;
}

.doc-content strong {
  font-weight: 700;
  color: #1e1610;
}

.doc-content b {
  font-weight: 700;
  color: #1e1610;
}

.doc-content a {
  color: #b07830;
  text-decoration: underline;
  text-decoration-color: rgba(209, 154, 99, 0.4);
  text-underline-offset: 3px;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), text-decoration-color 0.6s ease-in-out;
}

.doc-content a:hover {
  color: #D19A63;
  text-decoration-color: #DCA598;
}

.doc-content div {
  margin-bottom: 20px;
}

@media (max-width: 900px) {
  .doc-content {
    padding: 80px 40px;
  }

  .doc-content h1 {
    font-size: 30px;
  }

  .doc-content h2 {
    font-size: 22px;
  }

  .doc-content h3 {
    font-size: 18px;
  }
}

@media (max-width: 600px) {
  .doc-content {
    padding: 40px 20px;
  }

  .doc-content h1 {
    font-size: 22px;
    margin-bottom: 20px;
  }

  .doc-content h2 {
    font-size: 18px;
    margin-top: 40px;
  }

  .doc-content h3 {
    font-size: 15px;
    margin-top: 20px;
  }

  .doc-content p,
  .doc-content ul li,
  .doc-content ol li {
    font-size: 14px;
  }
}

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

.lrnprog .pg-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px;
}

.lrnprog ::selection {
  background: linear-gradient(127deg, #D19A63, #DCA598);
  color: #1a1a1a;
}

.lrnprog a {
  color: #D19A63;
  text-decoration: none;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), background 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.lrnprog a:hover {
  color: #fff;
  background: #D19A63;
}

.lrnprog .eyebrow {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #D19A63;
  margin-bottom: 16px;
}

.lrnprog .accentbar {
  width: 40px;
  height: 3px;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  margin-bottom: 16px;
  border-radius: 2px;
}

.lrnprog .animline {
  position: relative;
  display: inline-block;
}

.lrnprog .animline::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.lrnprog .animline:hover::after {
  width: 100%;
}

.lrnprog .btn-primary {
  display: inline-block;
  padding: 16px 40px;
  border: 2px solid #D19A63;
  background: transparent;
  color: #2a1f14;
  font-size: 15px;
  letter-spacing: 0.04em;
  cursor: pointer;
  border-radius: 2px;
  position: relative;
  overflow: hidden;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), background 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.lrnprog .btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #D19A63;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}

.lrnprog .btn-primary:hover::before {
  transform: scaleX(1);
}

.lrnprog .btn-primary:hover {
  color: #fff;
}

.lrnprog .btn-primary span {
  position: relative;
  z-index: 1;
}

.lrnprog .btn-primary:active {
  box-shadow: inset 0 2px 5px 0 rgba(209, 154, 99, 0.25);
}

.lrnprog .ripple-btn {
  position: relative;
  overflow: hidden;
}

.lrnprog .ripple-btn .ripple-effect {
  position: absolute;
  border-radius: 50%;
  background: rgba(209, 154, 99, 0.3);
  transform: scale(0);
  animation: rippleAnim 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

@keyframes rippleAnim {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

.lrnprog .reveal {
  opacity: 0;
  transform: translateY(20px);
  animation: revealUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.lrnprog .reveal.d1 {
  animation-delay: 0.1s;
}

.lrnprog .reveal.d2 {
  animation-delay: 0.25s;
}

.lrnprog .reveal.d3 {
  animation-delay: 0.4s;
}

.lrnprog .reveal.d4 {
  animation-delay: 0.55s;
}

.lrnprog .reveal.d5 {
  animation-delay: 0.7s;
}

@keyframes revealUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.lrnprog .tilt-card {
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.lrnprog .tilt-card:hover {
  transform: perspective(600px) rotateX(2deg) rotateY(-3deg);
  box-shadow: 0 8px 52px 0 rgba(209, 154, 99, 0.11);
}

.lrnprog .decor-strokes {
  position: absolute;
  display: flex;
  flex-direction: column;
  gap: 4px;
  pointer-events: none;
}

.lrnprog .decor-strokes span {
  display: block;
  height: 2px;
  background: #D19A63;
  opacity: 0.35;
  border-radius: 2px;
}

/* ── BLOCK 1: TITLE ── */
.lrnprog .titblk {
  background: #1e150a;
  color: #FBF9F9;
  padding: 80px 0;
  position: relative;
}

.lrnprog .titblk-corner {
  position: absolute;
  top: 20px;
  right: 20px;
  pointer-events: none;
}

.lrnprog .titblk-corner-bl {
  position: absolute;
  bottom: 20px;
  left: 20px;
  pointer-events: none;
}

.lrnprog .geoline {
  position: absolute;
  background: transparent;
  pointer-events: none;
}

.lrnprog .geoline-h {
  width: 60px;
  height: 1px;
  border-top: 1px solid rgba(209, 154, 99, 0.45);
}

.lrnprog .geoline-v {
  width: 1px;
  height: 60px;
  border-left: 1px solid rgba(209, 154, 99, 0.45);
}

.lrnprog .titblk-corner .geoline-h {
  top: 0;
  right: 0;
}

.lrnprog .titblk-corner .geoline-v {
  top: 0;
  right: 0;
}

.lrnprog .titblk-corner-bl .geoline-h {
  bottom: 0;
  left: 0;
}

.lrnprog .titblk-corner-bl .geoline-v {
  bottom: 0;
  left: 0;
}

.lrnprog .titblk-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.lrnprog .titblk-left .eyebrow {
  color: #DCA598;
}

.lrnprog .titblk-h1 {
  font-size: 42px;
  line-height: 1.1;
  color: #FBF9F9;
  margin: 0 0 20px;
}

.lrnprog .titblk-meta {
  display: flex;
  flex-direction: row;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.lrnprog .titblk-badge {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: rgba(251, 249, 249, 0.7);
}

.lrnprog .titblk-badge i {
  color: #D19A63;
  font-size: 18px;
}

.lrnprog .titblk-right {
  position: relative;
}

.lrnprog .titblk-imgwrap {
  position: relative;
  border-radius: 2px;
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: 0 8px 52px 0 rgba(209, 154, 99, 0.11);
}

.lrnprog .titblk-imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.6) brightness(0.85);
  transition: filter 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.lrnprog .titblk-imgwrap:hover img {
  filter: saturate(1) brightness(1);
}

.lrnprog .titblk-imgwrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(127deg, rgba(30, 21, 10, 0.18) 0%, transparent 60%);
  pointer-events: none;
}

.lrnprog .grain-overlay {
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 2;
}

/* ── BLOCK 2: PROGRAM STRUCTURE ── */
.lrnprog .progstruct {
  padding: 80px 0;
  background: #FBF9F9;
}

.lrnprog .progstruct-grid {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 80px;
  align-items: start;
}

.lrnprog .progstruct-label {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #D19A63;
  margin-bottom: 16px;
}

.lrnprog .progstruct-h2 {
  font-size: 30px;
  line-height: 1.1;
  color: #1e150a;
  margin: 0 0 20px;
}

.lrnprog .progstruct-desc {
  font-size: 15px;
  line-height: 1.55;
  color: #3a2c1f;
  margin: 0 0 16px;
  padding-left: 20px;
  text-indent: -20px;
}

.lrnprog .progstruct-desc::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 2px;
  background: #D19A63;
  margin-right: 12px;
  vertical-align: middle;
}

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

.lrnprog .moditem {
  border: 1px solid rgba(209, 154, 99, 0.25);
  border-left: 4px solid #D19A63;
  border-radius: 2px;
  padding: 20px;
  background: #fff;
  box-shadow: 0 2px 5px 0 rgba(209, 154, 99, 0.06);
  transition: box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.lrnprog .moditem:hover {
  box-shadow: 0 6px 14px 0 rgba(209, 154, 99, 0.10);
  transform: perspective(600px) rotateY(-1.5deg);
}

.lrnprog .moditem-num {
  font-size: 14px;
  color: #D19A63;
  margin-bottom: 8px;
  font-weight: 600;
}

.lrnprog .moditem-title {
  font-size: 18px;
  line-height: 1.1;
  color: #1e150a;
  margin: 0 0 8px;
}

.lrnprog .moditem-text {
  font-size: 14px;
  line-height: 1.55;
  color: #5a4535;
  margin: 0;
}

/* ── BLOCK 3: METRICS + IMAGE ── */
.lrnprog .metrics {
  padding: 80px 0;
  background: #1e150a;
  position: relative;
}

.lrnprog .metrics-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.lrnprog .metrics-bgimg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.2) brightness(0.12);
}

.lrnprog .metrics-decor {
  position: absolute;
  top: 20px;
  left: 20px;
  pointer-events: none;
}

.lrnprog .metrics-inner {
  position: relative;
  z-index: 1;
}

.lrnprog .metrics-top {
  text-align: center;
  margin-bottom: 40px;
}

.lrnprog .metrics-h2 {
  font-size: 30px;
  line-height: 1.1;
  color: #FBF9F9;
  margin: 0 0 16px;
}

.lrnprog .metrics-sub {
  font-size: 15px;
  color: rgba(251, 249, 249, 0.65);
  line-height: 1.55;
  max-width: 520px;
  margin: 0 auto;
}

.lrnprog .metrics-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.lrnprog .metcard {
  background: rgba(251, 249, 249, 0.05);
  border: 1px solid rgba(209, 154, 99, 0.2);
  border-radius: 2px;
  padding: 40px 20px;
  text-align: center;
  box-shadow: inset 0 1px 3px rgba(209, 154, 99, 0.08);
  transition: background 0.55s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.lrnprog .metcard:hover {
  background: rgba(209, 154, 99, 0.1);
  transform: perspective(600px) rotateX(3deg);
}

.lrnprog .metcard-num {
  font-size: 42px;
  line-height: 1.1;
  color: #D19A63;
  display: block;
  margin-bottom: 8px;
}

.lrnprog .metcard-label {
  font-size: 14px;
  color: rgba(251, 249, 249, 0.7);
  line-height: 1.55;
}

/* ── BLOCK 4: FAQ ── */
.lrnprog .faqblk {
  padding: 80px 0;
  background: linear-gradient(127deg, rgba(209, 154, 99, 0.07) 0%, transparent 60%), #fff;
}

.lrnprog .faqblk-top {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 40px;
}

.lrnprog .faqblk-h2 {
  font-size: 30px;
  line-height: 1.1;
  color: #1e150a;
  margin: 0;
}

.lrnprog .faqblk-note {
  font-size: 15px;
  line-height: 1.55;
  color: #5a4535;
  max-width: 360px;
  margin: 0;
}

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

.lrnprog .faqitem {
  border: 1px solid rgba(209, 154, 99, 0.22);
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 2px 5px 0 rgba(220, 165, 152, 0.06);
  overflow: hidden;
}

.lrnprog .faqitem-toggle {
  display: none;
}

.lrnprog .faqitem-label {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  cursor: pointer;
  font-size: 15px;
  line-height: 1.55;
  color: #1e150a;
  font-weight: 600;
  transition: background 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  gap: 16px;
}

.lrnprog .faqitem-label:hover {
  background: rgba(209, 154, 99, 0.06);
}

.lrnprog .faqitem-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #D19A63;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
}

.lrnprog .faqitem-icon::before,
.lrnprog .faqitem-icon::after {
  content: '';
  position: absolute;
  background: #D19A63;
  border-radius: 2px;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.lrnprog .faqitem-icon::before {
  width: 10px;
  height: 1.5px;
}

.lrnprog .faqitem-icon::after {
  width: 1.5px;
  height: 10px;
}

.lrnprog .faqitem-toggle:checked~.faqitem-label .faqitem-icon {
  background: #D19A63;
}

.lrnprog .faqitem-toggle:checked~.faqitem-label .faqitem-icon::before {
  background: #fff;
}

.lrnprog .faqitem-toggle:checked~.faqitem-label .faqitem-icon::after {
  opacity: 0;
  transform: rotate(90deg);
}

.lrnprog .faqitem-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.6s cubic-bezier(0.22, 1, 0.36, 1), padding 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  padding: 0 20px;
}

.lrnprog .faqitem-toggle:checked~.faqitem-body {
  max-height: 300px;
  padding: 0 20px 20px;
}

.lrnprog .faqitem-body p {
  font-size: 15px;
  line-height: 1.55;
  color: #5a4535;
  margin: 0;
}

.lrnprog .faqblk-cta {
  margin-top: 40px;
  text-align: center;
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .lrnprog .titblk-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .lrnprog .titblk-h1 {
    font-size: 30px;
  }

  .lrnprog .progstruct-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .lrnprog .metrics-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .lrnprog .faqblk-top {
    flex-direction: column;
    gap: 16px;
  }
}

@media (max-width: 600px) {
  .lrnprog .titblk {
    padding: 40px 0;
  }

  .lrnprog .progstruct,
  .lrnprog .metrics,
  .lrnprog .faqblk {
    padding: 40px 0;
  }

  .lrnprog .metrics-row {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .lrnprog .metcard {
    padding: 20px 16px;
  }

  .lrnprog .metcard-num {
    font-size: 30px;
  }

  .lrnprog .titblk-h1 {
    font-size: 22px;
  }

  .lrnprog .progstruct-h2,
  .lrnprog .metrics-h2,
  .lrnprog .faqblk-h2 {
    font-size: 22px;
  }

  .lrnprog .titblk-meta {
    flex-direction: column;
    gap: 8px;
  }
}

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

.ld .pg {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px;
}

.ld ::selection {
  background: linear-gradient(127deg, #D19A63, #DCA598);
  color: #2a1a0a;
}

.ld .divline {
  height: 1px;
  background: linear-gradient(90deg, transparent, #D19A63 30%, #DCA598 70%, transparent);
  border: none;
  margin: 0;
}

/* STRIPE DRIFT ANIMATION */
@keyframes stripeDrift {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 60px 60px;
  }
}

/* ANIMATED UNDERLINE */
@keyframes lineIn {
  from {
    width: 0;
  }

  to {
    width: 100%;
  }
}

/* SECTION 1 - TITLE BLOCK */
.ld .titblock {
  padding: 80px 0;
  background-color: #FBF9F9;
  position: relative;
}

.ld .titblock::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='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/feTurbulence%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/svg%3E");
  opacity: 0.04;
  pointer-events: none;
}

.ld .titblock::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(127deg,
      rgba(209, 154, 99, 0.04) 0px,
      rgba(209, 154, 99, 0.04) 1px,
      transparent 1px,
      transparent 18px);
  animation: stripeDrift 14s linear infinite;
  pointer-events: none;
}

.ld .titinner {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 80px;
  position: relative;
  z-index: 1;
}

.ld .tittxt {
  flex: 1 1 0;
  min-width: 0;
}

.ld .titimg {
  flex: 0 0 460px;
  position: relative;
}

.ld .titshape {
  width: 460px;
  height: 460px;
  overflow: hidden;
  border-radius: 10px;
  clip-path: polygon(0 0, 100% 0, 100% 85%, 85% 100%, 0 100%);
  box-shadow: 0 8px 52px 0 rgba(209, 154, 99, 0.11);
}

.ld .titshape img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: blur(0px);
}

.ld .titshape img.blur {
  filter: blur(2px) brightness(0.96);
}

.ld .titlabel {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #D19A63;
  border: 2px solid #D19A63;
  border-radius: 2px;
  padding: 4px 16px;
  margin-bottom: 20px;
}

.ld .tith1 {
  font-size: 56px;
  line-height: 1.1;
  color: #2a1a0a;
  margin: 0 0 20px 0;
}

.ld .tith1 span {
  display: block;
  color: #D19A63;
}

.ld .titdesc {
  font-size: 18px;
  line-height: 1.55;
  color: #3d2b1a;
  margin: 0 0 40px 0;
  max-width: 440px;
}

.ld .titbtn {
  display: inline-block;
  font-size: 15px;
  color: #2a1a0a;
  background: transparent;
  border: 2px solid #D19A63;
  border-radius: 2px;
  padding: 16px 40px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.ld .titbtn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  opacity: 0;
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.ld .titbtn:hover::before {
  opacity: 1;
}

.ld .titbtn:hover {
  color: #fff;
}

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

.ld .titbtn:active {
  box-shadow: inset 0 2px 5px 0 rgba(209, 154, 99, 0.3);
}

/* SECTION 2 - CURRENT FIELD */
.ld .fieldblk {
  padding: 80px 0;
  background: #fff;
  border-left: 4px solid #D19A63;
  position: relative;
}

.ld .fieldblk::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, #D19A63, #DCA598);
}

.ld .fieldinr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

.ld .fieldtxt {
  padding-left: 20px;
}

.ld .fieldaccent {
  width: 40px;
  height: 3px;
  background: linear-gradient(127deg, #D19A63, transparent);
  margin-bottom: 16px;
  border-radius: 2px;
}

.ld .fieldh2 {
  font-size: 42px;
  line-height: 1.1;
  color: #2a1a0a;
  margin: 0 0 20px 0;
  position: relative;
  display: inline-block;
}

.ld .fieldh2::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  height: 2px;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  animation: lineIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both;
}

.ld .fieldp {
  font-size: 15px;
  line-height: 1.55;
  color: #3d2b1a;
  margin: 0 0 16px 0;
  text-indent: -1em;
  padding-left: 1em;
}

.ld .fieldlist {
  list-style: none;
  padding: 0;
  margin: 20px 0 0 0;
}

.ld .fieldlist li {
  font-size: 15px;
  line-height: 1.55;
  color: #3d2b1a;
  padding: 8px 0 8px 32px;
  position: relative;
  border-bottom: 1px solid rgba(209, 154, 99, 0.15);
}

.ld .fieldlist li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: 2px solid #D19A63;
  border-radius: 2px;
}

.ld .fieldlist li::after {
  content: '';
  position: absolute;
  left: 3px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 5px;
  height: 9px;
  border-right: 2px solid #D19A63;
  border-bottom: 2px solid #D19A63;
  margin-top: -1px;
}

.ld .fieldimgwrap {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 14px 0 rgba(209, 154, 99, 0.10);
  aspect-ratio: 4/3;
}

.ld .fieldimgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.ld .fieldimgwrap:hover img {
  transform: perspective(800px) rotateY(-2deg) scale(1.03);
}

/* SECTION 3 - METRICS */
.ld .metrblk {
  padding: 80px 0 40px;
  background: linear-gradient(127deg, rgba(209, 154, 99, 0.08), rgba(220, 165, 152, 0.06));
  position: relative;
}

.ld .metrblk::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 320px;
  height: 320px;
  background: rgba(220, 165, 152, 0.08);
  border-radius: 10px;
  transform: rotate(18deg);
  pointer-events: none;
}

.ld .metrhead {
  text-align: center;
  margin-bottom: 40px;
}

.ld .metrh2 {
  font-size: 42px;
  line-height: 1.1;
  color: #2a1a0a;
  margin: 0 0 16px 0;
  position: relative;
  display: inline-block;
}

.ld .metrh2::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  border-radius: 2px;
}

.ld .metrsub {
  font-size: 15px;
  line-height: 1.55;
  color: #5a3d28;
  max-width: 520px;
  margin: 0 auto;
}

.ld .metrgrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}

.ld .metrcard {
  background: #fff;
  border-radius: 10px;
  padding: 40px 20px;
  text-align: center;
  border: 1px solid rgba(209, 154, 99, 0.2);
  box-shadow: 0 2px 5px 0 rgba(209, 154, 99, 0.06);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  cursor: default;
}

.ld .metrcard:hover {
  transform: perspective(600px) rotateX(2deg) translateY(-4px);
  box-shadow: 0 8px 52px 0 rgba(209, 154, 99, 0.11);
}

.ld .metrcard:active {
  background: linear-gradient(127deg, rgba(209, 154, 99, 0.12), rgba(220, 165, 152, 0.12));
  box-shadow: inset 0 2px 5px 0 rgba(209, 154, 99, 0.15);
}

.ld .metrnum {
  font-size: 42px;
  line-height: 1.1;
  color: #D19A63;
  display: block;
  margin-bottom: 8px;
}

.ld .metrlabel {
  font-size: 14px;
  line-height: 1.55;
  color: #5a3d28;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ld .metrimgrow {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 40px;
  align-items: center;
  padding-bottom: 40px;
}

.ld .metrimgwrap {
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: 0 6px 14px 0 rgba(220, 165, 152, 0.10);
}

.ld .metrimgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.ld .metrimgwrap:hover img {
  transform: perspective(700px) rotateY(3deg) scale(1.02);
}

.ld .metrtxtside {
  padding-left: 20px;
}

.ld .metrtxtside h3 {
  font-size: 30px;
  line-height: 1.1;
  color: #2a1a0a;
  margin: 0 0 16px 0;
}

.ld .metrtxtside p {
  font-size: 15px;
  line-height: 1.55;
  color: #3d2b1a;
  margin: 0 0 16px 0;
}

/* SECTION 4 - TESTIMONIALS */
.ld .voiceblk {
  padding: 80px 0;
  background: #FBF9F9;
  position: relative;
}

.ld .voiceblk::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, #DCA598, #D19A63);
  border-radius: 0 2px 2px 0;
}

.ld .voicehead {
  margin-bottom: 40px;
}

.ld .voiceh2 {
  font-size: 42px;
  line-height: 1.1;
  color: #2a1a0a;
  margin: 0 0 16px 0;
  position: relative;
  display: inline-block;
}

.ld .voiceh2::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  height: 2px;
  background: linear-gradient(127deg, #DCA598, #D19A63);
  animation: lineIn 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both;
}

.ld .voicesub {
  font-size: 15px;
  line-height: 1.55;
  color: #5a3d28;
  max-width: 480px;
}

.ld .voicegrid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

.ld .voicecard {
  background: #fff;
  border-radius: 10px;
  padding: 40px 20px;
  border: 1px solid rgba(220, 165, 152, 0.25);
  box-shadow: 0 2px 5px 0 rgba(220, 165, 152, 0.06);
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
}

.ld .voicecard:hover {
  transform: perspective(700px) rotateY(-2deg) translateY(-4px);
  box-shadow: 0 8px 52px 0 rgba(220, 165, 152, 0.11);
}

.ld .voicecard:active {
  background: rgba(220, 165, 152, 0.06);
  box-shadow: inset 0 2px 5px 0 rgba(220, 165, 152, 0.18);
}

.ld .voicequote {
  width: 32px;
  height: 24px;
  margin-bottom: 16px;
}

.ld .voicetext {
  font-size: 15px;
  line-height: 1.55;
  color: #3d2b1a;
  margin: 0 0 20px 0;
}

.ld .voiceresult {
  font-size: 14px;
  line-height: 1.55;
  color: #D19A63;
  border-top: 1px solid rgba(209, 154, 99, 0.2);
  padding-top: 16px;
  margin-bottom: 16px;
}

.ld .voicename {
  font-size: 14px;
  color: #2a1a0a;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ld .voicerole {
  font-size: 14px;
  color: #8a6a52;
  margin-top: 4px;
}

/* RESPONSIVE */
@media (max-width: 1200px) {
  .ld .titshape {
    width: 380px;
    height: 380px;
  }

  .ld .titimg {
    flex: 0 0 380px;
  }

  .ld .metrgrid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .ld .titinner {
    flex-direction: column;
    gap: 40px;
  }

  .ld .titshape {
    width: 100%;
    height: 320px;
  }

  .ld .titimg {
    flex: 0 0 auto;
    width: 100%;
  }

  .ld .tith1 {
    font-size: 42px;
  }

  .ld .fieldinr {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ld .metrimgrow {
    grid-template-columns: 1fr;
  }

  .ld .voicegrid {
    grid-template-columns: 1fr 1fr;
  }

  .ld .metrtxtside {
    padding-left: 0;
  }
}

@media (max-width: 600px) {
  .ld .tith1 {
    font-size: 30px;
  }

  .ld .titblock {
    padding: 40px 0;
  }

  .ld .fieldblk {
    padding: 40px 0;
  }

  .ld .metrblk {
    padding: 40px 0 20px;
  }

  .ld .voiceblk {
    padding: 40px 0;
  }

  .ld .metrgrid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .ld .voicegrid {
    grid-template-columns: 1fr;
  }

  .ld .titbtn {
    padding: 16px 20px;
    width: 100%;
    text-align: center;
  }

  .ld .fieldtxt {
    padding-left: 0;
  }

  .ld .metrtxtside h3 {
    font-size: 22px;
  }

  .ld .voiceh2,
  .ld .fieldh2,
  .ld .metrh2 {
    font-size: 30px;
  }
}

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

.eduforbiz ::selection {
  background: linear-gradient(127deg, #D19A63, #DCA598);
  color: #1a1a1a;
}

.eduforbiz .ef-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px;
}

.eduforbiz .ef-titleblock {
  background: #2a1f14;
  padding: 80px 0 40px;
  position: relative;
}

.eduforbiz .ef-titleblock-grid {
  display: grid;
  grid-template-columns: 30% 70%;
  gap: 40px;
  align-items: end;
}

.eduforbiz .ef-title-accent {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 20px;
}

.eduforbiz .ef-accent-lines {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 16px;
}

.eduforbiz .ef-accent-lines span {
  display: block;
  height: 1px;
  background: #D19A63;
  opacity: 0.6;
}

.eduforbiz .ef-accent-lines span:nth-child(1) {
  width: 48px;
}

.eduforbiz .ef-accent-lines span:nth-child(2) {
  width: 32px;
}

.eduforbiz .ef-accent-lines span:nth-child(3) {
  width: 20px;
}

.eduforbiz .ef-label {
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #D19A63;
  line-height: 1.55;
}

.eduforbiz .ef-title-right {
  position: relative;
}

.eduforbiz .ef-title-deco {
  position: absolute;
  top: -20px;
  left: -20px;
  width: 80px;
  height: 80px;
  pointer-events: none;
  overflow: hidden;
  border-radius: 0px;
}

.eduforbiz .ef-title-deco svg {
  opacity: 0.12;
}

.eduforbiz .ef-h1 {
  font-size: 42px;
  line-height: 1.1;
  color: #FBF9F9;
  margin: 0 0 20px;
  position: relative;
}

.eduforbiz .ef-h1 em {
  font-style: normal;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.eduforbiz .ef-manifesto {
  font-size: 18px;
  line-height: 1.55;
  color: #c8bfb8;
  max-width: 580px;
  margin: 0 0 40px;
  padding-left: 16px;
  border-left: 2px solid #D19A63;
  text-indent: -16px;
  padding-left: 32px;
}

.eduforbiz .ef-titleimg-wrap {
  position: relative;
  aspect-ratio: 4/3;
  border-radius: 2px;
  overflow: hidden;
}

.eduforbiz .ef-titleimg-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  animation: imgscale 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes imgscale {
  from {
    transform: scale(0.97);
  }

  to {
    transform: scale(1);
  }
}

.eduforbiz .ef-scanline {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg,
      transparent,
      transparent 3px,
      rgba(42, 31, 20, 0.18) 3px,
      rgba(42, 31, 20, 0.18) 4px);
  pointer-events: none;
}

.eduforbiz .ef-imgoverlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(127deg, rgba(209, 154, 99, 0.18), transparent 60%);
  pointer-events: none;
}

.eduforbiz .ef-stats-strip {
  background: #D19A63;
  padding: 20px 0;
}

.eduforbiz .ef-stats-row {
  display: flex;
  flex-direction: row;
  gap: 0;
  align-items: stretch;
}

.eduforbiz .ef-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 20px;
  border-right: 1px solid rgba(255, 255, 255, 0.25);
}

.eduforbiz .ef-stat:last-child {
  border-right: none;
}

.eduforbiz .ef-stat-num {
  font-size: 30px;
  line-height: 1.1;
  color: #2a1f14;
  font-weight: 700;
}

.eduforbiz .ef-stat-desc {
  font-size: 14px;
  line-height: 1.55;
  color: #3d2b18;
  text-align: center;
}

.eduforbiz .ef-program {
  background: #FBF9F9;
  padding: 80px 0;
}

.eduforbiz .ef-prog-grid {
  display: grid;
  grid-template-columns: 30% 1fr 1fr;
  gap: 40px;
  align-items: start;
}

.eduforbiz .ef-prog-left {
  padding-right: 20px;
  border-right: 1px solid rgba(209, 154, 99, 0.3);
}

.eduforbiz .ef-prog-eyebrow {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.eduforbiz .ef-dot {
  width: 8px;
  height: 8px;
  border-radius: 10px;
  background: #D19A63;
  flex-shrink: 0;
}

.eduforbiz .ef-eyebrow-txt {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #D19A63;
  line-height: 1.55;
}

.eduforbiz .ef-prog-h2 {
  font-size: 30px;
  line-height: 1.1;
  color: #2a1f14;
  margin: 0 0 20px;
  position: relative;
  display: inline-block;
}

.eduforbiz .ef-prog-h2::after {
  content: '';
  display: block;
  height: 2px;
  width: 0;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  margin-top: 8px;
  transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.eduforbiz .ef-prog-left:hover .ef-prog-h2::after {
  width: 100%;
}

.eduforbiz .ef-prog-body {
  font-size: 15px;
  line-height: 1.55;
  color: #4a3828;
}

.eduforbiz .ef-module {
  background: #fff;
  border: 1.5px solid rgba(209, 154, 99, 0.25);
  border-radius: 2px;
  padding: 20px;
  box-shadow: 0 2px 5px 0 rgba(209, 154, 99, 0.06);
  transition: box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.eduforbiz .ef-module:hover {
  box-shadow: 0 8px 52px 0 rgba(209, 154, 99, 0.11);
  transform: perspective(600px) rotateY(-2deg) rotateX(1deg);
}

.eduforbiz .ef-module-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.eduforbiz .ef-module-icon i {
  font-size: 18px;
  color: #fff;
}

.eduforbiz .ef-module-h {
  font-size: 18px;
  line-height: 1.1;
  color: #2a1f14;
  margin: 0 0 8px;
}

.eduforbiz .ef-module-p {
  font-size: 14px;
  line-height: 1.55;
  color: #5a4535;
}

.eduforbiz .ef-checklist {
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.eduforbiz .ef-checklist li {
  font-size: 14px;
  line-height: 1.55;
  color: #4a3828;
  padding-left: 20px;
  position: relative;
}

.eduforbiz .ef-checklist li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  width: 12px;
  height: 12px;
  border: 1.5px solid #D19A63;
  border-radius: 2px;
}

.eduforbiz .ef-checklist li::after {
  content: '';
  position: absolute;
  left: 3px;
  top: 9px;
  width: 6px;
  height: 4px;
  border-left: 1.5px solid #D19A63;
  border-bottom: 1.5px solid #D19A63;
  transform: rotate(-45deg);
}

.eduforbiz .ef-approach {
  background: #2a1f14;
  padding: 80px 0;
  position: relative;
}

.eduforbiz .ef-approach-halftone {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 260px;
  height: 260px;
  pointer-events: none;
  overflow: hidden;
}

.eduforbiz .ef-approach-split {
  display: grid;
  grid-template-columns: 70% 30%;
  gap: 40px;
  align-items: center;
}

.eduforbiz .ef-approach-img {
  position: relative;
  aspect-ratio: 4/3;
  border-radius: 2px;
  overflow: hidden;
}

.eduforbiz .ef-approach-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(0%);
  animation: colorcycle 8s ease-in-out infinite;
}

@keyframes colorcycle {

  0%,
  100% {
    filter: grayscale(0%);
  }

  45%,
  55% {
    filter: grayscale(100%);
  }
}

.eduforbiz .ef-approach-right {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.eduforbiz .ef-approach-h2 {
  font-size: 30px;
  line-height: 1.1;
  color: #FBF9F9;
  margin: 0;
}

.eduforbiz .ef-approach-accent {
  display: block;
  width: 40px;
  height: 2px;
  background: #D19A63;
  margin-bottom: 16px;
}

.eduforbiz .ef-approach-p {
  font-size: 15px;
  line-height: 1.55;
  color: #c8bfb8;
  margin: 0;
}

.eduforbiz .ef-steplist {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 8px;
}

.eduforbiz .ef-step {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
}

.eduforbiz .ef-step-num {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  border: 1.5px solid #D19A63;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #D19A63;
  flex-shrink: 0;
  line-height: 1.1;
}

.eduforbiz .ef-step-text {
  font-size: 14px;
  line-height: 1.55;
  color: #c8bfb8;
}

.eduforbiz .ef-audience {
  background: #fff;
  padding: 80px 0 80px;
}

.eduforbiz .ef-aud-top {
  display: grid;
  grid-template-columns: 30% 70%;
  gap: 40px;
  margin-bottom: 40px;
  align-items: end;
}

.eduforbiz .ef-aud-h2 {
  font-size: 30px;
  line-height: 1.1;
  color: #2a1f14;
  margin: 0;
  position: relative;
  display: inline-block;
}

.eduforbiz .ef-aud-h2::after {
  content: '';
  display: block;
  height: 2px;
  width: 0;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  margin-top: 8px;
  transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.eduforbiz .ef-audience:hover .ef-aud-h2::after {
  width: 100%;
}

.eduforbiz .ef-aud-intro {
  font-size: 15px;
  line-height: 1.55;
  color: #4a3828;
}

.eduforbiz .ef-aud-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.eduforbiz .ef-audcard {
  border: 1.5px solid rgba(220, 165, 152, 0.35);
  border-radius: 2px;
  padding: 20px;
  position: relative;
  transition: box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  background: #FBF9F9;
}

.eduforbiz .ef-audcard:hover {
  box-shadow: 0 6px 14px 0 rgba(220, 165, 152, 0.10);
  transform: perspective(700px) rotateX(2deg) rotateY(1deg);
}

.eduforbiz .ef-audcard-dot {
  width: 10px;
  height: 10px;
  border-radius: 10px;
  background: #DCA598;
  margin-bottom: 16px;
}

.eduforbiz .ef-audcard-h {
  font-size: 18px;
  line-height: 1.1;
  color: #2a1f14;
  margin: 0 0 8px;
}

.eduforbiz .ef-audcard-p {
  font-size: 14px;
  line-height: 1.55;
  color: #5a4535;
  margin: 0;
}

.eduforbiz .ef-aud-imgrow {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: center;
}

.eduforbiz .ef-aud-photo {
  aspect-ratio: 4/3;
  border-radius: 2px;
  overflow: hidden;
}

.eduforbiz .ef-aud-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.eduforbiz .ef-aud-photo:hover img {
  transform: scale(1.03);
}

.eduforbiz .ef-aud-quote {
  padding: 20px;
  border-left: 3px solid #D19A63;
  border-top: 1px solid rgba(209, 154, 99, 0.2);
  border-bottom: 1px solid rgba(209, 154, 99, 0.2);
  border-right: 1px solid rgba(209, 154, 99, 0.2);
  border-radius: 2px;
  background: #FBF9F9;
}

.eduforbiz .ef-aud-quote-txt {
  font-size: 18px;
  line-height: 1.55;
  color: #2a1f14;
  margin: 0 0 16px;
}

.eduforbiz .ef-aud-quote-attr {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.eduforbiz .ef-aud-quote-dot {
  width: 8px;
  height: 8px;
  border-radius: 10px;
  background: #DCA598;
  flex-shrink: 0;
}

.eduforbiz .ef-aud-quote-name {
  font-size: 14px;
  color: #7a5c44;
  line-height: 1.55;
}

.eduforbiz .ef-cta-strip {
  background: linear-gradient(127deg, #D19A63, #DCA598);
  padding: 40px 0;
}

.eduforbiz .ef-cta-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.eduforbiz .ef-cta-txt {
  font-size: 22px;
  line-height: 1.55;
  color: #2a1f14;
  font-weight: 600;
}

.eduforbiz .ef-ctabtn {
  display: inline-block;
  font-size: 15px;
  color: #2a1f14;
  border: 2.5px solid #2a1f14;
  border-radius: 0px;
  padding: 16px 40px;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  transition: background 0.5s cubic-bezier(0.22, 1, 0.36, 1), color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.eduforbiz .ef-ctabtn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: #2a1f14;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}

.eduforbiz .ef-ctabtn span {
  position: relative;
  z-index: 1;
}

.eduforbiz .ef-ctabtn:hover::after {
  transform: scaleX(1);
}

.eduforbiz .ef-ctabtn:hover span {
  color: #D19A63;
}

@media (max-width: 900px) {
  .eduforbiz .ef-titleblock-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .eduforbiz .ef-prog-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .eduforbiz .ef-prog-left {
    border-right: none;
    border-bottom: 1px solid rgba(209, 154, 99, 0.3);
    padding-right: 0;
    padding-bottom: 20px;
  }

  .eduforbiz .ef-approach-split {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .eduforbiz .ef-aud-top {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .eduforbiz .ef-aud-cards {
    grid-template-columns: 1fr 1fr;
  }

  .eduforbiz .ef-aud-imgrow {
    grid-template-columns: 1fr;
  }

  .eduforbiz .ef-cta-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .eduforbiz .ef-stats-row {
    flex-wrap: wrap;
  }

  .eduforbiz .ef-stat {
    flex: 1 1 40%;
  }
}

@media (max-width: 600px) {
  .eduforbiz .ef-h1 {
    font-size: 30px;
  }

  .eduforbiz .ef-aud-cards {
    grid-template-columns: 1fr;
  }

  .eduforbiz .ef-stat {
    flex: 1 1 100%;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }

  .eduforbiz .ef-titleblock {
    padding: 40px 0 20px;
  }

  .eduforbiz .ef-program,
  .eduforbiz .ef-approach,
  .eduforbiz .ef-audience {
    padding: 40px 0;
  }
}

.ctus {
  background: #FBF9F9;
  overflow-x: clip;
}

.ctus .grad-divider {
  height: 2px;
  background: linear-gradient(127deg, #D19A63, #DCA598, transparent);
  border: none;
  margin: 0;
}

.ctus .titblk {
  padding: 40px 20px 80px;
  max-width: 1140px;
  margin: 0 auto;
}

.ctus .titblk-grid {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 40px;
  align-items: start;
}

.ctus .imgcard {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: 0 8px 52px 0 rgba(209, 154, 99, 0.11);
  flex-shrink: 0;
}

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

.ctus .imgcard-vignette {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 0% 0%, rgba(30, 20, 10, 0.38) 0%, transparent 55%),
    radial-gradient(ellipse at 100% 0%, rgba(30, 20, 10, 0.28) 0%, transparent 50%),
    radial-gradient(ellipse at 0% 100%, rgba(30, 20, 10, 0.32) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 100%, rgba(30, 20, 10, 0.38) 0%, transparent 55%);
  pointer-events: none;
}

.ctus .dotpath {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 20px;
  align-items: center;
}

.ctus .dotpath span {
  width: 6px;
  height: 6px;
  border-radius: 2px;
  background: #D19A63;
  opacity: 0.5;
  display: block;
}

.ctus .dotpath span:nth-child(2) {
  opacity: 0.35;
  width: 4px;
  height: 4px;
}

.ctus .dotpath span:nth-child(3) {
  opacity: 0.2;
  width: 3px;
  height: 3px;
}

.ctus .tittext {
  padding-top: 16px;
}

.ctus .tittext-eyebrow {
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #D19A63;
  margin: 0 0 16px;
  line-height: 1.55;
}

.ctus .tittext h1 {
  font-size: 42px;
  line-height: 1.1;
  color: #1e1208;
  margin: 0 0 20px;
  font-weight: 700;
}

.ctus .tittext-accent {
  width: 48px;
  height: 3px;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  border-radius: 2px;
  margin-bottom: 20px;
}

.ctus .tittext p {
  font-size: 18px;
  line-height: 1.55;
  color: #3a2c1e;
  margin: 0 0 20px;
}

.ctus .contact-chips {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}

.ctus .chip {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #3a2c1e;
  line-height: 1.55;
  padding: 8px 16px;
  border: 1.5px solid rgba(209, 154, 99, 0.25);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 5px 0 rgba(209, 154, 99, 0.06);
  transition: box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.ctus .chip:hover {
  box-shadow: 0 6px 14px 0 rgba(209, 154, 99, 0.10);
  border-color: rgba(209, 154, 99, 0.5);
}

.ctus .chip i {
  color: #D19A63;
  font-size: 18px;
  flex-shrink: 0;
}

.ctus .chip a {
  color: #3a2c1e;
  text-decoration: none;
  transition: color 0.45s ease-in-out;
}

.ctus .chip a:hover {
  color: #D19A63;
}

.ctus .formsec {
  background: #2c1c0e;
  padding: 80px 20px;
  position: relative;
}

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

.ctus .formsec-bg-zone {
  position: absolute;
  width: 600px;
  height: 600px;
  border-radius: 10px;
  background: rgba(209, 154, 99, 0.06);
  top: -100px;
  right: -200px;
  animation: zonedrift 9s ease-in-out infinite alternate;
}

@keyframes zonedrift {
  from {
    transform: translate(0, 0) rotate(0deg);
  }

  to {
    transform: translate(-40px, 30px) rotate(8deg);
  }
}

.ctus .formsec-inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 80px;
  align-items: start;
  position: relative;
}

.ctus .formleft h2 {
  font-size: 30px;
  line-height: 1.1;
  color: #FBF9F9;
  margin: 0 0 16px;
  font-weight: 700;
}

.ctus .formleft-accent {
  width: 36px;
  height: 2px;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  border-radius: 2px;
  margin-bottom: 20px;
}

.ctus .formleft p {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(251, 249, 249, 0.72);
  margin: 0 0 40px;
}

.ctus .statusblock {
  border: 1px solid rgba(209, 154, 99, 0.25);
  border-radius: 10px;
  padding: 20px;
  background: rgba(209, 154, 99, 0.07);
}

.ctus .statusblock h4 {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #D19A63;
  margin: 0 0 16px;
  line-height: 1.55;
}

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

.ctus .statusitem {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ctus .statusitem-label {
  font-size: 14px;
  color: rgba(251, 249, 249, 0.6);
  line-height: 1.55;
  display: flex;
  justify-content: space-between;
}

.ctus .statusitem-label span {
  color: #D19A63;
}

.ctus .statusbar {
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  overflow: hidden;
}

.ctus .statusbar-fill {
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  animation: fillgrow 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  transform-origin: left;
}

@keyframes fillgrow {
  from {
    width: 0%;
  }
}

.ctus .formcard {
  background: #fff;
  border-radius: 10px;
  padding: 40px;
  box-shadow: 0 8px 52px 0 rgba(209, 154, 99, 0.11);
}

.ctus .formcard h3 {
  font-size: 22px;
  line-height: 1.1;
  color: #1e1208;
  margin: 0 0 8px;
}

.ctus .formcard-sub {
  font-size: 14px;
  color: #7a6552;
  line-height: 1.55;
  margin: 0 0 20px;
}

.ctus .fgroup {
  margin-bottom: 16px;
}

.ctus .fgroup label {
  display: block;
  font-size: 14px;
  color: #3a2c1e;
  margin-bottom: 8px;
  line-height: 1.55;
  font-weight: 600;
}

.ctus .finput {
  width: 100%;
  padding: 12px 16px;
  border: 1.5px solid rgba(209, 154, 99, 0.3);
  border-radius: 10px;
  font-size: 15px;
  color: #1e1208;
  background: #FBF9F9;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.ctus .finput:focus {
  border-color: #D19A63;
  box-shadow: 0 0 0 3px rgba(209, 154, 99, 0.12), inset 0 1px 3px rgba(209, 154, 99, 0.08);
}

.ctus .finput::placeholder {
  font-size: 14px;
  color: #b0a090;
}

.ctus .fselect {
  width: 100%;
  padding: 12px 16px;
  border: 1.5px solid rgba(209, 154, 99, 0.3);
  border-radius: 10px;
  font-size: 15px;
  color: #1e1208;
  background: #FBF9F9;
  outline: none;
  box-sizing: border-box;
  appearance: none;
  cursor: pointer;
  transition: border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.ctus .fselect:focus {
  border-color: #D19A63;
  box-shadow: inset 0 1px 3px rgba(209, 154, 99, 0.08);
}

.ctus .fselect-wrap {
  position: relative;
}

.ctus .fselect-wrap i {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #D19A63;
  font-size: 18px;
  pointer-events: none;
}

.ctus .rating-label {
  display: block;
  font-size: 14px;
  color: #3a2c1e;
  margin-bottom: 8px;
  line-height: 1.55;
  font-weight: 600;
}

.ctus .rating-group {
  display: flex;
  flex-direction: row;
  gap: 4px;
  margin-bottom: 4px;
}

.ctus .rating-group input[type="radio"] {
  display: none;
}

.ctus .rating-group label {
  cursor: pointer;
  font-size: 22px;
  color: #d4c4b0;
  line-height: 1.1;
  transition: color 0.45s ease-in-out, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  margin: 0;
  padding: 4px;
  display: flex;
  align-items: center;
}

.ctus .rating-group label i {
  font-size: 22px;
}

.ctus .rating-group input[type="radio"]:checked~label {
  color: #d4c4b0;
}

.ctus .rating-group label:hover,
.ctus .rating-group label:hover~label {
  color: #d4c4b0;
}

.ctus .star1:has(~ .star1-r input:checked) i,
.ctus .star2:has(~ .star2-r input:checked) i,
.ctus .star3:has(~ .star3-r input:checked) i,
.ctus .star4:has(~ .star4-r input:checked) i,
.ctus .star5:has(~ .star5-r input:checked) i {
  color: #D19A63;
}

.ctus .ratingwrap {
  margin-bottom: 16px;
}

.ctus .starset {
  display: flex;
  flex-direction: row;
  gap: 4px;
  align-items: center;
}

.ctus .starset input[type="radio"] {
  display: none;
}

.ctus .starset label {
  cursor: pointer;
  color: #d4c4b0;
  transition: color 0.45s ease-in-out, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  margin: 0;
  padding: 4px;
  font-size: 22px;
  line-height: 1.1;
}

.ctus .starset label:hover {
  color: #D19A63;
  transform: scale(1.15);
}

.ctus .starset input[type="radio"]:checked+label {
  color: #D19A63;
}

.ctus .starset input#r5:checked~label,
.ctus .starset input#r4:checked~label,
.ctus .starset input#r3:checked~label,
.ctus .starset input#r2:checked~label,
.ctus .starset input#r1:checked~label {
  color: #D19A63;
}

.ctus .privacy-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 20px;
  padding: 16px;
  background: rgba(209, 154, 99, 0.06);
  border-radius: 10px;
  border: 1px solid rgba(209, 154, 99, 0.18);
}

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

.ctus .privacy-row input[type="checkbox"]:checked {
  box-shadow: inset 0 1px 3px rgba(209, 154, 99, 0.2);
}

.ctus .privacy-text {
  font-size: 14px;
  color: #5a4535;
  line-height: 1.55;
}

.ctus .privacy-text a {
  color: #D19A63;
  text-decoration: underline;
  transition: background 0.5s cubic-bezier(0.22, 1, 0.36, 1), color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  padding: 0 2px;
  border-radius: 2px;
}

.ctus .privacy-text a:hover {
  background: #D19A63;
  color: #fff;
  text-decoration: none;
}

.ctus .submitbtn {
  width: 100%;
  padding: 16px 20px;
  background: transparent;
  border: 2.5px solid #D19A63;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  color: #D19A63;
  cursor: pointer;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1), background 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.ctus .submitbtn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  border-radius: 8px;
}

.ctus .submitbtn:hover::before {
  opacity: 1;
}

.ctus .submitbtn:hover {
  color: #fff;
}

.ctus .submitbtn:active {
  box-shadow: inset 0 2px 6px rgba(209, 154, 99, 0.3);
}

.ctus .submitbtn-label {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.ctus .ratinghint {
  font-size: 14px;
  color: #9a8070;
  line-height: 1.55;
  margin-top: 4px;
}

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

  .ctus .imgcard {
    max-width: 100%;
  }

  .ctus .dotpath {
    flex-direction: row;
    justify-content: center;
  }

  .ctus .formsec-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media (max-width: 600px) {
  .ctus .tittext h1 {
    font-size: 30px;
  }

  .ctus .formcard {
    padding: 20px;
  }

  .ctus .formsec {
    padding: 40px 20px;
  }

  .ctus .titblk {
    padding: 20px 20px 40px;
  }
}

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

.abtus .pg-reveal {
  animation: revealUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes revealUp {
  from {
    opacity: 0;
    transform: scale(0.97);
  }

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

.abtus .divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(127deg, transparent 0%, #D19A63 40%, #DCA598 60%, transparent 100%);
  border: none;
  margin: 0;
}

.abtus ::selection {
  background: linear-gradient(127deg, #D19A63, #DCA598);
  color: #1a0a00;
}

.abtus *::selection {
  background: #D19A63;
  color: #fff;
}

/* ── BLOCK 1: Title block ── */
.abtus .titblk {
  max-width: 1140px;
  margin: 0 auto;
  padding: 80px 40px 80px;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  align-items: center;
  border-left: 3px solid #D19A63;
}

.abtus .titblk-left {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.abtus .titblk-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
}

.abtus .titblk-eyebrow span {
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #D19A63;
  font-weight: 600;
}

.abtus .titblk-eyebrow-line {
  width: 40px;
  height: 2px;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  border-radius: 2px;
}

.abtus .titblk-h1 {
  font-size: 42px;
  line-height: 1.1;
  color: #2a1a0e;
  margin: 0;
  position: relative;
  display: inline-block;
}

.abtus .titblk-h1::after {
  content: '';
  display: block;
  height: 3px;
  width: 0;
  background: linear-gradient(127deg, #D19A63, transparent);
  border-radius: 2px;
  margin-top: 8px;
  animation: lineGrow 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.4s forwards;
}

@keyframes lineGrow {
  to {
    width: 100%;
  }
}

.abtus .titblk-counter {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 4px;
}

.abtus .titblk-num {
  font-size: 56px;
  line-height: 1.1;
  color: #D19A63;
  font-weight: 700;
}

.abtus .titblk-numlabel {
  font-size: 15px;
  color: #6a4a2e;
  line-height: 1.55;
}

.abtus .titblk-desc {
  font-size: 18px;
  line-height: 1.55;
  color: #3a2a1a;
  margin: 0;
  max-width: 520px;
}

.abtus .titblk-imgcard {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 8px 52px 0 rgba(209, 154, 99, 0.11);
}

.abtus .titblk-imgcard img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}

.abtus .titblk-imgcard::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(127deg, transparent 60%, rgba(251, 249, 249, 0.55) 100%);
  border-radius: 10px;
  pointer-events: none;
}

.abtus .titblk-tag {
  position: absolute;
  top: 16px;
  right: 16px;
  background: #D19A63;
  color: #fff;
  font-size: 14px;
  padding: 4px 16px;
  border-radius: 2px;
  font-weight: 600;
  letter-spacing: 0.06em;
  z-index: 2;
}

@media (max-width: 900px) {
  .abtus .titblk {
    grid-template-columns: 1fr;
    padding: 40px 20px;
    border-left: none;
    border-top: 3px solid #D19A63;
  }

  .abtus .titblk-h1 {
    font-size: 30px;
  }

  .abtus .titblk-num {
    font-size: 42px;
  }
}

@media (max-width: 600px) {
  .abtus .titblk {
    padding: 40px 16px;
    gap: 20px;
  }

  .abtus .titblk-h1 {
    font-size: 30px;
  }
}

/* ── BLOCK 2: Matte background - story/values ── */
.abtus .storysec {
  background: #FBF9F9;
  border-top: 1px solid rgba(209, 154, 99, 0.18);
  border-bottom: 1px solid rgba(220, 165, 152, 0.18);
}

.abtus .storyinner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 80px 40px;
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 80px;
  align-items: start;
}

.abtus .storyimg-wrap {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 14px 0 rgba(220, 165, 152, 0.10);
}

.abtus .storyimg-wrap img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  border-radius: 10px;
  filter: blur(0px);
  transition: filter 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.abtus .storyimg-wrap:hover img {
  filter: blur(1.5px) brightness(1.04);
}

.abtus .storyimg-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(127deg, rgba(209, 154, 99, 0.08) 0%, transparent 70%);
  border-radius: 10px;
  pointer-events: none;
  z-index: 1;
}

.abtus .storyimg-tag {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: rgba(251, 249, 249, 0.92);
  border: 1px solid #D19A63;
  border-radius: 2px;
  font-size: 14px;
  color: #2a1a0e;
  padding: 4px 16px;
  z-index: 2;
  font-weight: 600;
}

.abtus .storytext {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.abtus .storytext-label {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #DCA598;
  font-weight: 600;
}

.abtus .storytext-h2 {
  font-size: 30px;
  line-height: 1.1;
  color: #2a1a0e;
  margin: 0;
  position: relative;
  display: inline-block;
}

.abtus .storytext-h2::after {
  content: '';
  display: block;
  height: 2px;
  width: 0;
  background: linear-gradient(127deg, #DCA598, transparent);
  border-radius: 2px;
  margin-top: 6px;
  transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.abtus .storytext:hover .storytext-h2::after {
  width: 100%;
}

.abtus .storyaccent {
  width: 48px;
  height: 3px;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  border-radius: 2px;
}

.abtus .storypara {
  font-size: 15px;
  line-height: 1.55;
  color: #3a2a1a;
  margin: 0;
  text-indent: -1em;
  padding-left: 1em;
}

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

.abtus .storylist li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 15px;
  line-height: 1.55;
  color: #3a2a1a;
}

.abtus .storylist li::before {
  content: '';
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #D19A63;
  border-radius: 2px;
  margin-top: 2px;
  background: linear-gradient(127deg, rgba(209, 154, 99, 0.18), transparent);
  display: block;
}

.abtus .storylist li.checked::before {
  background: #D19A63;
  box-shadow: inset 0 1px 3px rgba(209, 154, 99, 0.3);
}

@media (max-width: 900px) {
  .abtus .storyinner {
    grid-template-columns: 1fr;
    padding: 40px 20px;
    gap: 40px;
  }
}

@media (max-width: 600px) {
  .abtus .storyinner {
    padding: 40px 16px;
  }
}

/* ── BLOCK 3: Team / glossary - transparent bg ── */
.abtus .teamsec {
  background: transparent;
}

.abtus .teaminner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 80px 40px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.abtus .teamhdr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: end;
}

.abtus .teamhdr-left {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.abtus .teamhdr-label {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #D19A63;
  font-weight: 600;
}

.abtus .teamhdr-h2 {
  font-size: 30px;
  line-height: 1.1;
  color: #2a1a0e;
  margin: 0;
  position: relative;
  display: inline-block;
}

.abtus .teamhdr-h2::after {
  content: '';
  display: block;
  height: 2px;
  width: 0;
  background: linear-gradient(127deg, #D19A63, transparent);
  border-radius: 2px;
  margin-top: 6px;
  transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.abtus .teamhdr-left:hover .teamhdr-h2::after {
  width: 100%;
}

.abtus .teamhdr-right {
  font-size: 15px;
  line-height: 1.55;
  color: #3a2a1a;
}

.abtus .teamgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.abtus .teamcard {
  border-radius: 10px;
  border: 1px solid rgba(209, 154, 99, 0.22);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: #fff;
  box-shadow: 0 2px 5px 0 rgba(209, 154, 99, 0.06);
  transition: box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  perspective: 800px;
}

.abtus .teamcard:hover {
  box-shadow: 0 8px 52px 0 rgba(209, 154, 99, 0.11);
  transform: rotateY(2deg) rotateX(-1deg) scale(1.01);
}

.abtus .teamcard-img {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

.abtus .teamcard-img img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}

.abtus .teamcard-tag {
  position: absolute;
  top: 8px;
  right: 8px;
  background: #D19A63;
  color: #fff;
  font-size: 14px;
  padding: 4px 8px;
  border-radius: 2px;
  font-weight: 600;
}

.abtus .teamcard-name {
  font-size: 18px;
  line-height: 1.1;
  color: #2a1a0e;
  margin: 0;
  font-weight: 700;
}

.abtus .teamcard-role {
  font-size: 14px;
  color: #D19A63;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.abtus .teamcard-bio {
  font-size: 14px;
  line-height: 1.55;
  color: #5a3a1a;
  margin: 0;
}

.abtus .glosssec {
  border-top: 1px solid rgba(209, 154, 99, 0.18);
  padding-top: 40px;
}

.abtus .glosshdr {
  font-size: 22px;
  line-height: 1.1;
  color: #2a1a0e;
  margin: 0 0 20px;
}

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

.abtus .glossitem {
  border-left: 3px solid #DCA598;
  border-bottom: 1px solid rgba(220, 165, 152, 0.2);
  padding: 8px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.abtus .glossterm {
  font-size: 15px;
  font-weight: 700;
  color: #2a1a0e;
}

.abtus .glossdef {
  font-size: 14px;
  line-height: 1.55;
  color: #5a3a1a;
  margin: 0;
}

@media (max-width: 900px) {
  .abtus .teaminner {
    padding: 40px 20px;
  }

  .abtus .teamhdr {
    grid-template-columns: 1fr;
  }

  .abtus .teamgrid {
    grid-template-columns: 1fr 1fr;
  }

  .abtus .glosslist {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .abtus .teaminner {
    padding: 40px 16px;
  }

  .abtus .teamgrid {
    grid-template-columns: 1fr;
  }
}

/* ── BLOCK 4: Contact / metrics - matte bg ── */
.abtus .metasec {
  background: #FBF9F9;
  border-top: 1px solid rgba(209, 154, 99, 0.18);
}

.abtus .metainner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 80px 40px;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 80px;
  align-items: start;
}

.abtus .metaleft {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.abtus .metaleft-label {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #DCA598;
  font-weight: 600;
}

.abtus .metaleft-h2 {
  font-size: 30px;
  line-height: 1.1;
  color: #2a1a0e;
  margin: 0;
  position: relative;
  display: inline-block;
}

.abtus .metaleft-h2::after {
  content: '';
  display: block;
  height: 2px;
  width: 0;
  background: linear-gradient(127deg, #D19A63, transparent);
  border-radius: 2px;
  margin-top: 6px;
  transition: width 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.abtus .metaleft:hover .metaleft-h2::after {
  width: 100%;
}

.abtus .metricsgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.abtus .metricitem {
  padding: 20px;
  border-radius: 10px;
  border: 1px solid rgba(209, 154, 99, 0.22);
  background: #fff;
  box-shadow: 0 2px 5px 0 rgba(209, 154, 99, 0.06);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  perspective: 600px;
}

.abtus .metricitem:hover {
  box-shadow: 0 6px 14px 0 rgba(209, 154, 99, 0.10);
  transform: rotateX(-2deg) scale(1.02);
}

.abtus .metricnum {
  font-size: 42px;
  line-height: 1.1;
  color: #D19A63;
  font-weight: 700;
}

.abtus .metriclabel {
  font-size: 14px;
  line-height: 1.55;
  color: #5a3a1a;
}

.abtus .metaright {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.abtus .metaright-img {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 14px 0 rgba(220, 165, 152, 0.10);
}

.abtus .metaright-img img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}

.abtus .metaright-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(127deg, rgba(209, 154, 99, 0.08) 0%, transparent 60%);
  border-radius: 10px;
  pointer-events: none;
}

.abtus .metaright-tag {
  position: absolute;
  bottom: 16px;
  right: 16px;
  background: rgba(251, 249, 249, 0.92);
  border: 1px solid #DCA598;
  border-radius: 2px;
  font-size: 14px;
  color: #2a1a0e;
  padding: 4px 16px;
  z-index: 2;
  font-weight: 600;
}

.abtus .contactcard {
  border-radius: 10px;
  border: 1px solid rgba(220, 165, 152, 0.3);
  padding: 20px;
  background: #fff;
  box-shadow: 0 2px 5px 0 rgba(220, 165, 152, 0.06);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.abtus .contactcard-h4 {
  font-size: 18px;
  line-height: 1.1;
  color: #2a1a0e;
  margin: 0;
}

.abtus .contactrow {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 15px;
  line-height: 1.55;
  color: #3a2a1a;
}

.abtus .contactrow i {
  color: #D19A63;
  font-size: 18px;
  flex-shrink: 0;
  margin-top: 2px;
}

.abtus .contactrow a {
  color: #3a2a1a;
  text-decoration: none;
  border-bottom: 1px solid rgba(209, 154, 99, 0.3);
  transition: color 0.45s cubic-bezier(0.22, 1, 0.36, 1), background 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  padding: 0 2px;
}

.abtus .contactrow a:hover {
  color: #fff;
  background: #D19A63;
}

@media (max-width: 900px) {
  .abtus .metainner {
    grid-template-columns: 1fr;
    padding: 40px 20px;
    gap: 40px;
  }

  .abtus .metricsgrid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .abtus .metainner {
    padding: 40px 16px;
  }

  .abtus .metricsgrid {
    grid-template-columns: 1fr;
  }
}

/* Spiral decorative */
.abtus .spiral {
  position: absolute;
  pointer-events: none;
  opacity: 0.07;
  z-index: 0;
}

.abtus .titblk-wrap {
  position: relative;
  overflow: hidden;
}

.abtus .spiral svg {
  display: block;
}

.successPage {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  background: #FBF9F9;
}

.successPage .successWrap {
  max-width: 560px;
  width: 100%;
  background: #fff;
  border: 2px solid #D19A63;
  border-radius: 10px;
  padding: 80px 40px;
  text-align: center;
  box-shadow: 0 8px 52px 0 rgba(209, 154, 99, 0.11);
}

.successPage .iconRing {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 2px solid #D19A63;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 40px;
  background: #FBF9F9;
}

.successPage .iconRing svg {
  display: block;
}

.successPage .successTitle {
  font-size: 30px;
  line-height: 1.1;
  color: #2a1f14;
  margin: 0 0 16px;
  letter-spacing: 0;
}

.successPage .successAccent {
  width: 40px;
  height: 3px;
  background: linear-gradient(127deg, #D19A63, transparent);
  margin: 0 auto 20px;
  border-radius: 2px;
}

.successPage .successText {
  font-size: 15px;
  line-height: 1.55;
  color: #4a3728;
  margin: 0 0 40px;
}

.successPage .successBack {
  display: inline-block;
  font-size: 15px;
  line-height: 1.55;
  color: #2a1f14;
  text-decoration: none;
  border: 2px solid #D19A63;
  border-radius: 2px;
  padding: 16px 40px;
  background: transparent;
  transition: background 0.5s cubic-bezier(0.22, 1, 0.36, 1), color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden;
}

.successPage .successBack:hover {
  background: #D19A63;
  color: #fff;
}

.successPage .successBack:focus {
  outline: 2px solid #D19A63;
  outline-offset: 4px;
}

.successPage .successMeta {
  margin-top: 40px;
  font-size: 14px;
  line-height: 1.55;
  color: #7a6555;
}

.successPage .successMeta a {
  color: #D19A63;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.45s ease-in-out;
}

.successPage .successMeta a:hover {
  color: #2a1f14;
}

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

  .successPage .successWrap {
    padding: 40px 20px;
  }

  .successPage .successTitle {
    font-size: 22px;
  }
}

.notFound {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  background: #FBF9F9;
  text-align: center;
}

.notFound .codeBlock {
  position: relative;
  margin-bottom: 40px;
}

.notFound .codeBlock .numDisplay {
  font-size: 56px;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -2px;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.notFound .codeBlock .accentLine {
  display: block;
  width: 48px;
  height: 3px;
  background: linear-gradient(127deg, #D19A63, transparent);
  margin: 16px auto 0;
  border-radius: 2px;
}

.notFound .msgBlock {
  max-width: 480px;
  margin-bottom: 40px;
}

.notFound .msgBlock .pageTitle {
  font-size: 22px;
  line-height: 1.55;
  color: #2b2b2b;
  margin-bottom: 16px;
}

.notFound .msgBlock .pageDesc {
  font-size: 15px;
  line-height: 1.55;
  color: #4a4a4a;
}

.notFound .actionRow {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}

.notFound .actionRow .btnPrimary {
  display: inline-block;
  padding: 16px 40px;
  font-size: 15px;
  line-height: 1.1;
  color: #2b2b2b;
  background: transparent;
  border: 2px solid #D19A63;
  border-radius: 2px;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 5px 0 rgba(209, 154, 99, 0.06);
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.6s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.notFound .actionRow .btnPrimary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(127deg, #D19A63, #DCA598);
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}

.notFound .actionRow .btnPrimary:hover::before {
  opacity: 1;
}

.notFound .actionRow .btnPrimary:hover {
  color: #fff;
  box-shadow: 0 6px 14px 0 rgba(209, 154, 99, 0.10);
  transform: perspective(600px) rotateX(2deg) rotateY(-2deg);
}

.notFound .actionRow .btnPrimary:active {
  box-shadow: inset 0 2px 5px 0 rgba(209, 154, 99, 0.18);
}

.notFound .actionRow .btnPrimary span {
  position: relative;
  z-index: 1;
}

.notFound .actionRow .btnSecondary {
  display: inline-block;
  padding: 16px 40px;
  font-size: 15px;
  line-height: 1.1;
  color: #D19A63;
  background: transparent;
  border: 2px solid #DCA598;
  border-radius: 2px;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.55s ease-in-out, border-color 0.55s ease-in-out, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.notFound .actionRow .btnSecondary:hover {
  color: #2b2b2b;
  border-color: #D19A63;
  transform: perspective(600px) rotateX(-2deg) rotateY(2deg);
}

.notFound .actionRow .btnSecondary:active {
  box-shadow: inset 0 2px 5px 0 rgba(220, 165, 152, 0.18);
}

.notFound .navHints {
  margin-top: 40px;
  display: flex;
  flex-direction: row;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}

.notFound .navHints .hintLink {
  font-size: 14px;
  line-height: 1.55;
  color: #6a5a4e;
  text-decoration: none;
  border-bottom: 1px solid #DCA598;
  padding-bottom: 4px;
  transition: color 0.45s ease-in-out, border-color 0.5s ease-in-out;
}

.notFound .navHints .hintLink:hover {
  color: #D19A63;
  border-color: #D19A63;
}

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

  .notFound .codeBlock .numDisplay {
    font-size: 42px;
  }

  .notFound .actionRow {
    flex-direction: column;
    align-items: center;
  }

  .notFound .actionRow .btnPrimary,
  .notFound .actionRow .btnSecondary {
    width: 100%;
    text-align: center;
  }
}