/* Astera Legal v45 — centered opening hook and standalone careers page. */

/* The home header is visually continuous with the opening screen. */
body.home-editorial-route #header:not(.solid),
body.home-editorial-route.dark-top #header:not(.solid) {
  background: transparent;
  border-bottom-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

body #glow {
  top: -4vh;
  height: 38vh;
  filter: blur(20px);
  background:
    radial-gradient(34% 34% at var(--star-x, 50%) 21%, rgba(246, 226, 178, .25), transparent 70%),
    radial-gradient(58% 46% at var(--star-x, 50%) 18%, rgba(232, 201, 135, .13), transparent 74%);
  animation: hero-v45-header-glow 7s ease-in-out infinite;
}

body #glow::before {
  display: none !important;
}

body.home-editorial-route #header:not(.solid)::after,
body.home-editorial-route.dark-top #header:not(.solid)::after {
  display: none;
}

#header .brand-c::before {
  width: 118px;
  height: 84px;
  opacity: .17;
  filter: blur(13px);
  background: radial-gradient(circle, rgba(232, 201, 135, .4), rgba(232, 201, 135, .12) 35%, transparent 73%);
}

#header .brand-c::after {
  content: "";
  position: absolute;
  z-index: -2;
  top: -24px;
  left: 50%;
  width: 190px;
  height: 116px;
  pointer-events: none;
  opacity: .22;
  transform: translateX(-50%);
  filter: blur(20px);
  background: radial-gradient(ellipse at 50% 32%, rgba(232, 201, 135, .45), rgba(232, 201, 135, .1) 35%, transparent 72%);
}

/* One continuous green opening screen: no split panel or monogram. */
#page-home .hero-editorial {
  min-height: 100svh;
  padding: 98px 0 0;
  color: var(--ivory);
  background:
    radial-gradient(760px 460px at 50% 9%, rgba(232, 201, 135, .13), transparent 68%),
    radial-gradient(720px 520px at 10% 84%, rgba(31, 103, 94, .22), transparent 70%),
    radial-gradient(780px 540px at 92% 76%, rgba(5, 70, 66, .48), transparent 72%),
    linear-gradient(145deg, #073c3a 0%, #052f30 48%, #031f20 100%);
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

#page-home .hero-editorial::before,
#page-home .hero-editorial::after {
  display: block;
  content: "";
  position: absolute;
  pointer-events: none;
}

#page-home .hero-editorial::before {
  z-index: -1;
  inset: 0;
  opacity: .34;
  background-image:
    radial-gradient(circle at 14% 22%, rgba(232, 201, 135, .62) 0 1px, transparent 1.8px),
    radial-gradient(circle at 82% 31%, rgba(246, 239, 227, .48) 0 1px, transparent 1.8px),
    radial-gradient(circle at 70% 78%, rgba(232, 201, 135, .42) 0 1px, transparent 1.8px),
    radial-gradient(circle at 29% 73%, rgba(246, 239, 227, .3) 0 1px, transparent 1.8px);
  background-size: 310px 270px, 370px 330px, 430px 360px, 340px 390px;
}

#page-home .hero-editorial::after {
  z-index: -1;
  top: -220px;
  left: 50%;
  width: min(86vw, 980px);
  height: 600px;
  opacity: .32;
  transform: translateX(-50%);
  filter: blur(38px);
  background: radial-gradient(ellipse at center, rgba(232, 201, 135, .19), rgba(232, 201, 135, .05) 42%, transparent 72%);
}

#page-home .hero-editorial #sky,
#page-home .hero-editorial-visual {
  display: none !important;
}

#page-home .hero-editorial .hero-grid {
  width: 100%;
  max-width: none;
  min-height: calc(100svh - 98px);
  padding: 0 clamp(22px, 4vw, 64px);
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
}

#page-home .hero-editorial .hero-copy {
  width: min(100%, 1100px);
  max-width: none;
  min-height: 0;
  margin: 0 auto;
  padding: clamp(24px, 4vh, 48px) 0 clamp(58px, 8vh, 84px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: transparent;
}

.hero-brand-v45 {
  width: clamp(130px, 12vw, 176px);
  margin-bottom: clamp(12px, 2vh, 20px);
  position: relative;
  opacity: 0;
  animation: hero-v45-logo-in .85s cubic-bezier(.22, .61, .36, 1) .12s forwards;
}

.hero-brand-v45 img {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 8px 22px rgba(0, 0, 0, .18));
}

.hero-star-halo-v45 {
  position: absolute;
  z-index: 1;
  top: -9%;
  left: 22%;
  width: 48%;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 0;
  filter: blur(17px);
  background: radial-gradient(circle, rgba(245, 221, 163, .62), rgba(232, 201, 135, .18) 40%, transparent 72%);
  animation: hero-v45-halo 2.1s ease-out .2s forwards;
}

.hero-flight-star-v45 {
  position: absolute;
  z-index: 3;
  top: 2%;
  left: 28%;
  color: #f2d999;
  font-size: clamp(1rem, 1.5vw, 1.45rem);
  line-height: 1;
  opacity: 0;
  filter: drop-shadow(0 0 9px rgba(232, 201, 135, .72));
  animation: hero-v45-star-flight 1.5s cubic-bezier(.2, .72, .18, 1) .35s forwards;
}

#page-home .hero-editorial .eyebrow {
  margin: 0 0 clamp(18px, 2.5vh, 28px);
  color: rgba(232, 201, 135, .92);
  opacity: 0;
  transform: translateY(12px);
  animation: hero-v45-copy-in .8s cubic-bezier(.22, .61, .36, 1) .78s forwards;
}

#page-home .hero-editorial h1 {
  width: 100%;
  max-width: 100%;
  margin: 0;
  color: var(--ivory);
  font-family: "IBM Plex Serif", Georgia, serif;
  font-size: clamp(3.15rem, 6.35vw, 6.75rem);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.055em;
  text-align: center;
}

#page-home .hero-editorial h1 .ln {
  display: block;
  width: 100%;
  margin: 0;
  padding: .015em 0 .065em;
  overflow: hidden;
}

#page-home .hero-editorial h1 .ln span {
  display: block;
  white-space: normal;
  opacity: 0;
  transform: translateY(105%);
  animation: hero-v45-line-in .9s cubic-bezier(.22, .61, .36, 1) forwards;
}

#page-home .hero-editorial h1 .ln:nth-child(1) span { animation-delay: .78s; }
#page-home .hero-editorial h1 .ln:nth-child(2) span { animation-delay: .9s; }
#page-home .hero-editorial h1 .ln:nth-child(3) span { animation-delay: 1.02s; }

#page-home .hero-editorial .lede {
  max-width: 62ch;
  margin: clamp(20px, 3vh, 32px) auto 0;
  color: rgba(246, 239, 227, .7);
  font-size: clamp(.96rem, 1.2vw, 1.1rem);
  line-height: 1.65;
  text-align: center;
  opacity: 0;
  transform: translateY(14px);
  animation: hero-v45-copy-in .85s cubic-bezier(.22, .61, .36, 1) 1.14s forwards;
}

#page-home .hero-editorial-actions {
  justify-content: center;
  margin-top: clamp(26px, 3.8vh, 40px);
  opacity: 0;
  transform: translateY(14px);
  animation: hero-v45-copy-in .85s cubic-bezier(.22, .61, .36, 1) 1.26s forwards;
}

#page-home .editorial-text-link {
  color: rgba(246, 239, 227, .9);
}

#page-home .editorial-text-link i {
  color: var(--gold-2);
}

#page-home .hero-editorial .scrollcue {
  right: auto;
  left: 50%;
  color: rgba(246, 239, 227, .52);
  transform: translateX(-50%);
}

#page-home .hero-editorial .scrollcue .inner {
  justify-content: center;
}

#page-home .hero-editorial .scrollcue .rail {
  border-color: rgba(232, 201, 135, .34);
}

/* Increase green presence without making reading sections heavy. */
#page-home .hab,
#page-home .service-sec,
#page-home .faq-sec {
  background:
    radial-gradient(620px 360px at 92% 0, rgba(10, 76, 70, .08), transparent 72%),
    linear-gradient(145deg, #edf1e9, #e5ece4);
}

#page-home .hab {
  border-top-color: rgba(5, 47, 48, .16);
}

/* Careers are now a real route, not a block on the home page. */
.career-v44 {
  display: none !important;
}

.career-page-v45 {
  min-height: 100svh;
  padding: clamp(142px, 17vh, 184px) 0 clamp(72px, 8vw, 104px);
  color: var(--ivory);
  background:
    radial-gradient(760px 520px at 10% 8%, rgba(232, 201, 135, .14), transparent 68%),
    radial-gradient(820px 620px at 95% 75%, rgba(14, 89, 81, .3), transparent 70%),
    linear-gradient(145deg, #073b39, #052d2e 58%, #031f20);
}

.career-page-v45.show {
  display: block;
}

.career-page-v45-inner {
  position: relative;
}

.career-page-v45-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
  gap: clamp(3rem, 9vw, 9rem);
  align-items: end;
  padding-bottom: clamp(54px, 7vw, 82px);
}

.career-page-v45 .eyebrow {
  color: var(--gold-2);
}

.career-page-v45 h1 {
  max-width: 10ch;
  margin-top: 1rem;
  color: var(--ivory);
  font: 400 clamp(3.4rem, 7vw, 6.7rem)/.92 "IBM Plex Serif", Georgia, serif;
  letter-spacing: -.055em;
}

.career-page-v45-intro p {
  color: rgba(246, 239, 227, .72);
  font-size: clamp(.98rem, 1.25vw, 1.12rem);
  line-height: 1.72;
}

.career-page-v45-intro .btn {
  margin-top: 1.8rem;
}

.career-options-v45 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgba(232, 201, 135, .24);
  background: rgba(232, 201, 135, .24);
}

.career-options-v45 article {
  min-height: 300px;
  padding: clamp(26px, 3.4vw, 40px);
  background: linear-gradient(145deg, rgba(11, 66, 63, .96), rgba(5, 43, 44, .98));
}

.career-options-v45 article > span {
  color: var(--gold-2);
  font: 400 .78rem/1 "IBM Plex Serif", Georgia, serif;
}

.career-options-v45 h2 {
  margin: clamp(30px, 4vw, 48px) 0 1rem;
  color: var(--ivory);
  font: 400 clamp(1.55rem, 2.6vw, 2.15rem)/1.05 "IBM Plex Serif", Georgia, serif;
}

.career-options-v45 p {
  color: rgba(246, 239, 227, .66);
  font-size: .88rem;
  line-height: 1.65;
}

.career-process-v45 {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(3rem, 8vw, 8rem);
  padding: clamp(76px, 9vw, 118px) 0;
}

.career-process-v45-heading h2 {
  max-width: 10ch;
  margin-top: 1rem;
  color: var(--ivory);
  font: 400 clamp(2.4rem, 4.7vw, 4.2rem)/.98 "IBM Plex Serif", Georgia, serif;
}

.career-process-v45 ol {
  list-style: none;
  border-top: 1px solid rgba(232, 201, 135, .28);
}

.career-process-v45 li {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: 1.2rem;
  padding: 24px 0;
  border-bottom: 1px solid rgba(232, 201, 135, .22);
}

.career-process-v45 li > b {
  color: var(--gold-2);
  font-size: .76rem;
  font-weight: 400;
}

.career-process-v45 h3 {
  color: var(--ivory);
  font: 400 1.45rem/1.15 "IBM Plex Serif", Georgia, serif;
}

.career-process-v45 li p {
  max-width: 65ch;
  margin-top: .6rem;
  color: rgba(246, 239, 227, .64);
  font-size: .87rem;
  line-height: 1.63;
}

.career-open-v45 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: center;
  padding: clamp(28px, 4vw, 44px);
  border: 1px solid rgba(232, 201, 135, .34);
  background: rgba(232, 201, 135, .07);
}

.career-open-v45 > span {
  color: var(--gold-2);
  font-size: 1.45rem;
  filter: drop-shadow(0 0 8px rgba(232, 201, 135, .42));
}

.career-open-v45 h2 {
  color: var(--ivory);
  font: 400 clamp(1.55rem, 2.7vw, 2.25rem)/1.08 "IBM Plex Serif", Georgia, serif;
}

.career-open-v45 p {
  max-width: 68ch;
  margin-top: .7rem;
  color: rgba(246, 239, 227, .64);
  font-size: .86rem;
  line-height: 1.62;
}

body.career-route-v45 #header .career-link {
  color: var(--gold-2);
}

body.career-route-v45 #header .career-link::after {
  width: 100%;
  left: 0;
}

@keyframes hero-v45-logo-in {
  from { opacity: 0; transform: translateY(12px) scale(.97); }
  to { opacity: 1; transform: none; }
}

@keyframes hero-v45-halo {
  0% { opacity: 0; transform: scale(.58); }
  42% { opacity: .65; }
  100% { opacity: .24; transform: scale(1.32); }
}

@keyframes hero-v45-star-flight {
  0% { opacity: 0; transform: translate3d(0, 7px, 0) scale(.72); }
  18% { opacity: 1; }
  55% { opacity: .82; }
  100% { opacity: 0; transform: translate3d(2px, -36vh, 0) scale(.5); }
}

@keyframes hero-v45-line-in {
  from { opacity: 0; transform: translateY(105%); }
  to { opacity: 1; transform: none; }
}

@keyframes hero-v45-copy-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}

@keyframes hero-v45-header-glow {
  0%, 100% { opacity: .42; }
  50% { opacity: .62; }
}

@media (max-width: 900px) {
  #page-home .hero-editorial {
    padding-top: 72px;
  }

  #page-home .hero-editorial .hero-grid {
    min-height: calc(100svh - 72px);
  }

  #page-home .hero-editorial h1 {
    font-size: clamp(3rem, 9vw, 5.25rem);
  }

  .career-page-v45-hero,
  .career-process-v45 {
    grid-template-columns: 1fr;
    gap: 2.2rem;
  }

  .career-options-v45 {
    grid-template-columns: 1fr;
  }

  .career-options-v45 article {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  #page-home .hero-editorial .hero-copy {
    padding: 22px 0 58px;
  }

  .hero-brand-v45 {
    width: 126px;
    margin-bottom: 8px;
  }

  #page-home .hero-editorial h1 {
    font-size: clamp(2.65rem, 12.7vw, 4rem);
    line-height: .95;
  }

  #page-home .hero-editorial .lede {
    max-width: 35ch;
    font-size: .9rem;
    line-height: 1.58;
  }

  #page-home .hero-editorial-actions {
    flex-direction: row;
    gap: 18px;
  }

  #page-home .hero-editorial-actions .btn.gold {
    min-width: 126px;
    width: auto;
  }

  .career-page-v45 {
    padding: 112px 0 58px;
  }

  .career-page-v45 h1 {
    font-size: clamp(2.75rem, 13vw, 4rem);
  }

  .career-page-v45-hero {
    padding-bottom: 42px;
  }

  .career-options-v45 article {
    padding: 24px 20px;
  }

  .career-options-v45 h2 {
    margin-top: 24px;
  }

  .career-process-v45 {
    padding: 56px 0;
  }

  .career-open-v45 {
    grid-template-columns: auto 1fr;
    padding: 24px 20px;
  }

  .career-open-v45 .btn {
    grid-column: 2;
    justify-self: start;
  }
}

html[dir="rtl"] #page-home .hero-editorial .hero-copy,
html[dir="rtl"] #page-home .hero-editorial .lede,
html[dir="rtl"] #page-home .hero-editorial h1 {
  text-align: center;
}

@media (prefers-reduced-motion: reduce) {
  .hero-brand-v45,
  .hero-star-halo-v45,
  .hero-flight-star-v45,
  #page-home .hero-editorial .eyebrow,
  #page-home .hero-editorial h1 .ln span,
  #page-home .hero-editorial .lede,
  #page-home .hero-editorial-actions {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .hero-flight-star-v45 {
    display: none;
  }

  body #glow {
    animation: none;
  }
}
