/* Final pre-launch polish — homepage only. Footer intentionally excluded. */

:root {
  --launch-gold: #d99a2b;
  --launch-navy: #102d43;
  --launch-muted: #647889;
}

/* Header */
.compact-reference-header,
.compact-reference-header .wrap,
.compact-reference-header a {
  transition-duration: 360ms !important;
  transition-timing-function: cubic-bezier(.22, .61, .36, 1) !important;
}

.compact-reference-header .wrap { align-items: center !important; }
.compact-reference-header .new-header-contact {
  gap: clamp(12px, 1.15vw, 20px) !important;
  align-items: center !important;
}

.compact-reference-header .new-brand-mark {
  transform: scale(1.06);
  transform-origin: center;
}

.compact-reference-header .new-main-nav > a:hover,
.compact-reference-header .new-header-contact > a:hover {
  color: var(--launch-gold) !important;
  transform: translateY(-1px);
}

/* Hero */
.hero.minimal-luxury-hero {
  min-height: clamp(540px, calc(76vh - 70px), 670px) !important;
  height: auto !important;
  padding-block: clamp(76px, 8vw, 114px) clamp(6px, calc(7vw - 70px), 32px) !important;
  background-position: center 38% !important;
}

.hero.minimal-luxury-hero .new-hero-content {
  top: -72px;
  max-width: 720px !important;
}

.hero.minimal-luxury-hero .new-hero-kicker::before,
.hero.minimal-luxury-hero .new-hero-kicker::after {
  width: 16px !important;
  flex-basis: 16px !important;
}

.hero.minimal-luxury-hero .new-hero-content::before {
  background: radial-gradient(ellipse at 66% 48%, rgba(255,255,255,.22) 0%, rgba(255,255,255,.10) 43%, transparent 74%) !important;
}

.hero.minimal-luxury-hero h1 {
  max-width: 690px !important;
  font-size: 60px !important;
  line-height: 1.08 !important;
  margin-bottom: 0 !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  text-shadow: 0 1px 2px rgba(16,45,67,.08) !important;
}

.hero.minimal-luxury-hero .new-hero-kicker {
  margin-bottom: 25px !important;
}

.hero.minimal-luxury-hero .new-hero-lead {
  max-width: 760px !important;
  margin-top: 17px !important;
  font-size: 20.5px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

@media (min-width: 701px) {
  .hero.minimal-luxury-hero .new-hero-lead > span {
    display: block !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 900px) {
  .hero.minimal-luxury-hero .new-hero-actions {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
}

.hero.minimal-luxury-hero .new-hero-actions {
  gap: 22px !important;
  margin-top: 30px !important;
}

.hero.minimal-luxury-hero .new-hero-actions .btn {
  height: 57px !important;
  min-height: 57px !important;
  padding-block: 0 !important;
  border-radius: 20px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  transition: transform 220ms ease, box-shadow 220ms ease !important;
}

.hero.minimal-luxury-hero .new-hero-actions .btn:hover,
.hero.minimal-luxury-hero .new-hero-actions .btn:focus-visible {
  transform: translateY(-2px) !important;
  filter: none !important;
}

.hero.minimal-luxury-hero .new-hero-primary:hover,
.hero.minimal-luxury-hero .new-hero-primary:focus-visible {
  box-shadow: 0 16px 32px rgba(164,112,31,.28) !important;
}

.hero.minimal-luxury-hero .new-hero-secondary:hover,
.hero.minimal-luxury-hero .new-hero-secondary:focus-visible {
  box-shadow: 0 14px 28px rgba(16,45,67,.14) !important;
}

@media (min-width: 701px) {
  .hero.minimal-luxury-hero .new-hero-primary {
    width: 242px !important;
    min-width: 242px !important;
  }
  .hero.minimal-luxury-hero .new-hero-secondary {
    width: 221px !important;
    min-width: 221px !important;
  }
}

.hero.minimal-luxury-hero .hero-reassurance {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 0;
  width: min(100%, 600px);
  margin: 28px auto 0 !important;
  padding: 0;
  list-style: none;
  color: var(--launch-navy);
  letter-spacing: 0;
}

.hero.minimal-luxury-hero .hero-reassurance li {
  position: relative;
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 0;
  padding-inline: 20px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}

.hero.minimal-luxury-hero .hero-reassurance li:not(:last-child)::after {
  position: absolute;
  inset-inline-end: 0;
  top: 14%;
  width: 1px;
  height: 72%;
  background: rgba(185, 127, 27, .48);
  content: "";
}

.hero.minimal-luxury-hero .hero-benefit-icon {
  display: inline-flex;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(185, 127, 27, .18);
  border-radius: 50%;
  background: rgba(255, 255, 255, .62);
}

.hero.minimal-luxury-hero .hero-benefit-icon svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: #bd8122;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 700px) {
  .hero.minimal-luxury-hero .hero-reassurance {
    width: 100%;
    margin-top: 28px !important;
  }

  .hero.minimal-luxury-hero .hero-reassurance li {
    flex-direction: column;
    gap: 7px;
    padding-inline: 8px;
    font-size: 13px;
    white-space: normal;
  }

  .hero.minimal-luxury-hero .hero-benefit-icon {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
  }

  .hero.minimal-luxury-hero .hero-benefit-icon svg {
    width: 27px;
    height: 27px;
  }
}

/* Process journey — editorial timeline inspired by the approved reference. */
#process.process-journey {
  position: relative !important;
  padding: 82px 0 76px !important;
  overflow: hidden !important;
  color: #172f47 !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(215, 166, 75, .08), transparent 31rem),
    linear-gradient(180deg, #fffdf9 0%, #fbf7ef 100%) !important;
}

#process.process-journey::before {
  content: "" !important;
  position: absolute !important;
  top: -90px !important;
  left: -55px !important;
  display: block !important;
  width: 290px !important;
  height: 290px !important;
  opacity: .18 !important;
  pointer-events: none !important;
  background:
    radial-gradient(ellipse at 30% 80%, transparent 62%, rgba(197, 139, 43, .65) 63% 64%, transparent 65%) 0 0 / 92px 150px,
    radial-gradient(ellipse at 68% 38%, transparent 62%, rgba(197, 139, 43, .5) 63% 64%, transparent 65%) 45px 20px / 110px 170px !important;
  transform: rotate(-22deg) !important;
}

#process.process-journey::after {
  content: "" !important;
  position: absolute !important;
  right: -70px !important;
  bottom: -125px !important;
  left: auto !important;
  display: block !important;
  width: 310px !important;
  height: 310px !important;
  opacity: .15 !important;
  pointer-events: none !important;
  border: 0 !important;
  background:
    radial-gradient(ellipse at 30% 80%, transparent 62%, rgba(197, 139, 43, .65) 63% 64%, transparent 65%) 0 0 / 92px 150px,
    radial-gradient(ellipse at 68% 38%, transparent 62%, rgba(197, 139, 43, .5) 63% 64%, transparent 65%) 45px 20px / 110px 170px !important;
  filter: none !important;
  transform: rotate(158deg) !important;
}

#process.process-journey > .wrap {
  position: relative !important;
  z-index: 1 !important;
  width: min(1480px, calc(100% - 64px)) !important;
}

#process .process-heading {
  max-width: 980px !important;
  margin: 0 auto 58px !important;
  text-align: center !important;
}

#process .process-heading .eyebrow {
  position: relative !important;
  display: inline-flex !important;
  min-height: 0 !important;
  align-items: center !important;
  margin: 0 0 18px !important;
  padding: 0 72px !important;
  color: #b7791f !important;
  background: transparent !important;
  font-size: 17px !important;
  letter-spacing: .08em !important;
}

#process .process-heading .eyebrow::before,
#process .process-heading .eyebrow::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 54px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(190, 129, 31, .85));
}

#process .process-heading .eyebrow::before { right: 0; }
#process .process-heading .eyebrow::after { left: 0; transform: scaleX(-1); }

#process .process-heading h2 {
  max-width: 980px !important;
  margin: 0 auto !important;
  color: #102d49 !important;
  font-size: clamp(52px, 4.4vw, 72px) !important;
  line-height: 1.12 !important;
  text-align: center !important;
  text-shadow: 0 3px 12px rgba(17, 43, 66, .08) !important;
}

#process .process-heading h2::after {
  width: 150px !important;
  height: 14px !important;
  margin: 22px auto 0 !important;
  opacity: .82 !important;
}

#process .process-intro {
  max-width: 950px !important;
  margin: 20px auto 0 !important;
  color: #405466 !important;
  font-size: 21px !important;
  line-height: 1.65 !important;
  text-align: center !important;
}

#process .process-steps {
  position: relative !important;
  direction: rtl !important;
  display: grid !important;
  width: min(100%, 1420px) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  isolation: isolate !important;
}

#process .process-steps::before {
  content: "" !important;
  position: absolute !important;
  top: 51px !important;
  right: 4% !important;
  left: 4% !important;
  z-index: -1 !important;
  display: block !important;
  width: auto !important;
  height: 1px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, transparent, #c78f32 8%, #c78f32 92%, transparent) !important;
  transform: none !important;
}

#process .process-route { display: none !important; }

#process .process-step,
#process .process-step:nth-of-type(n) {
  position: relative !important;
  top: 0 !important;
  display: flex !important;
  min-height: 500px !important;
  align-items: center !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 166px 28px 36px !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center !important;
}

#process .process-step::after {
  content: "" !important;
  position: absolute !important;
  inset: 132px 0 0 !important;
  z-index: -1 !important;
  display: block !important;
  border: 1px solid rgba(190, 134, 42, .34) !important;
  border-radius: 8px !important;
  background: rgba(255, 253, 248, .82) !important;
  box-shadow: 0 18px 36px rgba(64, 47, 24, .07) !important;
  clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 14px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px) !important;
}

#process .process-step::before {
  content: "" !important;
  position: absolute !important;
  top: 102px !important;
  right: 50% !important;
  z-index: 2 !important;
  display: block !important;
  width: 1px !important;
  height: 31px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #c58b2d !important;
  box-shadow: 0 29px 0 3px #c58b2d !important;
  transform: translateX(50%) !important;
}

#process .process-step-number {
  position: absolute !important;
  top: 0 !important;
  right: 50% !important;
  z-index: 3 !important;
  display: grid !important;
  width: 104px !important;
  height: 104px !important;
  place-items: center !important;
  margin: 0 !important;
  border: 2px solid #bd7e1e !important;
  border-radius: 50% !important;
  color: #c68d32 !important;
  background: #fffdf8 !important;
  box-shadow: 0 8px 22px rgba(155, 104, 28, .1) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 43px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  transform: translateX(50%) !important;
}

#process .process-step-icon {
  position: relative !important;
  z-index: 1 !important;
  order: 1 !important;
  display: grid !important;
  width: 76px !important;
  height: 76px !important;
  flex: 0 0 76px !important;
  place-items: center !important;
  margin: 0 0 20px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #ba7f26 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#process .process-step-icon svg {
  width: 66px !important;
  height: 66px !important;
  stroke-width: 1.45 !important;
}

#process .process-step h3 {
  position: relative !important;
  z-index: 1 !important;
  order: 2 !important;
  margin: 0 0 17px !important;
  color: #122f4b !important;
  font-size: clamp(25px, 2vw, 31px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

#process .process-step h3::after {
  content: "◇";
  display: block;
  margin: 13px auto 0;
  color: #bd8124;
  font-size: 17px;
  font-weight: 400;
  line-height: 1;
}

#process .process-step-subtitle {
  position: relative !important;
  z-index: 1 !important;
  order: 3 !important;
  margin: 0 0 8px !important;
  color: #b3761d !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

#process .process-step-description {
  position: relative !important;
  z-index: 1 !important;
  order: 4 !important;
  max-width: 270px !important;
  margin: 0 auto !important;
  color: #44586a !important;
  font-size: 18px !important;
  line-height: 1.68 !important;
}

#process .process-step:hover,
#process .process-step:focus-within,
#process.process-motion-ready.is-visible .process-step:hover,
#process.process-motion-ready.is-visible .process-step:focus-within {
  transform: translateY(-4px) !important;
}

#process .process-step:hover::after,
#process .process-step:focus-within::after {
  border-color: rgba(190, 134, 42, .58) !important;
  box-shadow: 0 22px 44px rgba(64, 47, 24, .11) !important;
}

#process .process-cta {
  position: relative !important;
  display: flex !important;
  width: min(930px, 100%) !important;
  min-height: 104px !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 14px 24px !important;
  margin: 58px auto 0 !important;
  padding: 27px 42px 24px !important;
  border: 1px solid rgba(190, 134, 42, .48) !important;
  border-radius: 14px !important;
  background: rgba(255, 253, 248, .88) !important;
  box-shadow: 0 12px 30px rgba(70, 50, 24, .06) !important;
}

#process .process-cta::before {
  content: "“";
  position: absolute;
  top: -29px;
  right: 50%;
  color: #c48a2d;
  background: #fbf7ef;
  padding: 0 12px;
  font-family: Georgia, serif;
  font-size: 62px;
  line-height: 1;
  transform: translateX(50%);
}

#process .process-cta p {
  margin: 0 !important;
  color: #223c53 !important;
  font-size: 19px !important;
  line-height: 1.6 !important;
}

#process .process-cta .btn {
  min-height: 48px !important;
  padding: 10px 24px !important;
  border-radius: 10px !important;
}

@media (max-width: 1100px) {
  #process.process-journey { padding: 68px 0 64px !important; }
  #process.process-journey > .wrap { width: min(940px, calc(100% - 44px)) !important; }
  #process .process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 34px 26px !important; }
  #process .process-steps::before { display: none !important; }
  #process .process-step { min-height: 470px !important; }
}

@media (max-width: 700px) {
  #process.process-journey { padding: 54px 0 50px !important; }
  #process.process-journey > .wrap { width: min(520px, calc(100% - 30px)) !important; }
  #process .process-heading { margin-bottom: 42px !important; }
  #process .process-heading h2 { font-size: clamp(37px, 11vw, 48px) !important; }
  #process .process-heading h2 br { display: none; }
  #process .process-intro { font-size: 18px !important; }
  #process .process-steps { grid-template-columns: 1fr !important; gap: 28px !important; }
  #process .process-step { min-height: 440px !important; padding-inline: 24px !important; }
  #process .process-step-number { width: 94px !important; height: 94px !important; font-size: 39px !important; }
  #process .process-step::before { top: 92px !important; height: 40px !important; }
  #process .process-step::after { top: 122px !important; }
  #process .process-step-icon { margin-top: -8px !important; }
  #process .process-cta { margin-top: 48px !important; padding: 30px 22px 24px !important; }
}
.hero.minimal-luxury-hero::before { animation: launchHeroZoom 28s ease-in-out infinite alternate !important; }

@keyframes launchHeroZoom {
  from { transform: scale(1); }
  to { transform: scale(1.012); }
}

/* Shared heading rhythm; existing content and hierarchy are preserved. */
.strengths-heading,
.consulting-heading,
.process-heading,
.knowledge-heading,
.courses-coming-content {
  max-width: 900px;
  margin-inline: auto;
  text-align: center;
}

.strengths-heading h2,
.consulting-heading h2,
.process-heading h2,
.knowledge-heading h2 {
  margin-bottom: 0 !important;
}

.strengths-heading h2::after,
.consulting-heading h2::after,
.process-heading h2::after,
.knowledge-heading h2::after {
  content: "";
  display: block !important;
  width: 52px;
  height: 3px;
  margin: 16px auto 0;
  background: linear-gradient(90deg, transparent, var(--launch-gold), transparent);
  opacity: .82;
}

.strengths-heading h2::after {
  width: 116px;
  height: 14px;
  margin: 16px auto 0;
  background:
    linear-gradient(90deg, transparent 0%, rgba(210,162,78,.82) 100%) left center / 43px 1px no-repeat,
    linear-gradient(90deg, rgba(210,162,78,.82) 0%, transparent 100%) right center / 43px 1px no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='m5 .5 4.5 4.5L5 9.5.5 5Z' fill='none' stroke='%23cf9840'/%3E%3C/svg%3E") center / 10px 10px no-repeat;
}

.strengths-heading p,
.consulting-heading p,
.process-heading p,
.knowledge-heading p { margin-top: 18px !important; }

/* Four principles */
.strengths-heading { margin-bottom: 27px !important; }
.strengths-grid { align-items: stretch; }
.strength-card {
  min-height: 380px !important;
  height: 100%;
  padding: 38px 30px 34px !important;
  box-shadow: 0 10px 26px rgba(16,45,67,.055) !important;
  transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease !important;
}

.strength-icon,
.strength-icon img {
  width: 106px !important;
  height: 106px !important;
  object-fit: contain;
}

.strength-icon { flex-basis: 106px !important; }

.strength-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 32px rgba(16,45,67,.08) !important;
  border-color: rgba(217,154,43,.52) !important;
}

/* Consulting areas */
#services.services-showcase.consulting-areas {
  position: relative !important;
  border-top: 0 !important;
  box-shadow: none !important;
}

#services.services-showcase.consulting-areas .consulting-section-divider {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 3;
  display: block;
  height: 2px;
  pointer-events: none;
  background: rgba(218, 164, 55, .95);
  box-shadow: 0 1px 5px rgba(218, 164, 55, .38);
}

#services.services-showcase.consulting-areas::after {
  content: "" !important;
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block !important;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    135deg,
    transparent 0,
    transparent 52px,
    rgba(5, 20, 31, .16) 52px,
    rgba(5, 20, 31, .16) 53px,
    transparent 53px,
    transparent 106px
  ) !important;
  background-size: auto !important;
  background-position: center !important;
  opacity: .52 !important;
}

#services.services-showcase.consulting-areas > .wrap {
  position: relative;
  z-index: 1;
}

.consulting-grid { align-items: stretch !important; grid-auto-rows: 1fr; }
.consulting-card {
  min-height: 320px !important;
  height: 100%;
  padding: 34px 28px 28px !important;
  border-radius: 18px !important;
  display: flex !important;
  flex-direction: column;
}

.consulting-card .consulting-icon,
.consulting-card .consulting-icon img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain;
}

.consulting-card h3 {
  min-height: 2.5em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.consulting-card p {
  min-height: 3.3em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.consulting-card a { margin-top: auto; }

/* Process: one tighter visual unit */
.process-journey {
  height: auto !important;
  min-height: 0 !important;
  padding-block: 38px 28px !important;
}

.process-journey .process-heading { margin-bottom: 28px !important; }
.process-journey .process-heading h2 { font-size: clamp(40px, 3.15vw, 50px) !important; }
.process-journey .process-intro {
  margin-top: 18px !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
}

.process-journey .process-steps { max-width: 1120px !important; }
.process-journey .process-route { height: 180px !important; }
.process-journey .process-route-base { stroke-width: 5px !important; }
.process-journey .process-route-progress { stroke-width: 3px !important; }
.process-journey .process-step::before { top: 138px !important; }
.process-journey .process-step:nth-of-type(n)::before { top: 138px !important; }
.process-journey .process-step-icon {
  width: 72px !important;
  height: 72px !important;
  flex-basis: 72px !important;
}
.process-journey .process-step-icon svg { width: 36px !important; height: 36px !important; }
.process-journey .process-step-number { font-size: 14px !important; }
.process-journey .process-step { min-height: 240px !important; }
.process-journey .process-step h3 {
  margin-top: 52px !important;
  font-size: clamp(25px, 2vw, 28px) !important;
}
.process-journey .process-step-subtitle,
.process-journey .process-step-description { font-size: 16px !important; }
.process-journey .process-step-description { line-height: 1.58 !important; }
.process-journey .process-cta {
  margin-top: 32px !important;
  gap: 10px !important;
}
.process-journey .process-cta p { font-size: 16px !important; }
.process-journey .process-cta .btn {
  min-height: 52px !important;
  padding-inline: 30px !important;
}

/* Audience: compact desktop rhythm and a continuous navy handoff. */
#audience.audience-section {
  height: auto !important;
  min-height: 0 !important;
  padding-block: clamp(56px, 5vw, 68px) 88px !important;
}

#audience .audience-layout {
  gap: 18px clamp(46px, 4.5vw, 72px) !important;
  align-items: center !important;
}

#audience .audience-intro {
  padding: 20px 22px 14px !important;
}

#audience .audience-kicker {
  margin-bottom: 11px !important;
  font-size: 18px !important;
}

#audience .audience-kicker::before { margin-bottom: 10px !important; }
#audience .audience-intro h2 {
  font-size: clamp(44px, 3.65vw, 52px) !important;
  line-height: 1.13 !important;
}

#audience .audience-ornament {
  margin-block: 17px 15px !important;
}

#audience .audience-lead {
  max-width: 540px !important;
  font-size: 19px !important;
  line-height: 1.58 !important;
}

#audience .audience-list {
  gap: 8px !important;
}

#audience .audience-item {
  grid-template-columns: 52px minmax(0, 1fr) !important;
  gap: 14px !important;
  padding-block: 4px !important;
}

#audience .audience-item-icon {
  width: 52px !important;
  height: 52px !important;
}

#audience .audience-item-icon svg {
  width: 28px !important;
  height: 28px !important;
}

#audience .audience-item h3 {
  margin-bottom: 2px !important;
  font-size: 21px !important;
  line-height: 1.22 !important;
}

#audience .audience-item p,
#audience .audience-note {
  font-size: 17px !important;
  line-height: 1.48 !important;
}

#audience .audience-note { padding-inline-start: 13px !important; }
#audience .audience-cta {
  min-height: 50px !important;
  padding: 9px 28px !important;
  font-size: 17px !important;
}

#audience .audience-divider-bottom {
  bottom: -1px !important;
  height: 50px !important;
  background: #102a43 !important;
}

#audience .audience-divider-bottom .audience-blue-wave {
  fill: #102a43 !important;
}

@media (max-width: 1050px) {
  #audience.audience-section { padding-block: 58px 72px !important; }
  #audience .audience-layout { gap: 18px 34px !important; }
  #audience .audience-intro h2 { font-size: clamp(38px, 4.8vw, 46px) !important; }
  #audience .audience-item h3 { font-size: 20px !important; }
  #audience .audience-divider-bottom { height: 46px !important; }
}

@media (max-width: 820px) {
  #audience.audience-section { padding-block: 54px 62px !important; }
  #audience .audience-divider-bottom { height: 42px !important; }
}

@media (max-width: 560px) {
  #audience.audience-section { padding-block: 48px 56px !important; }
  #audience .audience-intro { padding: 14px 10px 10px !important; }
  #audience .audience-intro h2 { font-size: clamp(32px, 10vw, 38px) !important; }
  #audience .audience-lead { font-size: 17px !important; }
  #audience .audience-list { gap: 10px !important; }
  #audience .audience-item { grid-template-columns: 46px minmax(0, 1fr) !important; gap: 11px !important; }
  #audience .audience-item-icon { width: 46px !important; height: 46px !important; }
  #audience .audience-item h3 { font-size: 19px !important; }
  #audience .audience-divider-bottom { height: 38px !important; }
}

/* Knowledge hub */
.knowledge-featured { min-height: 510px !important; }
.knowledge-secondary { min-height: 148px !important; }
.knowledge-featured-media img,
.knowledge-secondary-media img { width: 100%; height: 100%; object-fit: cover; }
.knowledge-secondary-media { aspect-ratio: 1 / 1; }

.knowledge-featured,
.knowledge-secondary {
  transition: transform 280ms ease, box-shadow 280ms ease, border-color 280ms ease !important;
}
.knowledge-featured:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 22px 46px rgba(16,45,67,.15) !important;
}
.knowledge-secondary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px rgba(16,45,67,.11) !important;
}
.knowledge-all {
  background: linear-gradient(180deg, #e2ae51, #d99a2b) !important;
  border-color: #c88a24 !important;
  box-shadow: 0 8px 18px rgba(183,125,40,.18) !important;
}

/* Courses: restored clean, light background without grid/texture. */
.courses-coming-section {
  background:
    radial-gradient(circle at 50% 28%, rgba(217,172,90,.065), transparent 24rem),
    linear-gradient(180deg, #fbf8f1 0%, #f8f4ec 52%, #fbf8f2 100%) !important;
}
#courses-coming-title { text-shadow: 0 8px 30px rgba(217,154,43,.08); }

/* Contact form */
.contact-modern input,
.contact-modern select {
  height: 54px !important;
  min-height: 54px !important;
}
.contact-modern textarea { min-height: 120px !important; }
.contact-modern input,
.contact-modern select,
.contact-modern textarea {
  transition: border-color 220ms ease, background-color 220ms ease, box-shadow 220ms ease !important;
}
.contact-modern input:hover,
.contact-modern select:hover,
.contact-modern textarea:hover {
  border-color: rgba(217,154,43,.58) !important;
}
.contact-modern input:focus,
.contact-modern select:focus,
.contact-modern textarea:focus {
  border-color: var(--launch-gold) !important;
  box-shadow: 0 0 0 3px rgba(217,154,43,.14) !important;
  outline: none;
}
.contact-modern ::placeholder { color: #708293 !important; opacity: .86; }
.contact-modern button[type="submit"] { min-height: 54px !important; }

#contact.contact-modern .contact-copy h2 {
  max-width: 680px !important;
  margin-bottom: 20px !important;
  font-size: clamp(34px, 3vw, 44px) !important;
  line-height: 1.2 !important;
  letter-spacing: -.015em !important;
  text-wrap: balance;
}

@media (max-width: 1050px) {
  .hero.minimal-luxury-hero { background-position: 62% 38% !important; }
  .strength-card { min-height: 350px !important; }
  .consulting-card { min-height: 305px !important; }
  .process-journey .process-step { min-height: 245px !important; }
  .process-journey .process-step h3 { margin-top: 14px !important; }
}

@media (max-width: 700px) {
  .hero.minimal-luxury-hero {
    min-height: auto !important;
    padding-block: 72px 68px !important;
    background-position: 68% top !important;
  }
  .hero.minimal-luxury-hero .new-hero-content { top: -8px; }
  .hero.minimal-luxury-hero h1 {
    font-size: clamp(39px, 11.16vw, 54px) !important;
    line-height: 1.16 !important;
  }
  .hero.minimal-luxury-hero .new-hero-lead {
    margin-top: 34px !important;
    line-height: 1.75 !important;
  }
  .hero.minimal-luxury-hero .new-hero-actions {
    gap: 22px !important;
    margin-top: 30px !important;
  }
  .compact-reference-header .new-brand-mark { transform: scale(1.04); }

  .strength-card,
  .consulting-card { min-height: 0 !important; height: auto; }
  .consulting-card h3,
  .consulting-card p { min-height: 0; }

  .process-journey { padding-block: 34px 26px !important; }
  .process-journey .process-heading h2 { font-size: clamp(32px, 9vw, 38px) !important; }
  .process-journey .process-step {
    min-height: 0 !important;
    margin-bottom: 30px !important;
  }
  .process-journey .process-step-icon { width: 64px !important; height: 64px !important; flex-basis:64px !important; }
  .process-journey .process-step-icon svg { width: 32px !important; height: 32px !important; }
  .process-journey .process-cta { margin-top: 26px !important; }

  .knowledge-featured { min-height: 440px !important; }
  .knowledge-secondary { min-height: 0 !important; }

  #contact.contact-modern .contact-copy h2 {
    max-width: 100% !important;
    font-size: clamp(29px, 8vw, 35px) !important;
    line-height: 1.22 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero.minimal-luxury-hero::before { animation: none !important; }
}
