/* Investments: an editorial philosophy and an explorable three-part method. */
.investment-thesis,
.investment-method {
  padding: clamp(4.5rem, 7.5vw, 8rem) max(1.25rem, 4.2vw);
  position: relative;
}
.investment-thesis { background: #061a16; }
.investment-thesis-shell,
.investment-method-shell { max-width: 1440px; margin-inline: auto; }
.investment-kicker {
  margin: 0 0 1.6rem;
  color: #78d9bf;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.investment-thesis-shell {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem 8%;
  border-top: 1px solid rgba(173, 229, 212, .17);
  padding-top: 2rem;
}
.investment-thesis h2,
.investment-method h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.65rem, 4.3vw, 4.75rem);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -.025em;
  color: var(--soft-white);
}
.investment-thesis-copy { align-self: center; max-width: 38rem; }
.investment-thesis-copy p,
.investment-method-lead,
.investment-method-detail > p:last-child {
  margin: 0;
  color: rgba(242, 239, 231, .71);
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.8;
}
.investment-thesis-copy p + p { margin-top: 1rem; }
.investment-thesis-question {
  display: grid;
  grid-template-columns: .5fr 1.5fr;
  gap: 2rem;
  grid-column: 1 / -1;
  padding-top: 2.5rem;
  border-top: 1px solid rgba(173, 229, 212, .12);
  align-items: start;
}
.investment-thesis-question > span {
  color: rgba(242, 239, 231, .5);
  font-family: var(--font-display);
  font-size: 1.3rem;
}
.investment-thesis-question > p {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 2.8vw, 3rem);
  line-height: 1.2;
  color: var(--soft-white);
  text-wrap: balance;
}
.investment-method {
  background: radial-gradient(ellipse at 75% 50%, rgba(20, 76, 61, .22), transparent 65%), #081e19;
  border-block: 1px solid rgba(173, 229, 212, .1);
}
.investment-method-shell {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 4vw, 5rem);
  align-items: center;
}
.investment-method-intro { min-width: 0; }
.investment-method-lead { max-width: 29rem; margin-top: 1.75rem; }
.investment-method-details {
  max-width: 29rem;
  border-top: 1px solid rgba(173, 229, 212, .18);
  margin-top: 2.5rem;
  padding-top: 1.5rem;
}
.investment-method-detail[hidden] { display: none; }
.investment-method-detail + .investment-method-detail { margin-top: 1.5rem; }
.is-interactive .investment-method-detail { margin: 0; min-height: 11rem; }
.investment-method-detail h3 {
  margin: 0 0 .8rem;
  color: var(--soft-white);
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 2.15vw, 2.35rem);
  line-height: 1.15;
  font-weight: 500;
}
.investment-alignment { position: relative; aspect-ratio: 640 / 610; width: 100%; max-width: 760px; justify-self: center; }
.alignment-art { position: absolute; inset: 2% 0 6%; pointer-events: none; }
.alignment-art svg { width: 100%; height: 100%; overflow: hidden; }
.alignment-core { fill: var(--brand-surface, #0b241e); }
.alignment-guide { stroke: #77d9c1; stroke-opacity: .11; stroke-width: .65; }
.alignment-ribbon { stroke: url(#alignment-metal); stroke-width: 1.35; transition: opacity 600ms ease, filter 600ms ease, stroke-width 600ms ease; }
.is-interactive .alignment-ribbon { opacity: .3; }
.is-interactive[data-active=""] .alignment-ribbon { opacity: .65; }
[data-active="assess"] .alignment-ribbon--assess,
[data-active="structure"] .alignment-ribbon--structure,
[data-active="advance"] .alignment-ribbon--advance { opacity: 1; stroke-width: 1.7; filter: brightness(1.4) drop-shadow(0 0 8px rgba(115, 255, 210, .75)) drop-shadow(0 0 20px rgba(70, 224, 177, .4)); }
.alignment-center { fill: #edf5eb; text-anchor: middle; font-family: var(--font-display); font-size: 23px; }
.alignment-control {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .45rem;
  position: absolute;
  z-index: 2;
  padding: .75rem 1rem;
  min-width: 8rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: rgba(242, 239, 231, .63);
  cursor: pointer;
  transition: color 400ms ease, background 400ms ease;
  -webkit-tap-highlight-color: transparent;
}
.alignment-control--assess { top: 0; left: 50%; transform: translateX(-50%); }
.alignment-control--structure { left: 8%; bottom: 15%; }
.alignment-control--advance { right: 8%; bottom: 15%; }
.alignment-control strong { font-family: var(--font-display); font-size: clamp(1.5rem, 2.35vw, 2.15rem); font-weight: 500; line-height: 1.12; transition: text-shadow 400ms ease, color 400ms ease; }
.alignment-control i { width: 6px; height: 6px; border: 1px solid #75ceb1; border-radius: 50%; margin-top: .35rem; transition: box-shadow 500ms ease, background 500ms ease; }
.alignment-control[aria-pressed="true"] { color: #d8fff0; }
.alignment-control[aria-pressed="true"] i { background: #b3ffde; box-shadow: 0 0 13px #57d8ac; }
.alignment-control:focus-visible { outline: 1px solid #a0ffe2; outline-offset: 5px; background: #0c3027; }
@media (prefers-reduced-motion: no-preference) {
  .is-interactive .alignment-ribbon {
    /* Rotate around the artwork itself; fixed CSS-pixel origins can drift
       from SVG coordinates when a browser changes its page zoom. */
    transform-box: fill-box;
    transform-origin: 50% 50%;
    animation: alignment-orbit var(--orbit-duration, 24s) linear infinite var(--orbit-direction, normal), var(--hover-glow, none) 2.4s ease-in-out infinite;
    animation-play-state: paused;
  }
  .is-interactive .alignment-ribbon--structure { --orbit-duration: 30s; --orbit-direction: reverse; }
  .is-interactive .alignment-ribbon--advance { --orbit-duration: 40s; }
  .is-interactive .alignment-glint { animation: alignment-light 8s linear infinite; animation-play-state: paused; }
  .is-interactive .alignment-ribbon--structure .alignment-glint { animation-duration: 10s; animation-delay: -3s; }
  .is-interactive .alignment-ribbon--advance .alignment-glint { animation-duration: 12s; animation-delay: -6s; }
  .is-interactive .alignment-halo { animation: alignment-glow 6s ease-in-out infinite; animation-play-state: paused; }
  .is-interactive.is-motion-running .alignment-ribbon,
  .is-interactive.is-motion-running .alignment-glint,
  .is-interactive.is-motion-running .alignment-halo { animation-play-state: running; }
  .is-interactive .investment-method-detail:not([hidden]) { animation: discipline-enter 450ms ease both; }
}
@keyframes alignment-orbit {
  0% { transform: rotate(0deg) scaleY(1); }
  25% { transform: rotate(90deg) scaleY(.88); }
  50% { transform: rotate(180deg) scaleY(1); }
  75% { transform: rotate(270deg) scaleY(1.08); }
  100% { transform: rotate(360deg) scaleY(1); }
}
@keyframes alignment-light { to { stroke-dashoffset: -100; } }
@keyframes alignment-glow { 0%, 100% { opacity: .6; } 50% { opacity: 1; } }
@keyframes discipline-enter { from { opacity: .25; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1000px) {
  .investment-method-shell { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .alignment-control { min-width: 6rem; padding: .7rem .4rem; }
  .thesis-wide-break { display: none; }
}
@media (max-width: 720px) {
  .investment-thesis-shell, .investment-method-shell { grid-template-columns: 1fr; gap: 2rem; }
  .investment-thesis-question { grid-template-columns: 1fr; gap: 1rem; padding-top: 2rem; }
  .investment-thesis-copy { max-width: none; }
  .investment-method-intro { display: contents; }
  .investment-method-intro > .investment-kicker { margin: 0 0 -.75rem; }
  .investment-method-intro > h2 { grid-row: 2; }
  .investment-method-lead { grid-row: 3; margin: -.5rem 0 0; max-width: none; }
  .investment-alignment { grid-row: 4; max-width: 480px; margin-top: .75rem; }
  .investment-method-details { grid-row: 5; margin: .5rem 0 0; max-width: none; }
  .is-interactive .investment-method-detail { min-height: 10.5rem; }
  .alignment-control--structure { left: 5%; bottom: 13%; }
  .alignment-control--advance { right: 5%; bottom: 13%; }
  .alignment-control--assess { top: -5%; }
  .alignment-control strong { font-size: 1.5rem; }
  .alignment-art { inset: 0 0 10%; }
}
@media (prefers-reduced-motion: reduce) {
  .investment-method *, .investment-method *::before, .investment-method *::after { animation: none !important; transition: none !important; }
}

.alignment-control:disabled { cursor: default; }

.alignment-glint {
  stroke: #d7ffed;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-dasharray: 9 91;
  filter: drop-shadow(0 0 4px rgba(149, 255, 216, .65));
}
@media (prefers-reduced-motion: reduce) { .alignment-glint { display: none; } }

.investments-page .engagement-intro {
  grid-column: 1 / -1;
  max-width: 48rem;
  margin: -1rem 0 .75rem;
  color: rgba(242, 239, 231, .71);
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.8;
  text-wrap: pretty;
}

/* Reserve the explanation space so hover never shifts the section or its controls. */
.is-interactive .investment-method-details {
  display: grid;
  border-color: transparent;
  transition: border-color 350ms ease;
}
.is-interactive:not([data-active=""]) .investment-method-details { border-color: rgba(173, 229, 212, .18); }
.is-interactive .investment-method-detail { grid-area: 1 / 1; }
.is-interactive .investment-method-detail[hidden] {
  display: block;
  visibility: hidden;
  pointer-events: none;
}
.is-interactive .investment-method-detail h3 { margin-top: 0; }
@media (prefers-reduced-motion: no-preference) {
  [data-active="assess"] .alignment-ribbon--assess,
  [data-active="structure"] .alignment-ribbon--structure,
  [data-active="advance"] .alignment-ribbon--advance { --hover-glow: alignment-hover-glow; }
  .alignment-control[aria-pressed="true"] strong { animation: alignment-label-pulse 2.4s ease-in-out infinite; }
  .alignment-control[aria-pressed="true"] i { animation: alignment-node-pulse 2.4s ease-in-out infinite; }
}
@keyframes alignment-hover-glow {
  0%, 100% { filter: brightness(1.4) drop-shadow(0 0 8px rgba(115, 255, 210, .75)) drop-shadow(0 0 20px rgba(70, 224, 177, .4)); }
  50% { filter: brightness(1.85) drop-shadow(0 0 12px rgba(160, 255, 223, .95)) drop-shadow(0 0 28px rgba(70, 224, 177, .65)); }
}
@keyframes alignment-label-pulse {
  0%, 100% { text-shadow: 0 0 8px rgba(128, 255, 212, .35), 0 0 18px rgba(77, 224, 179, .15); }
  50% { text-shadow: 0 0 12px rgba(171, 255, 225, .75), 0 0 26px rgba(77, 224, 179, .4); color: #f0fff8; }
}
@keyframes alignment-node-pulse {
  0%, 100% { box-shadow: 0 0 8px rgba(87, 216, 172, .65); }
  50% { box-shadow: 0 0 18px rgba(137, 255, 212, .95); }
}

/* Mobile: touch-first reading flow and compact engagement cards. */
.investment-mobile-links, .investment-field-label { display: none; }
@media (max-width: 720px) {
  .investment-thesis, .investment-method { padding-block: 3.5rem; }
  .investment-thesis h2, .investment-method h2 { font-size: clamp(2.25rem, 10.5vw, 2.65rem); line-height: 1.08; }
  .investment-thesis-shell, .investment-method-shell { gap: 1.5rem; }
  .investment-thesis-copy p, .investment-method-lead, .investment-method-detail > p:last-child { line-height: 1.7; }
  .investment-thesis-question { padding-top: 1.75rem; }
  .investment-method, .investment-thesis, .investments-page #investments { scroll-margin-top: 5.5rem; }
  .investment-method:not(.is-interactive) .investment-method-details { margin-top: 1rem; }
  .investment-method.is-interactive[data-active=""] .investment-method-details { display: none; }
  .investment-method.is-interactive .investment-method-detail { min-height: 0; }
  .investment-method.is-interactive .investment-method-detail[hidden] { display: none; }
  .investment-method.is-interactive .investment-method-details { padding-top: 1.25rem; margin-top: 0; }
  .investment-alignment { margin-top: 1rem; }
  .alignment-control { min-height: 48px; touch-action: manipulation; }
  .investment-mobile-links { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; margin-top: 1.5rem; }
  .investment-mobile-links .hero-text-link { min-height: 44px; font-size: .7rem; gap: .65rem; letter-spacing: .08em; white-space: nowrap; }
  .investment-mobile-links svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.4; }
  .investments-page .investments-hero h1 { line-height: 1; }
  .investments-page .investments-hero .hero-subline { line-height: 1.65; }
  .investments-page .venture-engagement { padding-block: 3.5rem; }
  .investments-page .engagement-intro { margin: -.5rem 0 0; line-height: 1.7; }
  .investments-page .engagement-grid { gap: .875rem; }
  .investments-page .engagement-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 5.5rem;
    grid-template-rows: auto auto auto auto;
    gap: .5rem 1rem;
    padding: 1.5rem 1.25rem;
    text-align: left;
    align-items: center;
  }
  .investments-page .engagement-card .engagement-number { grid-column: 1; grid-row: 1; font-size: .7rem; }
  .investments-page .engagement-card h3 { grid-column: 1; grid-row: 2; margin: 0; font-size: clamp(2rem, 8.3vw, 2.4rem); }
  .investments-page .engagement-card .engagement-rule { grid-column: 1; grid-row: 3; margin: .35rem 0 .25rem; width: 2rem; }
  .investments-page .engagement-card .engagement-icon-stage { grid-column: 2; grid-row: 1 / 4; width: 5.5rem; height: 5.5rem; margin: 0; }
  .investments-page .engagement-card .engagement-icon-stage .engagement-icon { width: 5rem; height: 5rem; }
  .investments-page .engagement-card p { grid-column: 1 / -1; grid-row: 4; max-width: none; margin-top: .65rem; font-size: 1rem; line-height: 1.65; }
  .investments-page .contact-layout--investments { margin-top: 1.5rem; gap: 1.5rem; }
  .investments-page .contact-heading h2 { margin-bottom: .75rem; }
  .investments-page .contact-fields { gap: 1.25rem; grid-template-columns: 1fr; }
  .investment-field-label { display: block; color: rgba(242, 239, 231, .82); font-size: .875rem; line-height: 1.5; }
  .investments-page .contact-field input, .investments-page .contact-field textarea { padding-block: .5rem; min-height: 48px; scroll-margin-block: 6rem 2rem; }
  .investments-page .contact-field textarea { min-height: 7rem; }
  .investments-page .contact-field input::placeholder, .investments-page .contact-field textarea::placeholder { color: transparent; }
  .investments-page .contact-send { width: 100%; min-height: 52px; margin-top: 1.5rem; }
}
@media (max-width: 720px) and (max-height: 600px) {
  .investments-page .investments-hero { min-height: 36rem; }
}
@media (max-width: 360px) {
  .investments-page .engagement-card { grid-template-columns: minmax(0, 1fr) 5rem; }
  .investments-page .engagement-card .engagement-icon-stage { width: 5rem; height: 5rem; }
  .investments-page .engagement-card .engagement-icon-stage .engagement-icon { width: 4.5rem; height: 4.5rem; }
}
