/* Company presentation and investment chapters; the opening hero stays independent. */
.invest-showcase {
  --showcase-gold: #9c713a;
  --showcase-ink: #293f48;
  --showcase-warm-line: #eadcc8;
  position: relative;
  padding-top: 16px;
  background: linear-gradient(180deg, #fffefa, #fff 39%, #fffdfa 73%, #fff);
}

.invest-showcase .invest-section-nav {
  position: relative;
  z-index: 3;
  width: fit-content;
  max-width: calc(100% - 40px);
  margin: 10px auto 0;
  padding: 9px;
  gap: 3px;
  border: 1px solid #ebe3d8;
  border-radius: 999px;
  background: #fffffff0;
  box-shadow: 0 10px 34px #b1946920;
}

.invest-showcase .invest-section-nav a {
  padding: 12px 22px;
  border: 0;
  border-radius: 999px;
  transition: background .25s, color .25s;
  color: #596c73;
}

.invest-showcase .invest-section-nav a:hover,
.invest-showcase .invest-section-nav a[aria-current="location"] {
  color: #805e34;
  background: #fcf0da;
}

.invest-showcase .inv-section {
  padding-top: 100px;
}

.invest-showcase .inv-kicker {
  color: var(--showcase-gold);
  letter-spacing: .12em;
}

.invest-showcase .inv-section-heading {
  align-items: center;
  margin-bottom: 46px;
}

.invest-showcase .inv-section-heading h2 {
  font-size: clamp(2rem, 3.1vw, 3rem);
  line-height: 1.55;
  font-weight: 500;
  color: var(--showcase-ink);
}

.invest-showcase .inv-section-heading > p {
  line-height: 2;
  color: #596c76;
}

.showcase-highlight {
  color: #9b7143;
  background: linear-gradient(110deg, #6c91a1 0%, #9c744a 45%, #9d6947 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* A sunlit stage gives the company structure an opening ceremony. */
.invest-showcase .company-showcase {
  position: relative;
  isolation: isolate;
  width: calc(100% - 32px);
  max-width: 1400px;
  margin-top: 34px;
  padding: 70px clamp(30px, calc((100% - 1160px) / 2), 120px) 40px;
  border: 1px solid #f0e4d1;
  border-radius: 42px;
  overflow: hidden;
  background: #fffdfa;
}

.showcase-scenery {
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
}

.showcase-scenery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  opacity: .5;
}

.showcase-scenery::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #fffdf99c, #fffffff0 40%, #fffdfad9);
}

.company-showcase .inv-section-heading {
  display: block;
  text-align: center;
  position: relative;
  z-index: 1;
  margin-bottom: 45px;
}

.company-showcase .inv-section-heading h2 {
  font-size: clamp(2.2rem, 3.6vw, 3.5rem);
  letter-spacing: -.04em;
  margin-top: 24px;
}

.company-showcase .inv-section-heading > p {
  max-width: 650px;
  margin: 22px auto 0;
}

.invest-showcase .company-map {
  position: relative;
  border: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.invest-showcase .company-root {
  max-width: 350px;
  padding: 24px;
  border-color: #decaaa;
  background: linear-gradient(145deg, #fff, #fffaf0);
  box-shadow: 0 0 0 7px #fffaf078, 0 15px 50px #b3925520;
}

.invest-showcase .company-root h3 {
  font-size: 2.8rem;
  color: #866039;
  letter-spacing: .07em;
}

.invest-showcase .company-root > span {
  color: #8e784f;
}

.invest-showcase .structure-connector {
  height: 54px;
  border-color: #c6b18b;
}

.invest-showcase .structure-connector::before,
.invest-showcase .branch::before {
  background: linear-gradient(#ceac79, #b9d5df);
}

.invest-showcase .branch {
  padding: 30px;
  background: #ffffffd9;
  border-color: #e5e3dc;
  box-shadow: 0 16px 40px #7c726309;
  transition: transform .4s, box-shadow .4s, border-color .4s;
  backdrop-filter: blur(12px);
}

.invest-showcase .branch:nth-child(1) {
  background: linear-gradient(140deg, #fff, #f1f9fc);
  border-color: #cddfe8;
}

.invest-showcase .branch:nth-child(2) {
  background: linear-gradient(140deg, #fff, #fff8ea);
  border-color: #e9d8b9;
}

.invest-showcase .branch:nth-child(3) {
  background: linear-gradient(140deg, #fff, #fff3ee);
  border-color: #eddcd2;
}

.invest-showcase .branch:hover {
  transform: translateY(-6px);
  border-color: #cfb389;
  box-shadow: 0 20px 50px #9e784d1a;
}

.invest-showcase .branch h3 {
  font-size: 1.9rem;
  margin-top: 28px;
}

.invest-showcase .branch:nth-child(2) .inv-tag {
  background: #fff0d7;
  color: #8b653b;
}

.invest-showcase .branch:nth-child(3) .inv-tag {
  background: #fbece5;
  color: #967563;
}

.invest-showcase .foundation-band {
  margin-top: 30px;
  border-color: #e4d7c1;
  background: linear-gradient(110deg, #fffaf0, #fff, #eef7fa);
  box-shadow: 0 8px 25px #b09c6d0a;
}

.invest-showcase .foundation-band strong {
  color: #896843;
  letter-spacing: .07em;
}

.invest-showcase .foundation-band span {
  border: 1px solid #ece7dd;
  background: #fff;
}

/* Warm highlights and cool information panels build a clear rhythm. */
.invest-showcase .loop-workspace {
  border-color: #d9e5ea;
  box-shadow: 0 20px 60px #658b9b12;
  background: #fff;
}

.invest-showcase .workspace-top {
  border-color: #e4e8e7;
  background: linear-gradient(100deg, #fff8e9, #f6fbfd 65%, #fff);
  padding: 23px 30px;
}

.invest-showcase .workspace-top strong {
  color: #8d6b41;
  letter-spacing: .06em;
}

.invest-showcase .loop-tabs button[aria-selected="true"] {
  background: linear-gradient(100deg, #ffefd2, #fffaf0);
  border-color: #ead0a1;
  color: #80613a;
  box-shadow: 0 5px 18px #a7824210;
}

.invest-showcase .loop-tabs button > span {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.invest-showcase .loop-tabs button[aria-selected="true"] > span {
  border-radius: 50%;
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  background: #fffdf6;
  box-shadow: 0 0 0 4px #f5dfb94a;
  flex-shrink: 0;
}

.invest-showcase .loop-panel {
  background: radial-gradient(ellipse at 100% 0%, #fff2d865, transparent 50%), #fff;
}

.invest-showcase .panel-step {
  color: #997345;
}

.invest-showcase .loop-panel h3 {
  font-size: 2rem;
}

.invest-showcase .loop-return {
  border-color: #eaddc6;
}

.invest-showcase .loop-return > span {
  color: #ae8a52;
}

.invest-showcase .compute-strip {
  padding: 35px;
  border-color: #ebe0cb;
  background: linear-gradient(100deg, #fff6e5, #fffdf8 50%, #edf7fb);
}

.invest-showcase .research-layout {
  gap: 26px;
}

.invest-showcase .database-card {
  position: relative;
  border-color: #e4d3b7;
  background: linear-gradient(140deg, #fff9ee, #fffdf9 50%, #fff);
  box-shadow: 0 14px 45px #ae8f5410;
}

.invest-showcase .code-card {
  border-color: #cddfe8;
  background: linear-gradient(140deg, #f4fbfe, #fff 65%);
  box-shadow: 0 14px 45px #668ca30c;
}

.invest-showcase .database-shelves > div {
  border-color: #ece0cd;
  background: #fffefbd9;
}

.invest-showcase .database-shelves span {
  color: #96754b;
}

.invest-showcase .database-top .inv-tag {
  color: #8b6b40;
  background: #fcebd0;
}

.invest-showcase .evidence-note {
  border-color: #e8decf;
  background: linear-gradient(100deg, #fffaf0, #fff);
}

.invest-showcase #delivery .inv-section-heading {
  display: block;
  text-align: center;
}

.invest-showcase #delivery .inv-section-heading > p {
  margin: 24px auto 0;
  max-width: 670px;
}

.invest-showcase .delivery-grid {
  gap: 25px;
}

.invest-showcase .delivery-card {
  border-color: #e8dcc9;
  box-shadow: 0 16px 50px #a184570e;
  background: linear-gradient(140deg, #fff, #fffaf2);
  transition: transform .4s, box-shadow .4s;
}

.invest-showcase .delivery-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 60px #a184571b;
}

.invest-showcase .delivery-image {
  height: 340px;
}

.invest-showcase .delivery-image img {
  transition: transform 1.2s cubic-bezier(.2,.65,.25,1);
}

.invest-showcase .delivery-card:hover img {
  transform: scale(1.035);
}

.invest-showcase .delivery-copy {
  padding: 34px;
}

.invest-showcase .delivery-copy h3 {
  font-size: 1.85rem;
  color: #6e5a41;
}

.invest-showcase .delivery-chips span {
  background: #fcf0dd;
  color: #8a6b44;
}

.invest-showcase .connected-delivery {
  border-color: #e4d5be;
  background: linear-gradient(100deg, #fff2db, #fffaf0 50%, #edf7fa);
  padding: 30px;
}

/* The closing invitation has its own celebratory spotlight. */
.invest-showcase .investment-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-top: 80px;
  padding-bottom: 60px;
  border-color: #e8d5b5;
  background:
    radial-gradient(ellipse at 50% 0%, #ffe6ac7d, transparent 48%),
    radial-gradient(ellipse at 100% 60%, #ffe1d947, transparent 42%),
    radial-gradient(ellipse at 0% 65%, #d6edf561, transparent 40%),
    #fffdf8;
  box-shadow: 0 24px 80px #b3925412;
}

.invest-showcase .investment-heading {
  position: relative;
  z-index: 1;
}

.invest-showcase .investment-heading h2 {
  font-size: clamp(2rem, 3.5vw, 3.2rem);
  line-height: 1.6;
  margin: 24px 0 20px;
}

.invest-showcase .investment-deal {
  position: relative;
  z-index: 1;
  margin-top: 45px;
  border-color: #decaa8;
  box-shadow: 0 20px 60px #aa88521a;
}

.invest-showcase .deal-top {
  background: linear-gradient(100deg, #fff3dc, #fffaf0, #fff);
  border-bottom-color: #ebdcc3;
}

.invest-showcase .deal-top strong {
  color: #8c663a;
}

.invest-showcase .investment-part {
  position: relative;
  background: linear-gradient(160deg, #fff, #fffefb);
  padding-top: 38px;
}

.invest-showcase .investment-part::before {
  content: "";
  position: absolute;
  inset: 0 30px auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, #d4b179, transparent);
}

.invest-showcase .investment-part dd {
  color: #775a36;
}

.invest-showcase .investment-summary {
  background: linear-gradient(105deg, #fff2db, #fff9eb 58%, #f0f7fa);
  border-color: #e9d9bd;
  padding: 35px;
}

.invest-showcase .investment-summary strong {
  font-size: 2rem;
  color: #775a36;
}

.invest-showcase #primary-bar {
  background: #b18b53;
}

.invest-showcase .inv-button-outline {
  color: #806139;
  border-color: #d6bf98;
  background: #fffdf6;
}

.invest-showcase .inv-button-outline:hover {
  background: #fff0d5;
}

/* Abstract light particles stay near the edges, clear of text and controls. */
.celebration-field {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  border-radius: inherit;
}

.celebration-spark {
  position: absolute;
  left: var(--spark-x);
  top: var(--spark-y);
  width: var(--spark-size);
  height: var(--spark-size);
  border-radius: 50%;
  background: #d4ac66;
  box-shadow: 0 0 10px #ecc57599;
  opacity: .22;
  animation: showcase-spark 7s var(--spark-delay) ease-in-out infinite;
  animation-play-state: paused;
}

.celebration-spark:nth-child(3n) {
  width: 2px;
  height: 9px;
  border-radius: 2px;
  background: #c5a47b;
}

.celebration-spark:nth-child(4n) {
  background: #98becf;
  box-shadow: 0 0 9px #b9dde688;
}

.is-in-view .celebration-spark {
  animation-play-state: running;
}

.showcase-motion-ready [data-showcase-stage] .inv-section-heading,
.showcase-motion-ready [data-showcase-stage] .investment-heading {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .8s, transform .8s cubic-bezier(.2,.7,.2,1);
}

.showcase-motion-ready [data-showcase-stage].has-entered .inv-section-heading,
.showcase-motion-ready [data-showcase-stage].has-entered .investment-heading {
  opacity: 1;
  transform: none;
}

.has-entered .company-root {
  animation: showcase-arrival 1s backwards;
}

.has-entered .branch,
.has-entered .delivery-card,
.has-entered .investment-part {
  animation: showcase-arrival .9s .12s backwards;
}

.has-entered .branch:nth-child(2),
.has-entered .delivery-card:nth-child(2),
.has-entered .investment-part:nth-child(2) {
  animation-delay: .24s;
}

.has-entered .branch:nth-child(3) {
  animation-delay: .36s;
}

.loop-panel.stage-changing {
  animation: showcase-panel .45s both;
}

@keyframes showcase-arrival {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes showcase-panel {
  from { opacity: .4; }
  to { opacity: 1; }
}

@keyframes showcase-spark {
  0%, 100% { opacity: .08; transform: translateY(10px) rotate(0); }
  50% { opacity: .55; transform: translateY(-22px) rotate(35deg); }
}

@media (max-width: 1050px) {
  .invest-showcase .invest-section-nav a { padding: 11px 16px; }
  .invest-showcase .branch { padding: 24px; }
  .invest-showcase .delivery-image { height: 285px; }
}

@media (max-width: 760px) {
  .invest-showcase { padding-top: 10px; }
  .invest-showcase .invest-section-nav { border-radius: 23px; max-width: calc(100% - 30px); gap: 4px; justify-content: center; }
  .invest-showcase .invest-section-nav a { font-size: .8rem; padding: 10px 12px; }
  .invest-showcase .inv-section { padding-top: 65px; }
  .invest-showcase .company-showcase { padding: 40px 22px 25px; width: calc(100% - 24px); margin-top: 24px; border-radius: 30px; }
  .company-showcase .inv-section-heading h2 { font-size: 2rem; }
  .invest-showcase .inv-section-heading { margin-bottom: 30px; }
  .invest-showcase .inv-section-heading h2 { font-size: 1.95rem; }
  .invest-showcase .company-root { padding: 22px; }
  .invest-showcase .company-root h3 { font-size: 2.4rem; }
  .invest-showcase .structure-connector { height: 26px; background: #c5b28e; }
  .invest-showcase .branch { padding: 25px; }
  .invest-showcase .branch h3 { font-size: 1.8rem; }
  .invest-showcase .foundation-band { padding: 22px 14px; }
  .invest-showcase .loop-panel h3 { font-size: 1.65rem; }
  .invest-showcase .compute-strip { padding: 26px; }
  .invest-showcase .delivery-image { height: 260px; }
  .invest-showcase .delivery-copy { padding: 26px; }
  .invest-showcase .delivery-copy h3 { font-size: 1.65rem; }
  .invest-showcase .connected-delivery { padding: 25px; }
  .invest-showcase .investment-section { padding-top: 45px; padding-bottom: 35px; }
  .invest-showcase .investment-heading h2 { font-size: 2rem; }
  .invest-showcase .investment-summary { padding: 26px 24px; }
  .invest-showcase .investment-summary strong { font-size: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .celebration-field { display: none; }
  .showcase-motion-ready [data-showcase-stage] .inv-section-heading,
  .showcase-motion-ready [data-showcase-stage] .investment-heading {
    opacity: 1;
    transform: none;
  }
  .invest-showcase *, .invest-showcase *::before, .invest-showcase *::after {
    animation: none !important;
    transition: none !important;
  }
}

@media (forced-colors: active) {
  .showcase-highlight {
    background: none;
    color: CanvasText;
    -webkit-text-fill-color: currentColor;
  }
}

@media print {
  .celebration-field { display: none; }
  .showcase-motion-ready [data-showcase-stage] .inv-section-heading,
  .showcase-motion-ready [data-showcase-stage] .investment-heading {
    opacity: 1;
    transform: none;
  }
  .invest-showcase * { animation: none !important; }
}
