/* Local equivalents of the exported Framer interaction variants. */
:root {
  /* Let text return to normal rasterization after entrance transforms finish. */
  --framer-will-change-effect-override: auto;
  --framer-will-change-override: auto;
}
.case-summary {
  box-sizing: border-box; width: 100%; min-width: 0; padding: 24px;
  margin-block: 32px;
  border: 1px solid #334155; border-radius: 12px; background: #172033;
  font-family: "Inter", sans-serif; color: #cbd5e1;
}
.case-summary .case-summary-outcome {
  margin: 0 0 24px; color: #f8fafc; font-size: 22px; line-height: 1.4;
  font-weight: 500;
}
.case-summary-label, .case-summary dt {
  display: block; margin: 0 0 8px; color: #94a3b8;
  font-size: 14px; line-height: 1.5; font-weight: 500;
}
.case-summary dl { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 0; }
.case-summary dd { margin: 0; font-size: 16px; line-height: 1.6; }
@media (max-width: 809px) {
  .case-summary { padding: 20px; margin-block: 24px; }
  .case-summary .case-summary-outcome { font-size: 20px; }
  .case-summary dl { grid-template-columns: 1fr; gap: 20px; }
}
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 100px; }
.ambient-gradient {
  background: radial-gradient(ellipse at 65% 20%, #5b21b64d, transparent 58%),
              radial-gradient(ellipse at 20% 70%, #0c4a6e66, transparent 60%);
}
.ambient-gradient.particle-active { background: none; }
[data-framer-name="Gradients"] { pointer-events: none; }
a { -webkit-tap-highlight-color: transparent; }
a:focus-visible { outline: 2px solid #c4b5fd !important; outline-offset: 5px; }

/* Original card spring: stiffness 400, damping 85, mass 1.2. */
.framer-l0p4C,
.framer-l0p4C .framer-knprx7,
.framer-l0p4C .framer-1wnjczw,
.framer-l0p4C .framer-59ipau {
  transition: background-color 450ms cubic-bezier(.2,.75,.25,1),
              transform 450ms cubic-bezier(.2,.75,.25,1),
              box-shadow 450ms cubic-bezier(.2,.75,.25,1);
}
.framer-l0p4C { --card-hover: #3b0764; --card-image-hover: #020617; }
.framer-l0p4C[href*="tecton"] { --card-hover: #450a0a; }
.framer-l0p4C[href*="box-"] { --card-hover: #172554; --card-image-hover: #0f172a; }
.framer-l0p4C .framer-59ipau { transform-origin: right top; }
.framer-l0p4C h6 { transition: color 400ms ease; }
.framer-l0p4C.framer-v-1244rso .framer-59ipau { transform-origin: center; }
.framer-o2F6M, .framer-XUloK, .framer-OS598[href], .framer-re73V .framer-1mjlddq {
  transition: background-color 400ms ease, opacity 400ms ease;
}
.framer-OS598 .framer-1iihd7o { transition: opacity 400ms ease; }
.framer-dejxx p { transition: color 400ms ease; }

@media (hover: hover) and (pointer: fine) {
  .framer-o2F6M:hover, .framer-XUloK:hover, .framer-OS598[href]:hover {
    background-color: #334155 !important;
  }
  .framer-re73V:hover .framer-1mjlddq { opacity: .79 !important; }
  .framer-OS598[href]:hover .framer-1iihd7o { opacity: 1 !important; }
  .framer-l0p4C:not(.framer-v-1244rso):hover { background-color: var(--card-hover) !important; }
  .framer-l0p4C.framer-v-1244rso:hover .framer-knprx7 { background-color: var(--card-hover) !important; }
  .framer-l0p4C.framer-v-1244rso:hover .framer-1wnjczw { background-color: var(--card-image-hover) !important; }
  .framer-l0p4C.framer-v-6fipgw:hover .framer-59ipau {
    transform: translateY(-10px) scale(1.02); box-shadow: 0 1px 61px 10px #0004 !important;
  }
  .framer-l0p4C.framer-v-102inws:hover .framer-59ipau {
    transform: translateY(-5px) scale(1.02); box-shadow: 0 1px 61px 10px #0004 !important;
  }
  .framer-l0p4C.framer-v-1244rso:hover .framer-59ipau { transform: scale(1.105263); }
  .framer-l0p4C:hover .framer-pps4y8, .framer-l0p4C:hover .framer-kkqm7p {
    --extracted-1w1cjl5: var(--variable-reference-gkL8Vy24Q-ZlNJrt7WL) !important;
  }
  .framer-dejxx:hover p { color: #f8fafc !important; }
}
/* Keyboard focus receives the same visual feedback as pointer hover. */
.framer-o2F6M:focus-visible, .framer-XUloK:focus-visible, .framer-OS598[href]:focus-visible {
  background-color: #334155 !important;
}
.framer-re73V:focus-visible .framer-1mjlddq { opacity: .79 !important; }
.framer-OS598[href]:focus-visible .framer-1iihd7o { opacity: 1 !important; }
.framer-l0p4C:not(.framer-v-1244rso):focus-visible,
.framer-l0p4C.framer-v-1244rso:focus-visible .framer-knprx7 { background-color: var(--card-hover) !important; }
.framer-l0p4C.framer-v-1244rso:focus-visible .framer-1wnjczw { background-color: var(--card-image-hover) !important; }
.framer-l0p4C.framer-v-6fipgw:focus-visible .framer-59ipau { transform: translateY(-10px) scale(1.02); }
.framer-l0p4C.framer-v-102inws:focus-visible .framer-59ipau { transform: translateY(-5px) scale(1.02); }
.framer-l0p4C.framer-v-1244rso:focus-visible .framer-59ipau { transform: scale(1.105263); }
.framer-o2F6M:active, .framer-XUloK:active, .framer-OS598[href]:active { background-color: transparent !important; }
.framer-l0p4C.framer-6fipgw:active { background-color: #020617 !important; }
.framer-l0p4C.framer-v-1244rso:active .framer-knprx7 { background-color: #0f172a !important; }
.framer-l0p4C:active .framer-59ipau { box-shadow: none !important; }
.framer-dejxx:focus-visible p, .framer-dejxx[aria-current="location"] p { color: #f8fafc !important; }
.framer-dejxx[aria-current="location"]::before {
  content: ""; position: absolute; left: -12px; width: 3px; height: 26px;
  border-radius: 2px; background: #e2e8f0;
}

/* Original scroll prompt: travel 100px and fade over 1.3s, then wait 2s. */
.motion-enabled .framer-XUloK.motion-in-view {
  animation: scroll-prompt 3.3s cubic-bezier(.12,.23,.5,1) 2.4s infinite;
}
.motion-enabled .framer-XUloK:is(:hover, :focus-visible) { animation-play-state: paused; }
html.motion-paused .framer-XUloK { animation-play-state: paused !important; }
@keyframes scroll-prompt {
  0%, 100% { transform: translateY(0); opacity: 1; }
  39.39%, 99.99% { transform: translateY(100px); opacity: 0; }
}
.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; left: 16px; top: -80px; z-index: 10000;
  padding: 12px 18px; background: #f8fafc; color: #020617; border-radius: 6px;
  font: 16px sans-serif;
}
.skip-link:focus { top: 16px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .framer-l0p4C .framer-59ipau { transform: none !important; }
}
