.hero[data-astro-cid-ge2uvauf] {
  --name-size: clamp(3.25rem, min(7.6vw, 11svh), 7rem);
  --pad-top: clamp(2rem, min(7vw, 6svh), 6rem);
  --pad-bottom: clamp(2rem, min(7vw, 6svh), 6rem);
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: var(--pad-top) var(--pad-bottom);
  view-timeline-name: --hero;
}

.hero[data-astro-cid-ge2uvauf]:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -10% -15% 0 35%;
  background: radial-gradient(40% 45% at 60% 40%, #2a4d8f29, #0000 70%), radial-gradient(45% 50% at 35% 70%, #eaf1faf2, #0000 72%), radial-gradient(30% 35% at 80% 75%, #0e234014, #0000 70%);
  filter: blur(20px);
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  .hero[data-astro-cid-ge2uvauf]:before {
    animation: 22s ease-in-out infinite alternate drift;
  }
}

@keyframes drift {
  from {
    transform: translate3d(-3%, 2%, 0) scale(1);
  }

  to {
    transform: translate3d(4%, -3%, 0) scale(1.08);
  }
}

.grid[data-astro-cid-ge2uvauf] {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}

h1[data-astro-cid-ge2uvauf] {
  font-size: var(--name-size);
  line-height: .98;
  letter-spacing: -.05em;
  max-width: 9ch;
}

.sub[data-astro-cid-ge2uvauf] {
  margin-top: 1.75rem;
  max-width: 36ch;
  font-size: clamp(1.125rem, .5vw + 1rem, 1.3rem);
  line-height: 1.55;
  color: var(--ink-soft);
}

.actions[data-astro-cid-ge2uvauf] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-top: 2.25rem;
}

.actions[data-astro-cid-ge2uvauf].contact {
  margin-top: .25rem;
  gap: .25rem;
}

.social[data-astro-cid-ge2uvauf] {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.social[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf] {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: var(--accent);
  transition: color .16s ease, transform .16s var(--ease-out);
}

.social[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf]:active {
  transform: scale(.94);
}

@media (hover: hover) and (pointer: fine) {
  .social[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf]:hover {
    color: var(--navy-hover);
  }
}

.portrait[data-astro-cid-ge2uvauf] {
  margin: 0;
  position: relative;
  isolation: isolate;
}

@media (width >= 861px) {
  .grid[data-astro-cid-ge2uvauf] {
    align-items: start;
  }

  .frame[data-astro-cid-ge2uvauf] {
    margin-top: calc(var(--name-size) * .135);
    margin-left: auto;
    width: min(100%, calc((100svh - 4rem - var(--pad-top) - var(--pad-bottom) - var(--name-size) * .135) * .8));
    box-shadow: 0 30px 50px -30px #0e234059;
  }
}

.frame[data-astro-cid-ge2uvauf] {
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--bg-soft);
}

.frame[data-astro-cid-ge2uvauf] img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 50% 25%;
}

@media (prefers-reduced-motion: no-preference) {
  .copy[data-astro-cid-ge2uvauf] > [data-astro-cid-ge2uvauf] {
    animation: fade-up .8s var(--ease-out) both;
  }

  .copy[data-astro-cid-ge2uvauf] > [data-astro-cid-ge2uvauf]:nth-child(2) {
    animation-delay: .1s;
  }

  .copy[data-astro-cid-ge2uvauf] > [data-astro-cid-ge2uvauf]:nth-child(3) {
    animation-delay: .2s;
  }

  .frame[data-astro-cid-ge2uvauf] {
    animation: reveal .6s var(--ease-out) both;
  }
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .frame[data-astro-cid-ge2uvauf] img {
      animation: linear both settle;
      animation-timeline: --hero;
      animation-range: exit;
    }
  }
}

@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes reveal {
  from {
    clip-path: inset(100% 0 0 0 round var(--radius));
  }

  to {
    clip-path: inset(0 0 0 0 round var(--radius));
  }
}

@keyframes settle {
  to {
    transform: scale(1.06) translateY(-3%);
  }
}

@media (width <= 860px) {
  .hero[data-astro-cid-ge2uvauf] {
    --pad-bottom: 1.5rem;
    padding-top: clamp(1rem, 3svh, 2rem);
  }

  .grid[data-astro-cid-ge2uvauf] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
  }

  .sub[data-astro-cid-ge2uvauf] {
    margin-top: 1rem;
  }

  .actions[data-astro-cid-ge2uvauf] {
    margin-top: .75rem;
  }

  .portrait[data-astro-cid-ge2uvauf] {
    flex: 1;
    position: relative;
    min-height: 12rem;
  }

  .frame[data-astro-cid-ge2uvauf] {
    position: absolute;
    inset: 0;
  }

  .frame[data-astro-cid-ge2uvauf] img {
    height: 100%;
    aspect-ratio: auto;
    object-position: 50% 22%;
  }
}
.landing[data-astro-cid-lcdefpme] {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.landing[data-astro-cid-lcdefpme] > .hero {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
