/* Two primary directions. The original cosmos, crest, beams and boot animation
   remain owned by styles.css; this layer only reshapes the project composition. */
body.is-two-direction-home.is-content-revealed .crest-shell,
body.is-two-direction-home.is-ready .crest-shell {
  left: 27%;
  transition:
    left 880ms cubic-bezier(0.2, 0.8, 0.2, 1),
    transform var(--logo-focus-transition-duration) var(--logo-focus-transition-ease),
    opacity var(--dim-transition-duration) var(--dim-transition-ease);
}

/* Tablet preview uses an app-like vertical composition instead of shrinking the
   desktop orbit into the middle of a portrait iPad. */
html.is-tablet-preview body.is-mobile-layout.is-two-direction-home:is(.is-content-revealed, .is-ready):not(.is-mobile-web-gate-active) .hub {
  box-sizing: border-box;
  width: min(calc(100vw - 112px), 700px) !important;
  max-width: 700px !important;
  height: auto !important;
  min-height: calc(100vh - 150px) !important;
  max-height: none !important;
  padding: 338px 0 96px !important;
  display: block !important;
}

html.is-tablet-preview body.is-mobile-layout.is-two-direction-home:is(.is-content-revealed, .is-ready):not(.is-mobile-web-gate-active) .crest-shell {
  top: 34px !important;
  left: 50% !important;
  width: 300px !important;
  height: 300px !important;
  transform: translateX(-50%) !important;
}

html.is-tablet-preview body.is-mobile-layout.is-two-direction-home:is(.is-content-revealed, .is-ready):not(.is-mobile-web-gate-active) .crest {
  width: 300px !important;
  height: 300px !important;
  max-height: none !important;
}

html.is-tablet-preview body.is-mobile-layout.is-two-direction-home:is(.is-content-revealed, .is-ready):not(.is-mobile-web-gate-active) .project-ring {
  box-sizing: border-box;
  width: min(100%, 620px) !important;
  max-width: 620px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
}

html.is-tablet-preview body.is-mobile-layout.is-two-direction-home:is(.is-content-revealed, .is-ready):not(.is-mobile-web-gate-active) .project-card.is-direction-card {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 190px !important;
  transform: none !important;
}

html.is-tablet-preview body.is-mobile-layout.is-two-direction-home:is(.is-content-revealed, .is-ready):not(.is-mobile-web-gate-active) .project-card.is-direction-card .project-card-face {
  width: 100% !important;
  height: auto !important;
  min-height: 190px !important;
  padding: 22px 24px !important;
  display: block !important;
}

html.is-tablet-preview body.is-mobile-layout.is-two-direction-home:is(.is-content-revealed, .is-ready):not(.is-mobile-web-gate-active) .project-card.is-direction-card .project-desc {
  width: 100% !important;
  display: block !important;
}

html.is-tablet-preview body.is-mobile-layout.is-two-direction-home:is(.is-content-revealed, .is-ready):not(.is-mobile-web-gate-active) .project-card.is-direction-card[data-project-id="capital"] .project-name {
  max-width: 100% !important;
}

html.is-tablet-preview body.is-mobile-layout.is-two-direction-home:is(.is-content-revealed, .is-ready):not(.is-mobile-web-gate-active) .project-card.is-direction-card[data-project-id="capital"] {
  order: 1;
}

html.is-tablet-preview body.is-mobile-layout.is-two-direction-home:is(.is-content-revealed, .is-ready):not(.is-mobile-web-gate-active) .project-card.is-direction-card[data-project-id="app"] {
  order: 2;
}

@media (max-width: 1366px) {
  html.is-mobile-preview body.is-two-direction-home .project-card.is-direction-card[data-project-id="capital"] .project-name {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 0 !important;
  }
}

/* Card hover moves only the card; the crest and cosmos keep their brightness. */
body.is-two-direction-home .project-card.is-direction-card {
  translate: 0 0;
  transition:
    transform calc(var(--focus-transition-duration-soft) + 10ms) var(--focus-transition-ease),
    translate 280ms cubic-bezier(0.18, 0.84, 0.2, 1),
    opacity var(--focus-transition-duration) var(--focus-transition-ease);
}

@media (hover: hover) and (pointer: fine) {
  body.is-two-direction-home .project-card.is-direction-card:hover,
  body.is-two-direction-home .project-card.is-direction-card.is-hovered {
    translate: 0 -7px;
  }
}

body.is-two-direction-home .project-card.is-direction-card:focus-visible {
  translate: 0 -7px;
}


body.is-two-direction-home .project-card.is-direction-card {
  width: clamp(360px, 34vw, 510px);
  text-decoration: none;
}

body.is-two-direction-home .project-card.is-direction-card .project-card-face {
  width: 100%;
  max-width: none;
  padding: clamp(18px, 1.55vw, 25px);
  border-radius: 24px;
  overflow: hidden;
  contain: layout paint;
  background:
    radial-gradient(circle at 92% 8%, rgba(170, 237, 255, 0.13), transparent 38%),
    linear-gradient(145deg, rgba(23, 28, 34, 0.94), rgba(7, 8, 11, 0.96));
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.48),
    inset 0 0 0 1px rgba(255, 255, 255, 0.055),
    0 0 34px rgba(146, 231, 255, 0.055);
}

body.is-two-direction-home .project-card.is-direction-card[data-project-id="app"] .project-card-face {
  background:
    radial-gradient(circle at 92% 8%, rgba(194, 174, 255, 0.17), transparent 39%),
    linear-gradient(145deg, rgba(26, 25, 40, 0.95), rgba(8, 8, 13, 0.97));
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.48),
    inset 0 0 0 1px rgba(255, 255, 255, 0.06),
    0 0 34px rgba(187, 169, 255, 0.07);
}

body.is-two-direction-home .project-card.is-direction-card .project-name {
  display: block;
  max-width: calc(100% - 68px);
  font-size: clamp(1rem, 1.3vw, 1.28rem);
  line-height: 1.14;
  letter-spacing: 0.025em;
}

body.is-two-direction-home .project-card.is-direction-card[data-project-id="capital"] .project-name {
  width: 100%;
  max-width: 100%;
  padding-inline: 54px;
  text-align: center;
  text-transform: uppercase;
  font-family: "Outfit", "Noto Sans", "Segoe UI", sans-serif;
  font-weight: 800;
  letter-spacing: 0.055em;
}

body.is-two-direction-home .project-card.is-direction-card .project-period {
  top: 20px;
  right: 22px;
  left: auto;
  color: rgba(238, 249, 255, 0.74);
  letter-spacing: 0.14em;
}

body.is-two-direction-home .project-card.is-direction-card .project-status-indicator {
  right: 22px;
  top: 56px;
  transform: none;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc,
body.is-two-direction-home .project-card.is-direction-card[data-desc-dir="down"] .project-desc,
body.is-two-direction-home .project-card.is-direction-card[data-desc-dir="up"] .project-desc,
body.is-two-direction-home .project-card.is-direction-card[data-desc-dir="left"] .project-desc,
body.is-two-direction-home .project-card.is-direction-card[data-desc-dir="right"] .project-desc {
  position: relative;
  inset: auto;
  width: 100%;
  max-width: none;
  margin-top: 16px;
  padding: 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  opacity: 1;
  visibility: visible;
  filter: none;
  transform: none;
  animation: none;
  pointer-events: none;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-text {
  display: block;
  padding-top: 14px;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-copy {
  gap: 10px;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-lead {
  font-size: clamp(0.82rem, 0.92vw, 0.96rem);
  line-height: 1.42;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-rows {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-row {
  min-height: 62px;
  padding: 9px 10px;
  background: rgba(255, 255, 255, 0.025);
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-cta-row {
  justify-content: flex-start;
  margin-top: 12px;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-action {
  min-height: 40px;
  padding: 9px 13px;
  pointer-events: none;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc::before,
body.is-two-direction-home .project-card.is-direction-card .project-desc::after,
body.is-two-direction-home .project-card.is-direction-card .project-desc-indicator {
  display: none;
}

body.is-two-direction-home .project-card.is-direction-card:hover .project-card-face,
body.is-two-direction-home .project-card.is-direction-card:focus-visible .project-card-face {
  border-color: rgba(204, 245, 255, 0.62);
  box-shadow:
    0 28px 72px rgba(0, 0, 0, 0.52),
    inset 0 0 0 1px rgba(255, 255, 255, 0.08),
    0 0 42px rgba(151, 235, 255, 0.11);
}

body.is-two-direction-home .project-card.is-direction-card:focus-visible {
  outline: 2px solid rgba(198, 246, 255, 0.92);
  outline-offset: 7px;
  border-radius: 24px;
}

@media (max-width: 980px) and (min-width: 701px) {
  body.is-two-direction-home .project-card.is-direction-card {
    width: clamp(320px, 39vw, 410px);
  }

  body.is-two-direction-home.is-content-revealed .crest-shell,
  body.is-two-direction-home.is-ready .crest-shell {
    left: 24%;
  }
}

@media (max-width: 1366px) {
  html.is-mobile-preview body.is-two-direction-home.is-content-revealed .crest-shell,
  html.is-mobile-preview body.is-two-direction-home.is-ready .crest-shell {
    left: 50% !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-ring {
    max-width: min(calc(100vw - 32px), 390px) !important;
    gap: 18px !important;
    margin-top: clamp(108px, 13svh, 132px) !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card {
    width: min(calc(100vw - 32px), 390px) !important;
    min-height: 0 !important;
    height: auto !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 !important;
    order: initial !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card .project-card-face,
  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card.is-desc-visible .project-card-face {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 18px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card .project-name {
    max-width: calc(100% - 60px) !important;
    font-size: clamp(0.88rem, 4vw, 1.02rem) !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card .project-period,
  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card.is-desc-visible .project-period {
    top: 19px !important;
    right: 18px !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card .project-desc,
  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card.is-desc-visible .project-desc {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 15px !important;
    padding: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
  }

  html.is-mobile-preview body.is-two-direction-home .project-card.is-direction-card .project-desc-rows {
    grid-template-columns: 1fr;
  }

  html.is-mobile-preview body.is-two-direction-home .project-card.is-direction-card .project-desc-row {
    min-height: 0;
  }

  html.is-mobile-preview body.is-two-direction-home .project-card.is-direction-card .project-desc-action {
    min-height: 44px;
  }
}


@media (prefers-reduced-motion: reduce) {
  body.is-two-direction-home .project-card.is-direction-card,
  body.is-two-direction-home .project-card.is-direction-card .project-card-face {
    transition-duration: 0.01ms !important;
  }
}

/* 2026-10-04 — liquid-glass composition for the two permanent directions. */
body.is-two-direction-home.is-content-revealed .crest-shell,
body.is-two-direction-home.is-ready .crest-shell {
  left: 27%;
}

body.is-two-direction-home.is-content-revealed .crest,
body.is-two-direction-home.is-ready .crest {
  width: clamp(410px, 36vw, 675px);
  max-height: 86vh;
  filter:
    drop-shadow(0 0 0.35rem rgba(255, 255, 255, 0.32))
    drop-shadow(0 26px 72px rgba(0, 0, 0, 0.38));
}

body.is-two-direction-home .project-card.is-direction-card {
  width: 612px;
  scale: var(--direction-card-responsive-scale, 1);
}

body.is-two-direction-home .project-card.is-direction-card .project-card-face {
  min-height: 292px;
  padding: 29px;
  border: 1px solid rgba(211, 231, 255, 0.25);
  background-color: rgba(8, 12, 18, 0.5);
  background-repeat: no-repeat;
  background-size: 100% 100%, 100% 100%, 62% auto;
  background-position: center, center, 112% 100%;
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    inset 0 -1px 0 rgba(128, 179, 220, 0.06),
    0 0 38px rgba(140, 210, 244, 0.06);
  -webkit-backdrop-filter: blur(28px) saturate(148%);
  backdrop-filter: blur(28px) saturate(148%);
}

body.is-two-direction-home .project-card.is-direction-card[data-project-id="capital"] .project-card-face {
  border-radius: 34px 14px 34px 14px;
  background-image:
    linear-gradient(104deg, rgba(9, 15, 21, 0.86) 0%, rgba(12, 20, 28, 0.70) 58%, rgba(8, 14, 20, 0.42) 100%),
    radial-gradient(circle at 88% 15%, rgba(96, 225, 255, 0.18), transparent 42%);
}

body.is-two-direction-home .project-card.is-direction-card[data-project-id="app"] .project-card-face {
  border-color: rgba(220, 205, 255, 0.26);
  border-radius: 14px 34px 14px 34px;
  background-image:
    linear-gradient(104deg, rgba(13, 12, 24, 0.86) 0%, rgba(20, 17, 36, 0.69) 58%, rgba(12, 10, 27, 0.4) 100%),
    radial-gradient(circle at 86% 18%, rgba(183, 139, 255, 0.2), transparent 43%);
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    inset 0 -1px 0 rgba(187, 149, 255, 0.07),
    0 0 40px rgba(181, 144, 255, 0.07);
}

/* The legacy interaction layer uses the `background` shorthand for generic
   cards. Keep the authored glass artwork through every pointer/keyboard state. */
body.is-two-direction-home #projectRing .project-card.is-direction-card[data-project-id="capital"]:hover .project-card-face,
body.is-two-direction-home #projectRing .project-card.is-direction-card[data-project-id="capital"]:focus-visible .project-card-face,
body.is-two-direction-home #projectRing .project-card.is-direction-card[data-project-id="capital"].is-hovered .project-card-face,
body.is-two-direction-home #projectRing .project-card.is-direction-card[data-project-id="capital"].is-active .project-card-face,
body.is-two-direction-home #projectRing .project-card.is-direction-card[data-project-id="capital"].is-desc-visible .project-card-face {
  background:
    linear-gradient(104deg, rgba(9, 15, 21, 0.82) 0%, rgba(12, 20, 28, 0.72) 58%, rgba(8, 14, 20, 0.34) 100%),
    radial-gradient(circle at 88% 15%, rgba(96, 225, 255, 0.22), transparent 42%),
    rgba(8, 12, 18, 0.5);
  background-size: 100% 100%, 100% 100%, 62% auto;
  background-position: center, center, 112% 100%;
  background-repeat: no-repeat;
}

body.is-two-direction-home #projectRing .project-card.is-direction-card[data-project-id="app"]:hover .project-card-face,
body.is-two-direction-home #projectRing .project-card.is-direction-card[data-project-id="app"]:focus-visible .project-card-face,
body.is-two-direction-home #projectRing .project-card.is-direction-card[data-project-id="app"].is-hovered .project-card-face,
body.is-two-direction-home #projectRing .project-card.is-direction-card[data-project-id="app"].is-active .project-card-face,
body.is-two-direction-home #projectRing .project-card.is-direction-card[data-project-id="app"].is-desc-visible .project-card-face {
  background:
    linear-gradient(104deg, rgba(13, 12, 24, 0.82) 0%, rgba(20, 17, 36, 0.71) 58%, rgba(12, 10, 27, 0.32) 100%),
    radial-gradient(circle at 86% 18%, rgba(183, 139, 255, 0.25), transparent 43%),
    rgba(10, 9, 19, 0.52);
  background-size: 100% 100%, 100% 100%, 62% auto;
  background-position: center, center, 112% 100%;
  background-repeat: no-repeat;
}

body.is-two-direction-home .project-card.is-direction-card .project-name,
body.is-two-direction-home .project-card.is-direction-card .project-period,
body.is-two-direction-home .project-card.is-direction-card .project-desc {
  z-index: 4;
}

body.is-two-direction-home .project-card.is-direction-card .project-name {
  max-width: 72%;
  font-family: "Cinzel", "Cormorant Garamond", serif;
  font-size: 1.52rem;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: 0.032em;
  text-wrap: balance;
  color: #ffffff;
  background: linear-gradient(108deg, #ffffff 0%, #f6fbff 54%, #bdefff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.14),
    0 8px 24px rgba(82, 210, 255, 0.18),
    0 12px 30px rgba(0, 0, 0, 0.64);
}

body.is-two-direction-home .project-card.is-direction-card[data-project-id="app"] .project-name {
  background-image: linear-gradient(108deg, #ffffff 0%, #f4edff 54%, #cfbcff 100%);
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.14),
    0 8px 24px rgba(172, 126, 255, 0.2),
    0 12px 30px rgba(0, 0, 0, 0.64);
}

@media (min-width: 701px) {
  body.is-two-direction-home .project-card.is-direction-card .project-name::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.46rem;
    width: clamp(48px, 34%, 96px);
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(220, 249, 255, 0.92), rgba(106, 220, 255, 0));
    box-shadow: 0 0 14px rgba(91, 215, 255, 0.38);
    opacity: 0.76;
  }

  body.is-two-direction-home .project-card.is-direction-card[data-project-id="app"] .project-name::after {
    background: linear-gradient(90deg, rgba(243, 231, 255, 0.94), rgba(178, 135, 255, 0));
    box-shadow: 0 0 14px rgba(173, 126, 255, 0.42);
  }

  body.is-two-direction-home .project-card.is-direction-card[data-project-id="capital"] .project-name::after {
    left: 50%;
    transform: translateX(-50%);
  }
}

body.is-two-direction-home .project-card.is-direction-card .project-period {
  top: clamp(18px, 1.55vw, 25px);
  right: 23px;
  min-width: 52px;
  min-height: 27px;
  display: inline-grid;
  place-items: center;
  padding: 5px 11px;
  border: 1px solid rgba(220, 235, 255, 0.27);
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.025));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 8px 18px rgba(0, 0, 0, 0.2);
  color: rgba(239, 247, 255, 0.88);
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.17em;
  line-height: 1;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

body.is-two-direction-home .project-card.is-direction-card[data-project-id="app"] .project-period {
  border-color: rgba(223, 203, 255, 0.3);
  color: rgba(240, 229, 255, 0.9);
}

body.is-two-direction-home .project-card.is-direction-card .project-status-indicator {
  display: none;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc {
  width: 78%;
  margin-top: 18px;
  border-top-color: rgba(255, 255, 255, 0.12);
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-text {
  padding-top: 16px;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-copy {
  gap: 14px;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-lead {
  max-width: 44ch;
  color: rgba(246, 249, 255, 0.89);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
  text-shadow: 0 7px 20px rgba(0, 0, 0, 0.56);
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-rows {
  gap: 10px;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-row {
  min-height: 78px;
  padding: 11px 12px 12px;
  border: 1px solid rgba(215, 231, 251, 0.13);
  border-left-color: rgba(175, 224, 255, 0.38);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.018));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

body.is-two-direction-home .project-card.is-direction-card[data-project-id="app"] .project-desc-row {
  border-left-color: rgba(203, 171, 255, 0.42);
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-row-label {
  color: rgba(202, 219, 240, 0.56);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-row-value {
  color: rgba(244, 247, 252, 0.82);
  font-size: 0.88rem;
  line-height: 1.44;
}

body.is-two-direction-home .project-card.is-direction-card .project-desc-action {
  min-height: 43px;
  padding: 10px 15px;
  border-color: rgba(223, 237, 255, 0.34);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.035));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 10px 24px rgba(0, 0, 0, 0.18);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

body.is-two-direction-home .project-card.is-direction-card:not(.is-access-locked) .project-card-face::after {
  z-index: 3;
  background:
    linear-gradient(118deg, rgba(255, 255, 255, 0.16), transparent 20%, transparent 72%, rgba(204, 232, 255, 0.055)),
    radial-gradient(circle at 96% 6%, rgba(255, 255, 255, 0.16), transparent 26%);
  mix-blend-mode: screen;
  opacity: 0.54;
}

body.is-two-direction-home .connection-path {
  stroke: rgba(205, 231, 255, 0.72);
  stroke-width: 2.25;
  --path-base-opacity: 0.82;
  filter: drop-shadow(0 0 3px rgba(129, 211, 255, 0.34));
}

body.is-two-direction-home .connection-path.is-priority {
  stroke: rgba(232, 244, 255, 0.9);
  stroke-width: 2.65;
  --path-base-opacity: 0.94;
}

body.is-two-direction-home.card-focus .connection-layer {
  opacity: 0.66;
}

html[data-preview-low-power="true"] body.is-two-direction-home .connection-path {
  filter: none;
}

@media (min-width: 701px) {
  body.is-two-direction-home {
    --focus-transition-duration: 430ms;
    --focus-transition-duration-soft: 540ms;
    --focus-transition-ease: cubic-bezier(0.18, 0.78, 0.2, 1);
    --dim-transition-duration: 430ms;
    --dim-transition-duration-soft: 540ms;
    --dim-transition-ease: cubic-bezier(0.18, 0.78, 0.2, 1);
  }

  body.is-two-direction-home .connection-layer {
    transition: opacity 430ms cubic-bezier(0.18, 0.78, 0.2, 1), filter 430ms cubic-bezier(0.18, 0.78, 0.2, 1);
  }
}

@media (max-width: 1260px) and (min-width: 701px) {
  body.is-two-direction-home.is-content-revealed .crest-shell,
  body.is-two-direction-home.is-ready .crest-shell {
    left: 26%;
  }

  body.is-two-direction-home.is-content-revealed .crest,
  body.is-two-direction-home.is-ready .crest {
    width: clamp(375px, 39vw, 538px);
  }

  body.is-two-direction-home .project-card.is-direction-card {
    width: 612px;
  }
}

@media (max-width: 1366px) {
  html.is-mobile-preview body.is-two-direction-home.is-content-revealed .crest,
  html.is-mobile-preview body.is-two-direction-home.is-ready .crest {
    width: min(64vw, 280px);
    max-height: none;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card .project-card-face,
  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card.is-desc-visible .project-card-face {
    min-height: 0 !important;
    background-size: 100% 100%, 100% 100%, 72% auto !important;
    background-position: center, center, 118% 34% !important;
  }

  html.is-mobile-preview body.is-two-direction-home .project-card.is-direction-card .project-desc {
    width: 100%;
  }

  html.is-mobile-preview body.is-two-direction-home .project-card.is-direction-card .project-name {
    max-width: calc(100% - 64px) !important;
  }
}

@media (max-width: 1366px) {
  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .connection-layer {
    display: none !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card[data-project-id="capital"] .project-card-face {
    border-radius: 30px 13px 30px 13px !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card[data-project-id="app"] .project-card-face {
    border-radius: 13px 30px 13px 30px !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card .project-desc-rows {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card .project-desc-row {
    min-height: 86px !important;
    padding: 10px !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card .project-desc-action {
    display: inline-flex !important;
    width: max-content !important;
    min-width: max-content !important;
    padding-inline: 14px !important;
    white-space: nowrap !important;
  }
}

/* iPhone parity: override the legacy compact-card skin with the current
   two-direction liquid-glass artwork and responsive desktop composition. */
@media (max-width: 1366px) {
  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) {
    --mobile-card-width: min(calc(100vw - 54px), 376px) !important;
    --mobile-control-size: 44px !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-ring {
    width: var(--mobile-card-width) !important;
    max-width: var(--mobile-card-width) !important;
    margin: clamp(112px, 14svh, 136px) auto 0 !important;
    gap: 14px !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card {
    width: var(--mobile-card-width) !important;
    max-width: var(--mobile-card-width) !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card .project-card-face,
  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card.is-active .project-card-face,
  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card.is-desc-visible .project-card-face {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 286px !important;
    padding: 20px !important;
    overflow: hidden !important;
    border: 1px solid rgba(211, 231, 255, 0.25) !important;
    box-shadow:
      0 24px 58px rgba(0, 0, 0, 0.44),
      inset 0 1px 0 rgba(255, 255, 255, 0.14),
      inset 0 -1px 0 rgba(128, 179, 220, 0.06),
      0 0 34px rgba(140, 210, 244, 0.07) !important;
    -webkit-backdrop-filter: blur(28px) saturate(148%) !important;
    backdrop-filter: blur(28px) saturate(148%) !important;
    animation: none !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card[data-project-id="capital"] .project-card-face,
  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card[data-project-id="capital"].is-active .project-card-face,
  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card[data-project-id="capital"].is-desc-visible .project-card-face {
    border-radius: 34px 14px 34px 14px !important;
    background:
      linear-gradient(104deg, rgba(9, 15, 21, 0.86) 0%, rgba(12, 20, 28, 0.69) 58%, rgba(8, 14, 20, 0.4) 100%),
      radial-gradient(circle at 88% 15%, rgba(96, 225, 255, 0.2), transparent 42%),
      rgba(8, 12, 18, 0.54) !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card[data-project-id="app"]:not(.is-access-locked) .project-card-face,
  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card[data-project-id="app"]:not(.is-access-locked).is-active .project-card-face,
  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card[data-project-id="app"]:not(.is-access-locked).is-desc-visible .project-card-face {
    border-color: rgba(220, 205, 255, 0.28) !important;
    border-radius: 14px 34px 14px 34px !important;
    background:
      linear-gradient(104deg, rgba(13, 12, 24, 0.86) 0%, rgba(20, 17, 36, 0.68) 58%, rgba(12, 10, 27, 0.38) 100%),
      radial-gradient(circle at 86% 18%, rgba(183, 139, 255, 0.22), transparent 43%),
      rgba(10, 9, 19, 0.56) !important;
    box-shadow:
      0 24px 58px rgba(0, 0, 0, 0.44),
      inset 0 1px 0 rgba(255, 255, 255, 0.14),
      inset 0 -1px 0 rgba(187, 149, 255, 0.07),
      0 0 36px rgba(181, 144, 255, 0.09) !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card:not(.is-access-locked) .project-card-face::before {
    content: none !important;
    display: none !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card:not(.is-access-locked) .project-card-face::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
    border-radius: inherit !important;
    pointer-events: none !important;
    background:
      linear-gradient(118deg, rgba(255, 255, 255, 0.15), transparent 20%, transparent 72%, rgba(204, 232, 255, 0.055)),
      radial-gradient(circle at 96% 6%, rgba(255, 255, 255, 0.15), transparent 26%) !important;
    opacity: 0.5 !important;
  }

  html.is-mobile-preview body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .project-card.is-direction-card .project-desc {
    width: 84% !important;
  }

  html body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .contact-item,
  html body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .lang-btn,
  html body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .account-entry {
    --mobile-chrome-exit-x: -18px;
    backface-visibility: hidden;
    transform-origin: left center;
    will-change: opacity, transform, filter;
    transition:
      opacity 260ms cubic-bezier(0.16, 0.84, 0.24, 1),
      transform 380ms cubic-bezier(0.16, 1, 0.3, 1),
      filter 260ms cubic-bezier(0.16, 0.84, 0.24, 1),
      visibility 0s linear 0s !important;
  }

  html body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .lang-btn,
  html.is-mobile-preview body.is-two-direction-home .account-entry,
  html.is-mobile-preview body.is-two-direction-home .contact-item-instagram,
  html.is-mobile-preview body.is-two-direction-home .contact-item-threads {
    --mobile-chrome-exit-x: 18px;
    transform-origin: right center;
  }

  html.is-mobile-preview body.is-two-direction-home .contact-item-instagram,
  html.is-mobile-preview body.is-two-direction-home .contact-item-threads {
    position: fixed !important;
    right: auto !important;
    left: calc(100vw - var(--safe-left) - var(--safe-right) - var(--mobile-edge-gutter) - var(--mobile-edge-gutter) - var(--mobile-control-size)) !important;
    z-index: 141 !important;
  }

  html.is-mobile-preview body.is-two-direction-home .contact-item-instagram {
    top: calc(var(--mobile-control-size) + 10px) !important;
  }

  html.is-mobile-preview body.is-two-direction-home .contact-item-threads {
    top: calc(var(--mobile-control-size) + var(--mobile-control-size) + 20px) !important;
  }

  html.is-mobile-preview body.is-two-direction-home .contact-item-instagram .contact-label,
  html.is-mobile-preview body.is-two-direction-home .contact-item-threads .contact-label,
  html.is-mobile-preview body.is-two-direction-home .contact-item-instagram .contact-note {
    right: calc(100% + 8px) !important;
    left: auto !important;
    transform-origin: right center !important;
  }

  html.is-mobile-preview body.is-two-direction-home .contact-item-instagram:hover .contact-label,
  html.is-mobile-preview body.is-two-direction-home .contact-item-instagram:focus-within .contact-label,
  html.is-mobile-preview body.is-two-direction-home .contact-item-threads:hover .contact-label,
  html.is-mobile-preview body.is-two-direction-home .contact-item-threads:focus-within .contact-label {
    transform: translate(-4px, -50%) !important;
  }

  html body.is-mobile-layout.is-two-direction-home:not(.is-mobile-web-gate-active) .is-mobile-chrome-obstructed {
    opacity: 0 !important;
    filter: blur(5px) saturate(0.58) brightness(0.74) !important;
    transform: translate3d(var(--mobile-chrome-exit-x), 0, 0) scale(0.82) !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition:
      opacity 260ms cubic-bezier(0.16, 0.84, 0.24, 1),
      transform 380ms cubic-bezier(0.16, 1, 0.3, 1),
      filter 260ms cubic-bezier(0.16, 0.84, 0.24, 1),
      visibility 0s linear 380ms !important;
  }
}

/* Closed cards show a lock and the localized page name. */
#projectRing .project-card.is-access-locked .project-card-face {
  position: relative !important;
  min-height: 286px !important;
  overflow: hidden !important;
  background: rgba(2, 3, 10, 0.88) !important;
  background-image: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
#projectRing .project-card.is-access-locked .project-card-face::before,
#projectRing .project-card.is-access-locked .project-card-face::after {
  content: none !important;
  display: none !important;
}
#projectRing .project-card.is-access-locked .project-card-face > :not(.project-access-content) {
  display: none !important;
}
#projectRing .project-access-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 22px;
  box-sizing: border-box;
  pointer-events: none;
}
#projectRing .project-access-lock {
  flex: none;
  width: clamp(88px, 23%, 124px);
  height: auto;
  color: #dce8f5;
  filter: drop-shadow(0 0 22px rgba(199, 220, 255, .18));
}
#projectRing .project-access-name {
  max-width: 100%;
  color: #dce8f5;
  font-size: clamp(1rem, 1.5vw, 1.3rem);
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
html.is-tablet-preview #projectRing .project-card[data-project-id="capital"] {
  order: 1 !important;
  grid-row: 1;
}
html.is-tablet-preview #projectRing .project-card[data-project-id="app"] {
  order: 2 !important;
  grid-row: 2;
}
html.is-tablet-preview #projectRing .project-card .project-card-face {
  min-height: 286px !important;
}
html.is-tablet-preview #projectRing .project-card .project-name {
  position: relative !important;
  inset: auto !important;
  margin: 0 !important;
  font-size: 1.4rem !important;
  line-height: 1.15 !important;
  transform: none !important;
}
html.is-tablet-preview #projectRing .project-card .project-period {
  position: absolute !important;
  top: 22px !important;
  right: 24px !important;
}
html.is-tablet-preview #projectRing .project-card .project-desc {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
  transform: none !important;
}
html.is-tablet-preview #projectRing .project-card .project-desc-text {
  padding: 0 !important;
}

/* Tablets share the phone card and chrome rules above, with a wider safe grid. */
html.is-tablet-preview #projectRing {
  width: min(100%, 620px) !important;
  max-width: 620px !important;
  margin: 0 auto !important;
}
html.is-tablet-preview #projectRing .project-card {
  width: 100% !important;
  max-width: none !important;
  scale: 1 !important;
}
html.is-tablet-preview #projectRing .project-desc {
  max-width: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
html.is-tablet-preview #projectRing .project-desc-text,
html.is-tablet-preview #projectRing .project-desc-copy {
  width: 100% !important;
  max-width: none !important;
}
html.is-tablet-preview #projectRing .project-card-face {
  transform: none !important;
}
html.is-tablet-preview #projectRing .project-name {
  width: calc(100% - 76px) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

/* One centered heading and bottom action across phone, tablet and desktop. */
#projectRing .project-card[data-project-id="capital"] {
  min-height: 0 !important;
}
#projectRing .project-card[data-project-id="capital"] .project-card-face {
  min-height: 0 !important;
  height: auto !important;
}
#projectRing .project-card[data-project-id="capital"] .project-name {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  padding-inline: 0 !important;
  margin: 0 auto !important;
  text-align: center;
  text-transform: uppercase;
  font-weight: 800;
}
#projectRing .project-card[data-project-id="capital"] .project-desc {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  height: auto !important;
  max-height: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#projectRing .project-card[data-project-id="capital"] .project-desc-text {
  padding-top: 2px !important;
}
#projectRing .project-card[data-project-id="capital"] .project-desc-cta-row {
  display: flex !important;
  width: 100%;
  justify-content: center !important;
  margin-top: 14px !important;
}
html.is-mobile-preview #projectRing .project-card[data-project-id="capital"] .project-name {
  font-size: clamp(1rem,4.4vw,1.4rem) !important;
  padding-inline: 0 !important;
}

#projectRing .project-card[data-project-id="capital"] .project-name::after {
  content: "" !important;
  position: static;
  display: block;
  width: 80px;
  height: 2px;
  margin: 9px auto 0;
  transform: none;
  background: linear-gradient(90deg,transparent,rgba(211,239,249,.7),transparent);
}

#projectRing .project-card[data-project-id="capital"] .project-desc-action {
  margin-inline: 0 !important;
  max-width: 100% !important;
}
#projectRing .project-card.is-access-locked::before,
#projectRing .project-card.is-access-locked::after {
  content: none !important;
}

/* The badge follows the heading row, including a wrapped mobile title. */
#projectRing .project-card[data-project-id="capital"] .project-card-heading {
  display: block;
  position: relative;
  width: 100%;
}
#projectRing .project-card[data-project-id="capital"] .project-period {
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
}

#projectRing .project-card[data-project-id="capital"] .project-period,
#projectRing .project-card[data-project-id="capital"] .project-desc-note,
#projectRing .project-card[data-project-id="capital"] .project-status-indicator,
#projectRing .project-card[data-project-id="capital"] .project-desc-indicator,
#projectRing .project-card[data-project-id="capital"] .project-desc-inline-indicator { display: none !important; }

body.is-two-direction-home .estate-stage::after { content: none; }

body.is-two-direction-home.card-focus::before { opacity: 0; }
body.is-two-direction-home.card-focus .cosmos-canvas,
body.is-two-direction-home.card-focus .meteor-layer { opacity: 1; }

body.is-two-direction-home .estate-stage { box-sizing: border-box; }

/* Keep the English 360-degree sentence on one line where tablet space allows. */
html[lang="en"].is-mobile-preview body.is-mobile-layout.is-booting:not(.is-mobile-web-gate-active) .boot-tagline {
  width: min(92vw, 560px) !important;
  max-width: min(92vw, 560px) !important;
}

/* Homepage crest reopens the intro without enabling the old hover dimming. */
html body .crest-shell[href] {
  pointer-events: auto !important;
  cursor: pointer !important;
  text-decoration: none;
}
.crest-shell[href]:focus-visible {
  outline: 2px solid rgba(214, 232, 255, .88);
  outline-offset: 5px;
  border-radius: 24px;
}

/* A single transform animation keeps the crest alive even in Smart/Low. */
@media (prefers-reduced-motion: no-preference) {
  html body.is-two-direction-home.is-ready .crest {
    animation: crestFlagWave 9.4s cubic-bezier(.36, 0, .2, 1) infinite !important;
    will-change: transform;
  }
}

/* The full-stage ring passes clicks through its empty area to the crest. */
html body.is-two-direction-home:is(.is-ready, .is-content-revealed) #projectRing {
  pointer-events: none;
}
html body.is-two-direction-home:is(.is-ready, .is-content-revealed) #projectRing .project-card {
  pointer-events: auto;
}

/* Keep the star projection in viewport coordinates on long iOS pages. */
body.is-mobile-layout.is-two-direction-home .cosmos-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100vh;
  height: 100lvh;
}
