:root {
  --canvas: #0a0a0a;
  --surface-1: #111;
  --ink: #fff;
  --ink-muted: #b0b0b0;
  --ink-faint: #7a7a7a;
  --accent-ink: #0a0a0a;
  --hairline: #1c1c1c;
  --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-body:
    "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fs-overline: 0.7rem;
  --fs-body: 1.0625rem;
  --fs-lead: clamp(1.02rem, 0.97rem + 0.28vw, 1.15rem);
  --fs-h3: clamp(1.4rem, 1.15rem + 1.1vw, 1.95rem);
  --fs-h2: clamp(1.6rem, 1.28rem + 1.7vw, 2.75rem);
  --tracking-overline: 0.2em;
  --tracking-label: 0.14em;
  --leading-tight: 1.02;
  --leading-snug: 1.14;
  --leading-body: 1.6;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-section: clamp(6rem, 4rem + 8.5vw, 12.5rem);
  --card-pad: clamp(1.6rem, 1.15rem + 1.4vw, 2.25rem);
  --gap-cards: clamp(1rem, 0.7rem + 0.9vw, 1.4rem);
  --inset: clamp(1.25rem, 0.5rem + 4vw, 2.5rem);
  --maxw: 1440px;
  --measure: 64ch;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 13px;
  --radius-xl: 18px;
  --radius-full: 999px;
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur-1: 0.16s;
  --dur-2: 0.28s;
  --dur-3: 0.52s;
  --tex-paper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.62' numOctaves='2' stitchTiles='stitch'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.26'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");
}

picture {
  display: contents;
}
*,
:before,
:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  :before,
  :after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
body {
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: 300;
  line-height: var(--leading-body);
  letter-spacing: 0.005em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizelegibility;
  overflow-x: hidden;
}
img,
svg {
  max-width: 100%;
  display: block;
}
img {
  object-fit: cover;
}
a {
  color: inherit;
  text-decoration: none;
}
ul {
  list-style: none;
}
button {
  font: inherit;
  color: inherit;
  cursor: pointer;
  background: 0 0;
  border: none;
}
input,
textarea,
select,
button {
  font-family: inherit;
}
.shell {
  width: 100%;
  max-width: var(--maxw);
  padding-inline: var(--inset);
  margin-inline: auto;
}
.skip-link {
  left: var(--inset);
  z-index: 200;
  background: var(--ink);
  color: var(--accent-ink);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  transition: top var(--dur-1) var(--ease);
  padding: 0.6rem 1rem;
  font-size: 0.8rem;
  position: absolute;
  top: -120px;
}
.skip-link:focus {
  top: var(--space-4);
}
.h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--fs-h2);
  line-height: var(--leading-tight);
  letter-spacing: -0.021em;
}
.h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--fs-h3);
  line-height: var(--leading-snug);
  letter-spacing: -0.014em;
}
.h2,
.h3 {
  text-wrap: balance;
}
.overline {
  font-size: var(--fs-overline);
  text-transform: uppercase;
  letter-spacing: var(--tracking-overline);
  color: var(--ink-faint);
  font-weight: 500;
  display: inline-block;
}
.btn {
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-radius: var(--radius-sm);
  transition: all var(--dur-2) var(--ease);
  white-space: nowrap;
  border: 1px solid #0000;
  align-items: center;
  gap: 0.62rem;
  padding: 0.58rem 1.15rem;
  font-size: 0.7rem;
  font-weight: 500;
  display: inline-flex;
}
.btn svg {
  width: 1em;
  height: 1em;
  transition: transform var(--dur-2) var(--ease);
  flex-shrink: 0;
}
.btn--ghost {
  color: var(--ink);
  background-image: linear-gradient(#ffffff0f 0%, #fff0 48%);
  border-color: #ffffff0e;
  box-shadow:
    inset 0 1px #ffffff17,
    0 10px 22px -18px #0009;
}
.btn--ghost:hover {
  background: var(--ink);
  color: var(--accent-ink);
  border-color: var(--ink);
}
.btn--ghost:hover svg {
  transform: translate(3px);
}
.textlink {
  width: fit-content;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--ink-muted);
  min-height: 46px;
  transition:
    color var(--dur-2) var(--ease),
    background var(--dur-2) var(--ease),
    box-shadow var(--dur-2) var(--ease),
    transform var(--dur-2) var(--ease);
  background:
    radial-gradient(110% 160% at 22% 0, #ffffff16, #0000 60%), #ffffff06;
  border: 0;
  border-radius: 999px;
  align-self: flex-start;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 0.76rem;
  font-weight: 500;
  display: inline-flex;
  box-shadow:
    inset 0 1px #ffffff13,
    inset 0 -8px 14px -13px #0000008f,
    0 12px 22px -17px #000000e6;
}
.textlink svg {
  width: 0.95em;
  height: 0.95em;
  transition: transform var(--dur-2) var(--ease);
}
.textlink:hover {
  color: var(--ink);
  background:
    radial-gradient(110% 160% at 22% 0, #ffffff1f, #0000 62%), #ffffff0a;
  border: 0;
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px #ffffff17,
    inset 0 -8px 14px -13px #00000094,
    0 14px 25px -17px #000000f0;
}
.textlink:hover svg {
  transform: translate(3px);
}
.nav {
  z-index: 100;
  padding: var(--space-3) var(--inset) 0;
  pointer-events: none;
  transition: transform 0.52s cubic-bezier(0.22, 0.61, 0.36, 1);
  position: sticky;
  top: 0;
}
.nav__inner {
  pointer-events: auto;
  align-items: stretch;
  gap: var(--space-3);
  height: 63px;
  max-width: var(--maxw);
  box-shadow: none;
  transition:
    background var(--dur-3) var(--ease),
    border-color var(--dur-3) var(--ease),
    box-shadow var(--dur-3) var(--ease),
    backdrop-filter var(--dur-3) var(--ease);
  background: 0 0;
  border: 0.5px solid #0000;
  border-radius: 14px;
  margin-inline: auto;
  padding: 0 0 0 10px;
  display: flex;
  position: relative;
  overflow: hidden;
}
.nav--scrolled .nav__inner {
  background: color-mix(in srgb, var(--canvas) 68%, transparent);
  -webkit-backdrop-filter: blur(18px) saturate(1.1);
  border-color: #ffffff0a;
  box-shadow:
    inset 0 1px #ffffff0d,
    0 6px 16px -10px #00000052;
}
.nav__inner:after {
  content: "";
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--dur-3) var(--ease);
  -webkit-mask-composite: xor;
  background: linear-gradient(
    155deg,
    #ffffff17 0%,
    #ffffff04 42%,
    #ffffff02 60%,
    #ffffff0d 100%
  );
  padding: 0.5px;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(#000 0 0), linear-gradient(#000 0 0);
  -webkit-mask-position:
    0 0,
    0 0;
  -webkit-mask-size: auto, auto;
  -webkit-mask-repeat: repeat, repeat;
  -webkit-mask-clip: content-box, border-box;
  -webkit-mask-origin: content-box, border-box;
  mask-composite: exclude;
  mask-mode: match-source, match-source;
}
.nav--scrolled .nav__inner:after {
  opacity: 1;
}
.brand {
  align-self: center;
  align-items: center;
  gap: 0.6rem;
  display: flex;
}
.brand__badge {
  border-radius: var(--radius-full);
  width: 36px;
  height: 36px;
  transition:
    border-color var(--dur-2) var(--ease),
    background var(--dur-2) var(--ease);
  border: 1px solid #ffffff0d;
  flex-shrink: 0;
  place-items: center;
  display: grid;
}
.brand:hover .brand__badge {
  border-color: var(--ink);
  background: color-mix(in srgb, var(--ink) 8%, transparent);
}
.site-wordmark {
  color: #ffffffd1;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.055em;
  line-height: 1;
  text-transform: lowercase;
  white-space: nowrap;
}
.site-wordmark--initials {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: -0.035em;
  text-transform: uppercase;
}
.nav__divider {
  background: var(--hairline);
  flex-shrink: 0;
  align-self: stretch;
  width: 1px;
  margin-block: 12px;
}
.nav__links {
  flex: 1;
  justify-content: center;
  align-items: stretch;
  gap: clamp(0.4rem, 1.2vw, 1.15rem);
  display: flex;
}
.nav__link {
  letter-spacing: 0.14em;
  text-transform: uppercase;
  height: 100%;
  color: var(--ink-muted);
  transition: color var(--dur-2) var(--ease);
  align-items: center;
  padding-inline: 0.3rem;
  font-size: 0.7rem;
  font-weight: 500;
  display: inline-flex;
  position: relative;
}
.nav__link:after {
  content: "";
  background: var(--ink);
  transform-origin: 50%;
  height: 1px;
  transition: transform 0.26s cubic-bezier(0.2, 0.7, 0.2, 1);
  position: absolute;
  top: calc(50% + 0.72em);
  left: 0.3rem;
  right: calc(0.3rem + 0.14em);
  transform: scaleX(0);
}
.nav__link:before {
  content: "";
  pointer-events: none;
  opacity: 0;
  background:
    linear-gradient(var(--ink), var(--ink)) left center / 1px 7px no-repeat,
    linear-gradient(var(--ink), var(--ink)) right center / 1px 7px no-repeat,
    linear-gradient(var(--ink), var(--ink)) center center / 1px 7px no-repeat,
    linear-gradient(var(--ink), var(--ink)) 25% center / 1px 4px no-repeat,
    linear-gradient(var(--ink), var(--ink)) 75% center / 1px 4px no-repeat;
  height: 7px;
  position: absolute;
  top: calc(50% + 0.72em - 3px);
  left: 0.3rem;
  right: calc(0.3rem + 0.14em);
}
.nav__link:hover {
  color: var(--ink);
}
.nav__link:hover:after {
  animation: 0.34s cubic-bezier(0.16, 0.84, 0.36, 1) forwards gwMarkDraw;
}
.nav__link:hover:before {
  animation: 0.48s cubic-bezier(0.16, 0.84, 0.36, 1) gwMarkTicks;
}
.nav__link[aria-current="page"] {
  color: var(--ink);
}
.nav__link[aria-current="page"]:after {
  animation: 0.36s cubic-bezier(0.16, 0.84, 0.36, 1) forwards gwMarkDraw;
  transform: scaleX(1);
}
.nav__link[aria-current="page"]:before {
  animation: 0.56s cubic-bezier(0.16, 0.84, 0.36, 1) forwards gwMarkTicks;
}
@keyframes gwMarkDraw {
  0% {
    transform: scaleX(0);
  }
  72% {
    transform: scaleX(1.06);
  }
  to {
    transform: scaleX(1);
  }
}
@keyframes gwMarkTicks {
  0% {
    opacity: 0;
  }
  18% {
    opacity: 0.6;
  }
  46% {
    opacity: 0.5;
  }
  to {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .nav__link:hover:after {
    animation: none;
    transform: scaleX(1);
  }
  .nav__link[aria-current="page"]:after {
    animation: none;
  }
  .nav__link:before,
  .nav__link:hover:before,
  .nav__link[aria-current="page"]:before {
    opacity: 0;
    animation: none;
  }
}
.nav__cta {
  border-radius: var(--radius-sm);
  align-self: center;
  margin-right: 6px;
}
.nav__toggle-input {
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  position: absolute;
}
.nav__burger {
  border-radius: var(--radius-full);
  cursor: pointer;
  width: 40px;
  height: 40px;
  transition: border-color var(--dur-2) var(--ease);
  background: 0 0;
  border: 1px solid #ffffff0d;
  flex-shrink: 0;
  align-self: center;
  margin-left: auto;
  margin-right: 4px;
  display: none;
  position: relative;
}
.nav__burger:hover {
  border-color: #ffffff1f;
}
.nav__burger span {
  background: var(--ink);
  width: 15px;
  height: 1.5px;
  transition:
    transform var(--dur-2) var(--ease),
    opacity var(--dur-2) var(--ease);
  position: absolute;
  left: 50%;
  transform: translate(-50%);
}
.nav__burger span:first-child {
  top: 15px;
}
.nav__burger span:nth-child(2) {
  bottom: 15px;
}
.nav__toggle-input:checked ~ .nav__inner .nav__burger span:first-child {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.nav__toggle-input:checked ~ .nav__inner .nav__burger span:nth-child(2) {
  top: 50%;
  bottom: auto;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.navmenu {
  z-index: 90;
  background: color-mix(in srgb, var(--canvas) 97%, transparent);
  backdrop-filter: blur(10px);
  padding: clamp(2.5rem, 9vw, 5rem) var(--inset);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity var(--dur-3) var(--ease),
    visibility var(--dur-3) var(--ease);
  flex-direction: column;
  justify-content: center;
  display: flex;
  position: fixed;
  inset: 0;
  overflow-y: auto;
}
.nav__toggle-input:checked ~ .navmenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.navmenu__eyebrow {
  font-size: var(--fs-overline);
  text-transform: uppercase;
  letter-spacing: var(--tracking-overline);
  color: var(--ink-faint);
  margin-bottom: var(--space-6);
}
.navmenu__nav a {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
  color: var(--ink);
  border-bottom: 1px solid var(--hairline);
  transition:
    color var(--dur-2) var(--ease),
    padding-left var(--dur-2) var(--ease);
  align-items: baseline;
  gap: 1rem;
  padding-block: clamp(0.35rem, 1.4vh, 0.75rem);
  font-size: clamp(2rem, 1.35rem + 4.6vw, 3.6rem);
  font-weight: 600;
  line-height: 1.04;
  display: flex;
}
.navmenu__nav a:hover {
  color: var(--ink-muted);
  padding-left: 0.5rem;
}
.navmenu__idx {
  font-family: var(--font-body);
  letter-spacing: var(--tracking-label);
  color: var(--ink-faint);
  font-size: 0.8rem;
  font-weight: 500;
}
.navmenu__foot {
  gap: var(--space-3) var(--space-6);
  flex-wrap: wrap;
  margin-top: clamp(2rem, 6vh, 3.5rem);
  display: flex;
}
.navmenu__foot a {
  letter-spacing: 0.05em;
  color: var(--ink-muted);
  transition: color var(--dur-2) var(--ease);
  font-size: 0.82rem;
}
.navmenu__foot a:hover {
  color: var(--ink);
}
.navmenu__close {
  top: 22px;
  right: var(--inset);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--ink-muted);
  cursor: pointer;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.72rem;
  display: inline-flex;
  position: absolute;
}
.navmenu__close:hover {
  color: var(--ink);
}
.nav__toggle-input:checked ~ .navmenu .navmenu__eyebrow {
  animation: gwItem 0.48s 0.38s var(--ease) backwards;
}
.nav__toggle-input:checked ~ .navmenu .navmenu__nav a {
  animation: gwItem 0.5s var(--ease) backwards;
}
.nav__toggle-input:checked ~ .navmenu .navmenu__nav a:first-child {
  animation-delay: 0.44s;
}
.nav__toggle-input:checked ~ .navmenu .navmenu__nav a:nth-child(2) {
  animation-delay: 0.5s;
}
.nav__toggle-input:checked ~ .navmenu .navmenu__nav a:nth-child(3) {
  animation-delay: 0.56s;
}
.nav__toggle-input:checked ~ .navmenu .navmenu__nav a:nth-child(4) {
  animation-delay: 0.62s;
}
.nav__toggle-input:checked ~ .navmenu .navmenu__nav a:nth-child(5) {
  animation-delay: 0.68s;
}
.nav__toggle-input:checked ~ .navmenu .navmenu__nav a:nth-child(6) {
  animation-delay: 0.74s;
}
.nav__toggle-input:checked ~ .navmenu .navmenu__foot {
  animation: gwItem 0.5s 0.8s var(--ease) backwards;
}
@keyframes gwItem {
  0% {
    transform: translateY(15px);
  }
  to {
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .nav__toggle-input:checked ~ .navmenu .navmenu__eyebrow,
  .nav__toggle-input:checked ~ .navmenu .navmenu__nav a,
  .nav__toggle-input:checked ~ .navmenu .navmenu__foot {
    animation: none;
  }
}
body:has(.nav__toggle-input:checked) {
  overflow: hidden;
}
@media (width<=899px) {
  .nav__inner {
    height: 52px;
  }
  .nav__divider,
  .nav__links,
  .nav__cta {
    display: none;
  }
  .nav__burger {
    display: block;
  }
}
.footer {
  isolation: isolate;
  background:
    radial-gradient(62% 54% at 50% 42%, #ffffff09, #0000 68%),
    radial-gradient(38% 45% at 8% 82%, #7e91a505, #0000 75%),
    linear-gradient(#080809, #050506 72%);
  border: 0;
  padding: clamp(7rem, 12vw, 12rem) 0 clamp(2rem, 4vw, 3.5rem);
  position: relative;
  overflow: hidden;
  box-shadow:
    inset 0 100px 120px -118px #ffffff0e,
    inset 0 -120px 130px -110px #000000f5;
}
.footer__ambient {
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(112deg, #ffffff05, #0000 25% 72%, #7e91a503),
    radial-gradient(at 50% 56%, #0000 20%, #00000085 90%);
  position: absolute;
  inset: 0;
}
.footer__display {
  z-index: -1;
  color: #ffffff07;
  width: 100%;
  font-family: var(--font-body);
  text-align: center;
  letter-spacing: -0.055em;
  word-spacing: normal;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  margin: 0;
  font-size: clamp(3.6rem, 9.3vw, 10rem);
  font-weight: 400;
  line-height: 0.78;
  position: absolute;
  top: clamp(2.5rem, 5vw, 5rem);
  left: 50%;
  transform: translate(-50%);
  -webkit-mask-image: linear-gradient(#000 25%, #000000b8 58%, #0000 100%);
  mask-image: linear-gradient(#000 25%, #000000b8 58%, #0000 100%);
}
.footer__shell {
  z-index: 1;
  position: relative;
}
.footer__panel {
  background:
    radial-gradient(100% 135% at 8% 0, #ffffff15, #0000 50%),
    radial-gradient(75% 110% at 100% 100%, #7e91a506, #0000 70%),
    linear-gradient(145deg, #151518f5, #09090bfa);
  border: 0;
  border-radius: clamp(18px, 2vw, 28px);
  grid-template-columns: minmax(240px, 1.25fr) minmax(0, 2.3fr) auto;
  align-items: stretch;
  gap: clamp(2rem, 4vw, 4rem);
  padding: clamp(1.5rem, 3vw, 3rem);
  display: grid;
  position: relative;
  box-shadow:
    inset 0 1px #ffffff13,
    inset 1px 0 #ffffff05,
    inset 0 -36px 55px -48px #000,
    0 28px 48px -30px #000,
    0 72px 120px -56px #000000fa;
}
.footer__intro {
  flex-direction: column;
  align-items: flex-start;
  padding-right: clamp(1rem, 2vw, 2rem);
  display: flex;
}
.footer__brand {
  color: #ffffffd6;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  align-items: center;
  gap: 0.8rem;
  font-size: 0.72rem;
  font-weight: 600;
  max-width: none !important;
  display: inline-flex !important;
}
.footer__brand-mark {
  background:
    radial-gradient(circle at 35% 25%, #ffffff18, #0000 48%), #ffffff06;
  border-radius: 50%;
  place-items: center;
  width: 48px;
  height: 48px;
  display: grid;
  box-shadow:
    inset 0 1px #ffffff17,
    0 14px 26px -18px #000;
}
.footer__brand-mark .site-wordmark {
  font-size: 1rem;
}
.footer__intro > p {
  color: #ffffff6e;
  max-width: 34ch;
  margin: clamp(1.5rem, 2.5vw, 2.25rem) 0;
  font-size: 1rem;
  line-height: 1.75;
}
.footer__cta {
  background:
    radial-gradient(100% 160% at 20% 0, #ffffff1a, #0000 60%), #ffffff09;
  border: 0;
  border-radius: 999px;
  min-height: 43px;
  padding: 0 1.2rem;
  font-size: 0.58rem;
  box-shadow:
    inset 0 1px #ffffff17,
    0 14px 25px -19px #000;
}
.footer__nav {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.75rem, 1.5vw, 1.25rem);
  display: grid;
}
.footer__group {
  background:
    radial-gradient(120% 100% at 15% 0, #ffffff09, #0000 62%), #ffffff03;
  border-radius: 16px;
  min-width: 0;
  padding: clamp(1rem, 1.6vw, 1.4rem);
  box-shadow:
    inset 0 1px #ffffff0a,
    0 20px 30px -28px #000;
}
.footer__label {
  color: #ffffff94;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1.25rem;
  font-size: 0.58rem;
  font-weight: 600;
  display: flex;
}
.footer__label span {
  color: #ffffff3b;
  font-size: 0.48rem;
}
.footer__group ul {
  flex-direction: column;
  gap: 0.72rem;
  margin: 0;
  display: flex;
}
.footer__group a,
.footer__group li > span {
  color: #ffffff5c;
  font-size: 0.66rem;
  line-height: 1.4;
}
.footer__group a {
  transition:
    color var(--dur-2) var(--ease),
    transform var(--dur-2) var(--ease);
  display: inline-block;
}
.footer__group a:hover {
  color: #ffffffdb;
  transform: translate(3px);
}
.footer__top-link {
  color: #ffffffb3;
  width: 44px;
  height: 44px;
  transition:
    color var(--dur-2) var(--ease),
    transform var(--dur-2) var(--ease);
  background:
    radial-gradient(circle at 35% 20%, #ffffff1c, #0000 48%), #ffffff06;
  border-radius: 50%;
  align-self: start;
  place-items: center;
  display: grid;
  box-shadow:
    inset 0 1px #ffffff17,
    0 16px 25px -18px #000;
}
.footer__top-link:hover {
  color: #fff;
  transform: translateY(-3px);
}
.footer__bottom {
  background: linear-gradient(90deg, #0000, #ffffff0f, #0000) top/100% 1px
    no-repeat;
  border: 0;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: clamp(2rem, 3vw, 3rem);
  padding-top: 1.25rem;
  display: grid;
}
.footer__bottom p,
.footer__bottom a {
  color: #ffffff3d;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  margin: 0;
  font-size: 0.52rem;
}
.footer__bottom p:nth-child(2) {
  text-align: center;
}
.footer__bottom a {
  text-align: right;
}
@media (width<=980px) {
  .footer__panel {
    grid-template-columns: 1fr auto;
  }
  .footer__intro,
  .footer__nav {
    grid-column: 1;
  }
  .footer__top-link {
    grid-area: 1/2;
  }
}
@media (width<=700px) {
  .footer {
    padding-top: 6rem;
  }
  .footer__display {
    font-size: clamp(3.2rem, 15vw, 6rem);
    top: 2.75rem;
  }
  .footer__panel {
    grid-template-columns: 1fr auto;
    padding: 1.25rem;
  }
  .footer__intro {
    padding-right: 0;
  }
  .footer__nav {
    grid-template-columns: 1fr;
  }
  .footer__group {
    padding: 1.1rem;
  }
  .footer__bottom {
    grid-template-columns: 1fr;
  }
  .footer__bottom p:nth-child(2),
  .footer__bottom a {
    text-align: left;
  }
}
@media (width>=900px) {
  .navmenu,
  .nav__burger {
    display: none !important;
  }
}
.hero {
  text-align: center;
  min-height: calc(100svh - 70px);
  padding-block: var(--space-6);
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}
.reveal--armed {
  opacity: 0;
  transition:
    opacity var(--dur-3) var(--ease),
    transform var(--dur-3) var(--ease);
  transform: translateY(16px);
}
.reveal--armed.is-in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .reveal--armed {
    opacity: 1 !important;
    transition: none !important;
    transform: none !important;
  }
}
.cta-band__inner {
  z-index: 1;
  padding-block: clamp(2.75rem, 2rem + 3.5vw, 4.5rem);
  padding-inline: var(--inset);
  text-align: center;
  align-items: center;
  gap: var(--space-5);
  flex-direction: column;
  display: flex;
  position: relative;
}
.footer {
  border-top: 1px solid var(--hairline);
  padding-block: var(--space-8) var(--space-6);
}
.footer__brand {
  gap: var(--space-4);
  flex-direction: column;
  grid-column: 1/-1;
  max-width: 42ch;
  display: flex;
}
@media (width>=620px) {
  .footer__brand {
    grid-column: 1/-1;
  }
}
@media (width>=960px) {
  .footer__brand {
    grid-column: auto;
  }
}
.footer__bottom {
  justify-content: space-between;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-8);
  padding-top: var(--space-5);
  border-top: 1px solid var(--hairline);
  flex-wrap: wrap;
  display: flex;
}
.footer__bottom p,
.footer__bottom a {
  color: var(--ink-faint);
  font-size: 0.8rem;
}
.footer__bottom a:hover {
  color: var(--ink-muted);
}
body {
  background: radial-gradient(
      135% 95% at 50% -12%,
      #101010 0%,
      #0b0b0b 55%,
      #070707 100%
    )
    fixed;
}
body:before {
  content: "";
  z-index: 1;
  pointer-events: none;
  opacity: 0.028;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  position: fixed;
  inset: 0;
}
body:after {
  content: "";
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(128% 88% at 50% 42%, #0000 50%, #00000057 100%);
  position: fixed;
  inset: 0;
}
@media (prefers-reduced-motion: no-preference) {
  body:before {
    animation: 7s steps(6, end) infinite grain-drift;
  }
}
@keyframes grain-drift {
  0% {
    transform: translate(0);
  }
  20% {
    transform: translate(-3%, 2%);
  }
  40% {
    transform: translate(2%, -3%);
  }
  60% {
    transform: translate(-2%, -2%);
  }
  80% {
    transform: translate(3%, 2%);
  }
  to {
    transform: translate(0);
  }
}
.footer {
  position: relative;
  overflow: hidden;
}
.footer .shell {
  z-index: 1;
  position: relative;
}
.section {
  isolation: isolate;
  position: relative;
}
.section > * {
  z-index: 1;
  position: relative;
}
.section:before {
  content: "";
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(158deg, #fffdf905 0%, #fffdf900 44%),
    linear-gradient(#0000 70%, #0000003d 100%);
  position: absolute;
  inset: 0;
}
.navmenu {
  background-image: var(--tex-paper);
  background-blend-mode: soft-light;
  background-size: 170px 170px;
}
.footer .shell,
.footer:after {
  position: relative;
}
.footer:after {
  content: "";
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(#fffdf904, #fffdf900 100%);
  height: 40%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.nav {
  z-index: 1000;
  padding: clamp(0.75rem, 1.2vw, 1.15rem) var(--inset) 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transform: none !important;
}
.nav__inner {
  pointer-events: auto;
  height: 58px;
  max-width: min(var(--maxw), calc(100vw - (var(--inset) * 2)));
  background:
    linear-gradient(180deg, #ffffff0e, #ffffff03 48%, #0000001f),
    color-mix(in srgb, var(--canvas) 78%, transparent);
  backdrop-filter: blur(20px) saturate(1.08);
  border: 1px solid #ffffff0e;
  border-radius: 14px;
  margin-inline: auto;
  padding: 0 0.45rem 0 0.65rem;
  box-shadow:
    inset 0 1px #ffffff13,
    inset 0 -1px #ffffff05,
    0 22px 55px -36px #000000f2;
}
.nav--scrolled .nav__inner {
  background:
    linear-gradient(180deg, #ffffff0f, #ffffff04 50%, #00000029),
    color-mix(in srgb, var(--canvas) 82%, transparent);
  border-color: #fff1;
  box-shadow:
    inset 0 1px #ffffff16,
    0 24px 64px -38px #000000fa;
}
.nav__inner:before {
  content: "";
  pointer-events: none;
  border-radius: inherit;
  opacity: 0.75;
  background:
    radial-gradient(85% 120% at 12% 0, #fff1, #0000 55%),
    radial-gradient(75% 110% at 92% 0, #ffffff0a, #0000 58%);
  position: absolute;
  inset: 0;
}
.brand,
.nav__links,
.nav__cta {
  z-index: 1;
  position: relative;
}
.nav__links {
  gap: clamp(0.75rem, 1.6vw, 1.65rem);
}
.nav__link {
  color: color-mix(in srgb, var(--ink-muted) 88%, transparent);
}
.nav__link:hover,
.nav__link[aria-current="page"] {
  color: var(--ink);
}
.nav__link:before {
  display: none;
}
.nav__link:after {
  opacity: 0.9;
  background: linear-gradient(
    90deg,
    transparent,
    var(--ink) 18%,
    var(--ink) 82%,
    transparent
  );
  height: 1px;
  top: calc(50% + 0.72em);
  left: 0.32rem;
  right: calc(0.32rem + 0.14em);
}
.brand__badge {
  background: #ffffff05;
  width: 38px;
  height: 38px;
  box-shadow: inset 0 1px #ffffff0e;
}
.nav__cta {
  margin-right: 0;
}
@media (width<=899px) {
  .nav {
    padding-top: 0.75rem;
  }
  .nav__inner {
    height: 54px;
    max-width: calc(100vw - (var(--inset) * 2));
  }
}
.hero {
  min-height: 100svh;
  padding-top: clamp(5rem, 8vh, 7rem);
}
.btn {
  isolation: isolate;
  border-radius: var(--radius-sm);
  border-color: #ffffff13;
  min-height: 38px;
  position: relative;
  overflow: hidden;
  box-shadow:
    inset 0 1px #ffffff1f,
    0 18px 34px -28px #000000e6;
}
.btn:before {
  content: "";
  z-index: -1;
  opacity: 0.75;
  transition:
    opacity var(--dur-2) var(--ease),
    transform var(--dur-2) var(--ease);
  background:
    linear-gradient(#ffffff18, #fff0 52%),
    radial-gradient(120% 160% at 0 0, #ffffff14, #0000 58%);
  position: absolute;
  inset: 0;
}
.btn:hover {
  border-color: #ffffff24;
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px #ffffff2e,
    0 24px 42px -30px #000000f2;
}
.btn:hover:before {
  opacity: 1;
}
@media (width>=900px) and (width<=1180px) {
  .shell {
    padding-inline: clamp(2rem, 4vw, 3.5rem);
  }
}
.nav {
  z-index: 1000;
  width: 100%;
  padding: 20px var(--inset) 0;
  background: 0 0;
  position: absolute;
  top: 0;
  left: 0;
}
.hero {
  position: relative;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.hero:before {
  content: "";
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(#000000a6 0%, #0000 100%);
  height: 220px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.nav-fixed {
  z-index: 1000;
  -webkit-backdrop-filter: blur(18px);
  background: #0a0a0ab8;
  border-bottom: 1px solid #ffffff0f;
  width: 100%;
  animation: 0.45s navFade;
  top: 0;
  left: 0;
  box-shadow: 0 8px 30px #00000047;
  position: fixed !important;
}
@keyframes navFade {
  0% {
    opacity: 0;
    transform: translateY(-14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
body {
  padding-top: 0 !important;
}
.nav {
  z-index: 1000;
  pointer-events: none;
  width: 100%;
  transition:
    transform var(--dur-3) var(--ease),
    opacity var(--dur-3) var(--ease);
  top: 0;
  left: 0;
  padding: 20px var(--inset) 0 !important;
  box-shadow: none !important;
  background: 0 0 !important;
  border: 0 !important;
  position: absolute !important;
}
.nav-fixed {
  animation: gwNavIn 0.44s var(--ease) both;
  position: fixed !important;
}
.nav-fixed,
.nav-fixed .nav__inner,
.nav__inner {
  pointer-events: auto;
}
.nav-fixed .nav__inner,
.nav--scrolled .nav__inner {
  backdrop-filter: blur(18px) saturate(1.08);
  background: color-mix(in srgb, var(--canvas) 72%, transparent) !important;
  border-color: #ffffff0e !important;
  box-shadow:
    inset 0 1px #ffffff0e,
    0 18px 42px -30px #000000d9 !important;
}
.nav--hidden {
  transform: none !important;
}
@keyframes gwNavIn {
  0% {
    opacity: 0;
    transform: translateY(-12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero {
  min-height: 100svh;
  position: relative;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.hero:before {
  content: "";
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(#000000b8 0%, #00000047 44%, #0000 100%);
  height: 230px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.footer__brand {
  max-width: 31ch !important;
}
.btn {
  position: relative;
  overflow: hidden;
}
.btn:before {
  content: "";
  pointer-events: none;
  opacity: 0;
  transition:
    opacity var(--dur-2) var(--ease),
    transform var(--dur-3) var(--ease);
  background: linear-gradient(105deg, #0000 0%, #ffffff24 44%, #0000 72%);
  position: absolute;
  inset: 0;
  transform: translate(-65%);
}
.btn:hover:before {
  opacity: 1;
  transform: translate(65%);
}
.btn,
button,
input[type="submit"] {
  color: var(--ink);
  background: linear-gradient(#ffffff0b, #ffffff03);
  border: 1px solid #ffffff14;
  box-shadow:
    inset 0 1px #ffffff12,
    0 16px 40px #00000047;
}
.btn:before,
button:before {
  opacity: 0 !important;
}
.btn:hover,
button:hover,
input[type="submit"]:hover {
  background: linear-gradient(#fff1, #ffffff05);
  border-color: #ffffff21;
  box-shadow:
    inset 0 1px #ffffff1a,
    0 20px 52px #00000057;
}
:root {
  --fs-body: 1.1rem;
  --fs-lead: clamp(1.08rem, 1rem + 0.34vw, 1.28rem);
  --fs-h2: clamp(2rem, 1.36rem + 2.55vw, 3.65rem);
  --fs-h3: clamp(1.55rem, 1.22rem + 1.28vw, 2.15rem);
}
.nav {
  z-index: 1000;
  width: 100%;
  padding: clamp(0.9rem, 1.1vw, 1.25rem) var(--inset) 0;
  transition:
    transform 0.52s var(--ease),
    opacity 0.42s var(--ease);
  top: 0;
  left: 0;
  box-shadow: none !important;
  background: 0 0 !important;
  border: 0 !important;
  position: absolute !important;
}
.nav.nav--hidden {
  pointer-events: none;
  opacity: 0 !important;
  transform: translateY(-135%) !important;
}
.nav-fixed {
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  background: 0 0 !important;
  border: 0 !important;
  animation: none !important;
  position: absolute !important;
}
.nav__inner {
  border-radius: 16px;
  height: 66px;
  padding-left: 12px;
}
.nav__link {
  letter-spacing: 0.16em;
  font-size: 0.77rem;
}
.nav__cta {
  letter-spacing: 0.17em;
  min-height: 44px;
  padding-inline: 1.35rem;
  font-size: 0.74rem;
}
.brand__badge {
  width: 46px;
  height: 46px;
}
.nav__divider {
  margin-block: 14px;
}
.hero {
  min-height: 100svh;
}
.btn,
button,
input[type="submit"] {
  letter-spacing: 0.18em;
  border-radius: 7px;
  min-height: 44px;
  padding: 0.74rem 1.35rem;
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--ink) !important;
  background: #ffffff05 linear-gradient(#ffffff0a, #ffffff02) !important;
  border: 1px solid #ffffff18 !important;
  box-shadow:
    inset 0 1px #ffffff12,
    0 14px 34px #0000003d !important;
}
.btn:hover,
button:hover,
input[type="submit"]:hover {
  transform: translateY(-1px);
  background: #ffffff08 linear-gradient(#ffffff0e, #ffffff03) !important;
  border-color: #ffffff26 !important;
  box-shadow:
    inset 0 1px #ffffff1a,
    0 18px 44px #0000004d !important;
}
.section {
  padding-top: clamp(4.5rem, 3.4rem + 4.6vw, 8.75rem);
  padding-bottom: clamp(5.8rem, 4rem + 6.2vw, 10.5rem);
}
@media (width<=760px) {
  .nav__inner {
    height: 58px;
  }
  .brand__badge {
    width: 40px;
    height: 40px;
  }
}

.navmenu {
  isolation: isolate;
  background:
    radial-gradient(85% 55% at 12% 0, #fff1, #0000 62%),
    radial-gradient(75% 55% at 100% 100%, #7e91a506, #0000 72%),
    linear-gradient(145deg, #111114fb, #070709fe);
  background-image:
    radial-gradient(85% 55% at 12% 0%, #fff1, transparent 62%),
    radial-gradient(75% 55% at 100% 100%, #7e91a506, transparent 72%),
    var(--tex-paper), linear-gradient(145deg, #111114fb, #070709fe);
  background-blend-mode: normal, normal, soft-light, normal;
  background-size:
    auto,
    auto,
    180px 180px,
    auto;
  border: 0;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 4vh, 2.75rem);
  padding: clamp(1rem, 4vw, 1.75rem);
  display: grid;
  box-shadow: inset 0 1px #ffffff0b;
}
.navmenu:after {
  content: "";
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(65% 40% at 50% 42%, #ffffff06, #0000 72%),
    linear-gradient(#0000 55%, #00000061);
  position: absolute;
  inset: 0;
}
.navmenu__word {
  z-index: -1;
  color: #ffffff05;
  font-family: var(--font-body);
  letter-spacing: -0.075em;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  font-size: clamp(7rem, 35vw, 18rem);
  font-weight: 500;
  line-height: 0.8;
  position: absolute;
  top: 14%;
  left: 50%;
  transform: translate(-50%);
}
.navmenu__topbar {
  z-index: 2;
  width: min(680px, calc(100vw - (2 * var(--inset))));
  -webkit-backdrop-filter: blur(24px) saturate(1.15);
  background:
    radial-gradient(100% 150% at 18% 0, #ffffff0d, #0000 62%), #0a0a0c85;
  border: 0;
  border-radius: 999px;
  justify-content: space-between;
  align-items: center;
  min-height: 56px;
  margin-inline: auto;
  padding: 6px 8px;
  display: flex;
  position: relative;
  box-shadow:
    inset 0 1px #ffffff0e,
    inset 0 -1px #00000040,
    0 18px 34px -24px #000000e6;
}
.navmenu__brand {
  color: #ffffffad;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.62rem;
  display: inline-flex;
}
.navmenu__brand-badge {
  background: #ffffff05;
  border-radius: 50%;
  place-items: center;
  width: 44px;
  height: 44px;
  display: grid;
  box-shadow:
    inset 0 1px #ffffff0f,
    0 8px 16px -14px #000000b8;
}
.navmenu__brand-badge .site-wordmark {
  font-size: 0.72rem;
}
.navmenu__brand-badge .site-wordmark--initials {
  font-size: 1rem;
}
.navmenu__close {
  color: #ffffff94;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  background: #ffffff05;
  border-radius: 999px;
  align-items: center;
  gap: 0.7rem;
  min-height: 42px;
  padding: 0 0.9rem;
  font-size: 0.6rem;
  display: inline-flex;
  position: static;
  box-shadow: inset 0 1px #ffffff0a;
}
.navmenu__close-mark {
  width: 14px;
  height: 14px;
  position: relative;
}
.navmenu__close-mark:before,
.navmenu__close-mark:after {
  content: "";
  background: currentColor;
  width: 14px;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
}
.navmenu__close-mark:before {
  transform: rotate(45deg);
}
.navmenu__close-mark:after {
  transform: rotate(-45deg);
}
.navmenu__body {
  z-index: 1;
  flex-direction: column;
  justify-content: center;
  width: min(100%, 760px);
  min-height: 0;
  margin-inline: auto;
  display: flex;
  position: relative;
}
.navmenu__eyebrow {
  color: #ffffff57;
  letter-spacing: 0.2em;
  margin-bottom: clamp(1rem, 3vh, 2rem);
  font-size: 0.56rem;
}
.navmenu__nav {
  flex-direction: column;
  display: flex;
}
.navmenu__nav a {
  color: #ffffffb8;
  font-family: var(--font-body);
  letter-spacing: -0.035em;
  text-transform: uppercase;
  transition:
    color var(--dur-2) var(--ease),
    padding-left var(--dur-2) var(--ease);
  background: linear-gradient(90deg, #0000, #ffffff0d 45%, #0000) bottom/100%
    1px no-repeat;
  border: 0;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: clamp(0.75rem, 3vw, 1.5rem);
  padding: clamp(0.6rem, 1.8vh, 1rem) 0;
  font-size: clamp(1.75rem, 7.5vw, 4rem);
  font-weight: 400;
  line-height: 1;
  display: grid;
}
.navmenu__nav a:hover,
.navmenu__nav a:focus-visible {
  color: #fffffff2;
  padding-left: 0.35rem;
}
.navmenu__idx {
  color: #ffffff42;
  font-family: var(--font-body);
  letter-spacing: 0.16em;
  font-size: 0.56rem;
  font-weight: 400;
}
.navmenu__foot {
  z-index: 1;
  background: linear-gradient(90deg, #0000, #ffffff0e 50%, #0000) top/100% 1px
    no-repeat;
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  gap: 1rem;
  width: min(100%, 760px);
  margin: 0 auto;
  padding-top: clamp(1rem, 2.5vh, 1.5rem);
  display: grid;
  position: relative;
}
.navmenu__foot > div {
  flex-direction: column;
  gap: 0.35rem;
  display: flex;
}
.navmenu__foot span {
  color: #ffffff47;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.5rem;
}
.navmenu__foot strong,
.navmenu__foot a {
  color: #ffffff94;
  letter-spacing: 0.03em;
  font-size: 0.68rem;
  font-weight: 400;
}
.navmenu__contact {
  text-align: right;
  align-items: flex-end;
}
@media (width<=560px) {
  .navmenu__foot {
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem 1rem;
  }
  .navmenu__contact {
    text-align: left;
    grid-column: 1/-1;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row !important;
    gap: 0.65rem !important;
  }
  .navmenu__contact a + a:before {
    content: "·";
    color: #ffffff30;
    margin-right: 0.65rem;
  }
}
@media (height<=650px) {
  .navmenu {
    gap: 0.75rem;
  }
  .navmenu__eyebrow {
    margin-bottom: 0.5rem;
  }
  .navmenu__nav a {
    padding-block: 0.45rem;
    font-size: clamp(1.45rem, 6vh, 2.6rem);
  }
  .navmenu__foot {
    padding-top: 0.65rem;
  }
}
@media (width<=899px) {
  .nav__inner {
    width: min(680px, calc(100vw - (2 * var(--inset))));
    justify-content: space-between;
  }
  .nav__links {
    flex: 0 0 44px;
    align-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    display: flex;
  }
  .nav__link,
  .nav__cta {
    display: none;
  }
}
.footer {
  background:
    radial-gradient(72% 48% at 50% 43%, #e0e6ee0c, #0000 70%),
    radial-gradient(55% 48% at 12% 72%, #7e91a506, #0000 76%),
    radial-gradient(48% 42% at 92% 80%, #ffffff05, #0000 74%),
    linear-gradient(#050506 0% 22%, #080809 46%, #050506 82%);
  box-shadow: inset 0 -150px 180px -130px #000000fa;
}
.footer__ambient {
  background:
    radial-gradient(68% 32% at 50% 42%, #ffffff08, #0000 74%),
    linear-gradient(112deg, #ffffff04, #0000 28% 70%, #7e91a503),
    radial-gradient(at 50% 58%, #0000 16%, #0000006b 92%);
}
.footer__display {
  width: min(
    calc(100% - (2 * var(--inset))),
    calc(var(--maxw) - (2 * var(--inset)))
  );
  color: #ffffff03;
  text-shadow:
    0 -1px #ffffff02,
    0 28px 48px #000000bd,
    0 0 80px #cad6e202;
  font-size: 10.2vw;
  top: clamp(2.75rem, 5.5vw, 5.5rem);
  -webkit-mask-image: linear-gradient(#000 18%, #000000d1 56%, #0000 100%);
  mask-image: linear-gradient(#000 18%, #000000d1 56%, #0000 100%);
}
.footer__panel {
  backdrop-filter: blur(22px) saturate(0.76);
  background:
    radial-gradient(112% 92% at 6% -4%, #ffffff0b, #0000 56%),
    radial-gradient(72% 68% at 98% 98%, #7a8b9e02, #0000 76%),
    linear-gradient(145deg, #0c0c0ff7 0%, #08080afb 48%, #040406fe 100%);
  box-shadow:
    inset 0 1px #ffffff0a,
    inset 1px 0 #ffffff03,
    inset -1px 0 #ffffff01,
    inset 0 -48px 76px -58px #000000fa,
    0 2px #ffffff02,
    0 34px 52px -32px #000000fa,
    0 82px 148px -62px #000000f5,
    -20px 24px 76px -60px #b8c3d00b;
}
.footer__nav {
  box-shadow: none;
  background: 0 0;
  border-radius: 0;
  padding: 0;
}
.footer .footer__brand {
  align-items: center;
  min-height: 122px;
}
.footer__brand-mark {
  width: auto;
  height: auto;
  box-shadow: none;
  background: 0 0;
  border-radius: 0;
  overflow: visible;
}
.footer__brand-mark .site-wordmark {
  color: #f0f0f1;
  opacity: 0.68;
  filter: drop-shadow(0 20px 30px #000000b8);
  font-family: var(--font-body);
  font-size: clamp(1.55rem, 2.3vw, 2.25rem);
  font-weight: 400;
  letter-spacing: -0.055em;
  text-transform: uppercase;
  display: block;
}
.footer .footer__cta {
  letter-spacing: 0.15em;
  min-height: 46px;
  transition:
    color var(--dur-2) var(--ease),
    background var(--dur-2) var(--ease),
    transform var(--dur-2) var(--ease);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  font-size: 0.72rem;
  display: inline-flex;
  color: #fffc !important;
  background-color: #ffffff06 !important;
  background-image: radial-gradient(
    110% 160% at 22% 0,
    #ffffff16,
    #0000 60%
  ) !important;
  background-position:
    0 0,
    0 0 !important;
  background-repeat: repeat, repeat !important;
  background-size: auto, auto !important;
  background-attachment: scroll, scroll !important;
  background-origin: padding-box, padding-box !important;
  background-clip: border-box, border-box !important;
  border: 0 !important;
  box-shadow:
    inset 0 1px #ffffff13,
    inset 0 -8px 14px -13px #0000008f,
    0 12px 22px -17px #000000e6 !important;
}
.footer .footer__cta:hover {
  transform: translateY(-1px);
  color: #fffffff5 !important;
  background-color: #ffffff0a !important;
  background-image: radial-gradient(
    110% 160% at 22% 0,
    #ffffff1f,
    #0000 62%
  ) !important;
  background-position:
    0 0,
    0 0 !important;
  background-repeat: repeat, repeat !important;
  background-size: auto, auto !important;
  background-attachment: scroll, scroll !important;
  background-origin: padding-box, padding-box !important;
  background-clip: border-box, border-box !important;
  border: 0 !important;
  box-shadow:
    inset 0 1px #ffffff13,
    inset 0 -8px 14px -13px #0000008f,
    0 14px 24px -17px #000000f0 !important;
}
.footer__group {
  box-shadow: none;
  background: 0 0;
  border-radius: 0;
  padding: clamp(0.75rem, 1.3vw, 1.15rem) clamp(0.4rem, 1vw, 0.85rem);
}
.footer__group + .footer__group {
  background: linear-gradient(#0000, #ffffff0e 18% 82%, #0000) 0/1px 100%
    no-repeat;
}
.footer__label {
  margin-bottom: 1.5rem;
  font-size: 0.74rem;
}
.footer__label span {
  font-size: 0.62rem;
}
.footer__group ul {
  gap: 0.9rem;
}
.footer__group a,
.footer__group li > span {
  color: #ffffff6e;
  font-size: 1rem;
}
@media (width<=700px) {
  .footer__display {
    width: calc(100% - (2 * var(--inset)));
    font-size: clamp(2.8rem, 13.5vw, 5.4rem);
  }
  .footer .footer__brand {
    min-height: 90px;
  }
  .footer__brand-mark {
    width: auto;
    height: auto;
  }
  .footer__group + .footer__group {
    background: linear-gradient(90deg, #ffffff0e, #0000) top/100% 1px no-repeat;
  }
}
.footer {
  border: 0;
  padding: clamp(7rem, 12vw, 12rem) 0 clamp(2rem, 4vw, 3.5rem);
}
.footer .footer__brand {
  flex-direction: row;
  gap: 0.8rem;
  max-width: none !important;
  display: inline-flex !important;
}
.footer .footer__bottom {
  border: 0;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: clamp(2rem, 3vw, 3rem);
  padding-top: 1.25rem;
  display: grid;
}
.footer .footer__bottom p,
.footer .footer__bottom a {
  color: #ffffff3d;
  font-size: 0.52rem;
}
@media (width<=700px) {
  .footer {
    padding-top: 6rem;
  }
  .footer__panel {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0 1rem;
    padding: clamp(1.25rem, 5vw, 1.75rem);
  }
  .footer__intro {
    padding-right: 0;
    padding-bottom: 1.5rem;
  }
  .footer .footer__brand {
    align-items: flex-start;
    min-height: 0;
  }
  .footer__brand-mark .site-wordmark {
    font-size: clamp(1.35rem, 6vw, 1.7rem);
  }
  .footer__intro > p {
    max-width: 36ch;
    margin: 1.15rem 0 1.35rem;
    font-size: 0.9rem;
    line-height: 1.6;
  }
  .footer .footer__cta {
    min-height: 42px;
    padding-inline: 1rem;
    font-size: 0.64rem;
  }
  .footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1.25rem;
    padding-top: 1.5rem;
    background: linear-gradient(90deg, #0000, #ffffff0d 12% 88%, #0000)
      top/100% 1px no-repeat;
  }
  .footer__group {
    padding: 0 0 1.35rem;
  }
  .footer__group + .footer__group {
    background: none;
  }
  .footer__group:nth-child(2) {
    background: none;
  }
  .footer__group:nth-child(3) {
    grid-column: 1/-1;
    margin-top: 0.1rem;
    padding-top: 1.35rem;
    padding-bottom: 0.15rem;
    background: linear-gradient(90deg, #0000, #ffffff0d 14% 86%, #0000)
      top/100% 1px no-repeat;
  }
  .footer__group:nth-child(3) ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem 1rem;
    display: grid;
  }
  .footer__label {
    margin-bottom: 0.85rem;
    font-size: 0.66rem;
  }
  .footer__label span {
    font-size: 0.54rem;
  }
  .footer__group ul {
    gap: 0.62rem;
  }
  .footer__group a,
  .footer__group li > span {
    font-size: 0.9rem;
    line-height: 1.35;
  }
  .footer__top-link {
    width: 40px;
    height: 40px;
    align-self: start;
  }
  .footer .footer__bottom {
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    justify-content: start;
    gap: 0.7rem 0.65rem;
    margin-top: 1.5rem;
    padding-top: 1.15rem;
    padding-inline: clamp(1.25rem, 5vw, 1.75rem);
  }
  .footer .footer__bottom p:nth-child(2) {
    grid-column: 1/-1;
    grid-row: 2;
    order: 3;
    text-align: left;
  }
  .footer .footer__bottom a {
    order: 2;
    text-align: left;
  }
  .footer .footer__bottom a:before {
    content: "·";
    color: #ffffff2e;
    margin-right: 0.65rem;
  }
  .footer .footer__bottom p:first-child {
    order: 1;
  }
  .footer .footer__bottom p,
  .footer .footer__bottom a {
    letter-spacing: 0.09em;
    line-height: 1.5;
  }
}
.nav {
  padding-top: clamp(1.25rem, 2.4vw, 1.8rem);
}
.nav__inner {
  width: min(1180px, calc(100vw - (2 * var(--inset))));
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
  background: #0a0a0ca8;
  border: 0;
  border-radius: 999px;
  align-items: center;
  gap: clamp(0.8rem, 1.8vw, 1.6rem);
  max-width: 1180px;
  height: 58px;
  padding: 5px 7px;
  overflow: visible;
  box-shadow:
    inset 0 1px #ffffff0e,
    inset 0 -1px #0000007a,
    0 26px 58px -34px #000000f5;
}
.nav__inner:after,
.nav__divider {
  display: none;
}
.brand {
  flex: none;
}
.brand__badge {
  background: #ffffff09;
  border: 0;
  width: 46px;
  height: 46px;
  box-shadow:
    inset 0 1px #ffffff12,
    0 12px 28px -18px #000000f2;
}
.nav__links {
  justify-content: space-evenly;
  align-items: center;
  gap: clamp(0.5rem, 1.5vw, 1.5rem);
}
.nav__link {
  letter-spacing: 0.13em;
  height: 46px;
  padding-inline: clamp(0.35rem, 0.8vw, 0.75rem);
  font-size: 0.7rem;
}
.nav__link[aria-current="page"] {
  background: #ffffff0b;
  border-radius: 999px;
  padding-inline: clamp(0.85rem, 1.4vw, 1.25rem);
  box-shadow:
    inset 0 1px #fff1,
    0 12px 28px -20px #000000f2;
}
.nav__cta {
  white-space: nowrap;
  border-radius: 999px;
  min-height: 46px;
  margin: 0;
  padding-inline: clamp(1rem, 1.8vw, 1.6rem);
  font-size: 0.67rem;
  background: #ffffff09 !important;
  border: 0 !important;
  box-shadow:
    inset 0 1px #ffffff12,
    0 14px 34px -22px #000000f5 !important;
}
.nav--scrolled .nav__inner {
  background: #0a0a0ca8;
  border: 0;
  box-shadow:
    inset 0 1px #ffffff0e,
    inset 0 -1px #0000007a,
    0 26px 58px -34px #000000f5;
}
@media (width<=760px) {
  .nav {
    padding-top: 1rem;
  }
  .nav__inner {
    height: 58px;
    padding-inline: 6px;
  }
  .brand__badge {
    width: 46px;
    height: 46px;
  }
  .nav__burger {
    background: #ffffff09;
    border: 0;
    box-shadow: inset 0 1px #ffffff0f;
  }
}
@media (width<=899px) {
  .nav__inner {
    width: min(680px, calc(100vw - (2 * var(--inset))));
    justify-content: space-between;
  }
  .nav__links {
    flex: 0 0 44px;
    align-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    display: flex;
  }
  .nav__link,
  .nav__cta {
    display: none;
  }
}
.page-home {
  background:
    radial-gradient(circle at 50% 8%, #ffffff0e, transparent 28rem),
    var(--canvas);
  --home-section-word-size: clamp(5rem, 14vw, 13rem);
  --home-section-word-color: #ffffff05;
  --home-surface-high: #0d0d10;
  --home-surface-mid: #09090b;
  --home-surface-low: #060608;
  --home-light-key: #ffffff09;
  --home-light-fill: #97a9bc03;
}
.page-home .work-reel__word {
  color: #ffffff08;
}
.contact-form-wrap {
  background:
    linear-gradient(145deg, #ffffff03, #0000 36% 68%, #0000004a),
    radial-gradient(95% 70% at 8% 0, #ffffff0c, #0000 58%),
    radial-gradient(70% 58% at 100% 100%, #91a3b504, #0000 74%),
    linear-gradient(155deg, #111114e8, #08080ae8 68%, #060607f2);
  box-shadow:
    inset 0 1px #ffffff0a,
    inset 1px 0 #ffffff04,
    inset 0 -34px 48px -38px #000000f5,
    0 34px 58px -40px #000000f2;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
  background:
    radial-gradient(125% 105% at 8% 0, #ffffff06, #0000 55%),
    linear-gradient(#050507d6, #08080abd);
  box-shadow:
    inset 0 1px 1px #000000eb,
    inset 0 2px #ffffff04,
    inset 8px 0 16px -18px #ffffff13,
    inset 0 -18px 28px -24px #000000fa,
    0 10px 20px -20px #000000eb;
}
.contact-form :is(input, select, textarea):hover {
  background:
    radial-gradient(125% 105% at 8% 0, #ffffff09, #0000 56%),
    linear-gradient(#060608e0, #09090bc7);
}
@media (width<=760px) {
  .page-home {
    --home-section-word-size: 18vw;
  }
}

/* LYFE dock marquee: fixed project context above a continuous gallery rail. */
.page-case--lyfe .lyfe-campaign .lyfe-hero__dock-inner {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(78% 135% at 54% -35%, #ffffff08, transparent 68%),
    linear-gradient(112deg, #0e0f11, #070809 76%);
  -webkit-mask-image: linear-gradient(90deg, #000 0 97%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0 97%, transparent 100%);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
  display: flex;
  width: max-content;
  height: 100%;
  will-change: transform;
  animation: lyfe-dock-marquee-final 62s linear infinite;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-set,
.page-case--lyfe
  .lyfe-campaign
  .lyfe-hero__previews-set[aria-hidden="true"] {
  display: flex !important;
  flex: none;
  gap: clamp(0.75rem, 1.05vw, 1.2rem);
  height: 100%;
  padding-right: clamp(0.75rem, 1.05vw, 1.2rem);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
.page-case--lyfe
  .lyfe-campaign
  .lyfe-hero__preview
  + .lyfe-hero__preview,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
  display: block !important;
  flex: none;
  width: clamp(12.75rem, 18vw, 21.75rem) !important;
  height: calc(100% - clamp(0.7rem, 1vw, 1rem)) !important;
  min-width: 0;
  min-height: 0;
  margin-block: clamp(0.35rem, 0.5vw, 0.5rem);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview figure,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview img {
  width: 100%;
  height: 100%;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview img {
  object-fit: cover;
}

.page-case--lyfe
  .lyfe-campaign
  .lyfe-hero__previews:focus-within
  .lyfe-hero__previews-track {
  animation-play-state: running;
}
.page-case--lyfe
  .lyfe-campaign
  .lyfe-hero__previews:hover
  .lyfe-hero__previews-track {
  animation-play-state: paused;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
  position: absolute;
  z-index: 4;
  inset: 0 auto 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(1.25rem, 2.4vw, 3rem);
  width: clamp(17rem, 36%, 31rem);
  height: 100%;
  padding: clamp(1.35rem, 2.35vw, 2.55rem);
  background:
    radial-gradient(100% 125% at 8% -8%, #ffffff0a, transparent 62%),
    linear-gradient(
      90deg,
      #111214fa 0%,
      #0d0e10f2 64%,
      #0b0c0dd2 82%,
      transparent 100%
    );
  box-shadow:
    inset 0 24px 52px -48px #ffffff26,
    30px 0 72px -52px #000000e8;
  -webkit-backdrop-filter: blur(16px) saturate(72%);
  backdrop-filter: blur(16px) saturate(72%);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__meta > div {
  min-height: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}

@keyframes lyfe-dock-marquee-final {
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .page-case--lyfe
    .lyfe-campaign
    .lyfe-hero__previews::-webkit-scrollbar {
    display: none;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
    animation: none;
  }

  .page-case--lyfe
    .lyfe-campaign
    .lyfe-hero__previews-set[aria-hidden="true"] {
    display: none !important;
  }
}

@media (width<=760px) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    width: min(48%, 10.5rem);
    padding: 1rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
  .page-case--lyfe
    .lyfe-campaign
    .lyfe-hero__preview
    + .lyfe-hero__preview,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
    width: clamp(9.75rem, 46.5vw, 13.5rem) !important;
  }
}

.page-case--lyfe
  .lyfe-campaign:not(.is-image-focus)
  .case-hero__media {
  bottom: calc(var(--lyfe-dock-height) - 1px);
}

/* LYFE dock: fixed project context over a continuous image marquee. */
.page-case--lyfe .lyfe-campaign .lyfe-hero__dock-inner {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(80% 130% at 54% -35%, #ffffff08, transparent 66%),
    linear-gradient(112deg, #0e0f11, #070809 76%);
  -webkit-mask-image: linear-gradient(90deg, #000 0 97%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0 97%, transparent 100%);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
  display: flex;
  width: max-content;
  height: 100%;
  will-change: transform;
  animation: lyfe-dock-marquee-final 62s linear infinite;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-set,
.page-case--lyfe
  .lyfe-campaign
  .lyfe-hero__previews-set[aria-hidden="true"] {
  display: flex !important;
  flex: none;
  gap: clamp(0.45rem, 0.7vw, 0.75rem);
  height: 100%;
  padding-right: clamp(0.45rem, 0.7vw, 0.75rem);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
.page-case--lyfe
  .lyfe-campaign
  .lyfe-hero__preview
  + .lyfe-hero__preview,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
  display: block !important;
  flex: none;
  width: clamp(19rem, 29vw, 34rem) !important;
  height: calc(100% - clamp(0.7rem, 1vw, 1rem)) !important;
  min-width: 0;
  min-height: 0;
  margin-block: clamp(0.35rem, 0.5vw, 0.5rem);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview figure,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview img {
  width: 100%;
  height: 100%;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview img {
  object-fit: cover;
}

.page-case--lyfe
  .lyfe-campaign
  .lyfe-hero__previews:hover
  .lyfe-hero__previews-track,
.page-case--lyfe
  .lyfe-campaign
  .lyfe-hero__previews:focus-within
  .lyfe-hero__previews-track {
  animation-play-state: paused;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
  position: absolute;
  z-index: 4;
  inset: 0 auto 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(1.25rem, 2.4vw, 3rem);
  width: clamp(17rem, 36%, 31rem);
  height: 100%;
  padding: clamp(1.35rem, 2.35vw, 2.55rem);
  background:
    radial-gradient(100% 125% at 8% -8%, #ffffff0a, transparent 62%),
    linear-gradient(
      90deg,
      #111214fa 0%,
      #0d0e10f2 64%,
      #0b0c0dd2 82%,
      transparent 100%
    );
  box-shadow:
    inset 0 24px 52px -48px #ffffff26,
    30px 0 72px -52px #000000e8;
  -webkit-backdrop-filter: blur(16px) saturate(72%);
  backdrop-filter: blur(16px) saturate(72%);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__meta > div {
  min-height: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}

@keyframes lyfe-dock-marquee-final {
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .page-case--lyfe
    .lyfe-campaign
    .lyfe-hero__previews::-webkit-scrollbar {
    display: none;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
    animation: none;
  }

  .page-case--lyfe
    .lyfe-campaign
    .lyfe-hero__previews-set[aria-hidden="true"] {
    display: none !important;
  }
}

@media (width<=760px) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    width: min(48%, 10.5rem);
    padding: 1rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
  .page-case--lyfe
    .lyfe-campaign
    .lyfe-hero__preview
    + .lyfe-hero__preview,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
    width: clamp(15rem, 72vw, 21rem) !important;
  }
}

/* LYFE dock: fixed project context over a continuous, two-up image marquee. */
.page-case--lyfe .lyfe-campaign .lyfe-hero__dock-inner {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(80% 130% at 54% -35%, #ffffff08, transparent 66%),
    linear-gradient(112deg, #0e0f11, #070809 76%);
  -webkit-mask-image: linear-gradient(90deg, #000 0 97%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0 97%, transparent 100%);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
  display: flex;
  width: max-content;
  height: 100%;
  will-change: transform;
  animation: lyfe-dock-marquee-final 62s linear infinite;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-set,
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-set[aria-hidden="true"] {
  display: flex !important;
  flex: none;
  gap: clamp(0.45rem, 0.7vw, 0.75rem);
  height: 100%;
  padding-right: clamp(0.45rem, 0.7vw, 0.75rem);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview + .lyfe-hero__preview,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
  display: block !important;
  flex: none;
  width: clamp(19rem, 29vw, 34rem) !important;
  height: calc(100% - clamp(0.7rem, 1vw, 1rem)) !important;
  min-width: 0;
  min-height: 0;
  margin-block: clamp(0.35rem, 0.5vw, 0.5rem);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview figure,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview img {
  width: 100%;
  height: 100%;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview img {
  object-fit: cover;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews:hover .lyfe-hero__previews-track,
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews:focus-within .lyfe-hero__previews-track {
  animation-play-state: paused;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
  position: absolute;
  z-index: 4;
  inset: 0 auto 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(1.25rem, 2.4vw, 3rem);
  width: clamp(17rem, 36%, 31rem);
  height: 100%;
  padding: clamp(1.35rem, 2.35vw, 2.55rem);
  background:
    radial-gradient(100% 125% at 8% -8%, #ffffff0a, transparent 62%),
    linear-gradient(
      90deg,
      #111214fa 0%,
      #0d0e10f2 64%,
      #0b0c0dd2 82%,
      transparent 100%
    );
  box-shadow:
    inset 0 24px 52px -48px #ffffff26,
    30px 0 72px -52px #000000e8;
  -webkit-backdrop-filter: blur(16px) saturate(72%);
  backdrop-filter: blur(16px) saturate(72%);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__meta > div {
  min-height: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}

@keyframes lyfe-dock-marquee-final {
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews::-webkit-scrollbar {
    display: none;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
    animation: none;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews-set[aria-hidden="true"] {
    display: none !important;
  }
}

@media (width<=760px) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    width: min(48%, 10.5rem);
    padding: 1rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview + .lyfe-hero__preview,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
    width: clamp(15rem, 72vw, 21rem) !important;
  }
}

/* LYFE dock marquee — kept last so legacy case-study layout rules cannot override it. */
.page-case--lyfe .lyfe-campaign .lyfe-hero__dock-inner {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(70% 120% at 48% 0, #ffffff07, transparent 66%),
    linear-gradient(90deg, #0b0b0dcf, #08080ad9 36%, #060608f2);
  -webkit-mask-image: linear-gradient(90deg, #000 0 96%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0 96%, transparent 100%);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
  display: flex;
  width: max-content;
  height: 100%;
  will-change: transform;
  animation: lyfe-dock-marquee 58s linear infinite;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-set {
  display: flex;
  flex: none;
  gap: clamp(0.7rem, 0.9vw, 1rem);
  height: 100%;
  padding-right: clamp(0.7rem, 0.9vw, 1rem);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview + .lyfe-hero__preview,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
  display: block !important;
  flex: none;
  width: clamp(19rem, 29vw, 34rem) !important;
  height: calc(100% - clamp(0.8rem, 1vw, 1rem)) !important;
  min-width: 0;
  min-height: 0;
  margin-block: clamp(0.4rem, 0.5vw, 0.5rem);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview figure {
  width: 100%;
  height: 100%;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews:hover .lyfe-hero__previews-track,
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews:focus-within .lyfe-hero__previews-track {
  animation-play-state: paused;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
  position: absolute;
  z-index: 4;
  inset: 0 auto 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  gap: clamp(1rem, 2vw, 2.5rem);
  width: clamp(17rem, 36%, 31rem);
  height: 100%;
  padding: clamp(1.25rem, 2vw, 2.4rem);
  background:
    linear-gradient(90deg, #0a0a0df7 0%, #0a0a0dec 66%, #0a0a0d9e 84%, transparent 100%);
  box-shadow:
    2.5rem 0 4rem -3.2rem #000,
    inset 0 1px #ffffff05;
  -webkit-backdrop-filter: blur(16px) saturate(108%);
  backdrop-filter: blur(16px) saturate(108%);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__meta > div {
  background: none;
  box-shadow: none;
}

@keyframes lyfe-dock-marquee {
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews::-webkit-scrollbar {
    display: none;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
    animation: none;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews-set[aria-hidden="true"] {
    display: none;
  }
}

@media (width<=760px) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
    width: min(48vw, 18rem);
    padding: 1rem;
    gap: 0.75rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview + .lyfe-hero__preview,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
    width: min(66vw, 23rem) !important;
  }
}

/* LYFE gallery dock — continuous editorial marquee beneath fixed project data. */
.page-case--lyfe .lyfe-campaign .lyfe-hero__dock-inner {
  display: block;
  position: relative;
  height: 100%;
  overflow: hidden;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(90% 140% at 34% -45%, #ffffff08, transparent 66%),
    linear-gradient(112deg, #0e0f11, #070809 76%);
  -webkit-mask-image: linear-gradient(90deg, #000 0 97%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0 97%, transparent 100%);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
  display: flex;
  width: max-content;
  height: 100%;
  will-change: transform;
  animation: lyfe-dock-marquee 64s linear infinite;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-set {
  display: flex;
  flex: none;
  height: 100%;
  gap: clamp(0.5rem, 0.75vw, 0.8rem);
  padding-right: clamp(0.5rem, 0.75vw, 0.8rem);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview + .lyfe-hero__preview,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
  display: block !important;
  flex: none;
  width: clamp(19rem, 29vw, 34rem);
  height: calc(100% - clamp(0.8rem, 1vw, 1rem));
  min-width: 0;
  min-height: 0;
  margin-block: clamp(0.4rem, 0.5vw, 0.5rem);
  border: 0 !important;
  border-radius: 0.3rem !important;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview figure,
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews figure,
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews figure:first-child,
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews figure + figure {
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: inherit;
  overflow: hidden;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__previews:hover .lyfe-hero__previews-track,
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews:focus-within .lyfe-hero__previews-track {
  animation-play-state: paused;
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
  position: absolute;
  z-index: 4;
  inset: 0 auto 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  width: clamp(17rem, 36%, 31rem);
  height: 100%;
  gap: clamp(1.25rem, 2.4vw, 3rem);
  padding: clamp(1.35rem, 2.35vw, 2.55rem);
  background:
    radial-gradient(110% 135% at 8% -10%, #ffffff0b, transparent 62%),
    linear-gradient(
      90deg,
      #111214fa 0%,
      #0e0f11f2 62%,
      #0b0c0dd6 80%,
      transparent 100%
    );
  box-shadow:
    inset 0 24px 52px -48px #ffffff26,
    32px 0 76px -54px #000000ed;
  -webkit-backdrop-filter: blur(18px) saturate(0.72);
  backdrop-filter: blur(18px) saturate(0.72);
}

.page-case--lyfe .lyfe-campaign .lyfe-hero__meta div {
  min-height: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}

@keyframes lyfe-dock-marquee {
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
    overflow-x: auto;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
    animation: none;
  }
}

@media (width<=760px) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
    width: min(48%, 10.5rem);
    grid-template-columns: 1fr;
    gap: 0.75rem;
    padding: 1rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview + .lyfe-hero__preview,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
    width: clamp(15rem, 72vw, 21rem);
  }
}

/* LYFE dock — fixed project context over a continuous editorial image rail. */
.page-case--lyfe .lyfe-campaign .lyfe-hero__dock-inner {
  display: block;
  position: relative;
  overflow: hidden;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
  z-index: 4;
  width: clamp(17rem, 36%, 31rem);
  height: 100%;
  padding: clamp(1.35rem, 2.35vw, 2.55rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(1.25rem, 2.4vw, 3rem);
  display: grid;
  position: absolute;
  inset: 0 auto 0 0;
  background:
    radial-gradient(100% 125% at 8% -8%, #ffffff0a, #0000 62%),
    linear-gradient(
      90deg,
      #111214f7 0%,
      #0d0e10ef 68%,
      #0b0c0dc7 84%,
      #08090a00 100%
    );
  box-shadow:
    inset 0 24px 52px -48px #ffffff26,
    30px 0 72px -52px #000000e8;
  -webkit-backdrop-filter: blur(16px) saturate(0.72);
  backdrop-filter: blur(16px) saturate(0.72);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__meta div {
  min-height: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: absolute;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(80% 130% at 54% -35%, #ffffff08, #0000 66%),
    linear-gradient(112deg, #0e0f11, #070809 76%);
  -webkit-mask-image: linear-gradient(90deg, #000 0 97%, #0000 100%);
  mask-image: linear-gradient(90deg, #000 0 97%, #0000 100%);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
  width: max-content;
  height: 100%;
  display: flex;
  will-change: transform;
  animation: lyfe-dock-marquee 58s linear infinite;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-set {
  height: 100%;
  padding-right: clamp(0.45rem, 0.7vw, 0.75rem);
  display: flex;
  flex: none;
  gap: clamp(0.45rem, 0.7vw, 0.75rem);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews:hover .lyfe-hero__previews-track,
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews:focus-within .lyfe-hero__previews-track {
  animation-play-state: paused;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview + .lyfe-hero__preview {
  width: clamp(19rem, 29vw, 34rem);
  height: calc(100% - clamp(0.7rem, 1vw, 1rem));
  min-width: 0;
  min-height: 0;
  margin-block: clamp(0.35rem, 0.5vw, 0.5rem);
  flex: none;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
  display: block !important;
}

@keyframes lyfe-dock-marquee {
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
    overflow-x: auto;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
    animation: none;
  }
}

@media (width<=760px) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__dock-inner {
    display: block;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
    width: min(48%, 10.5rem);
    padding: 1rem;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview + .lyfe-hero__preview {
    width: clamp(15rem, 72vw, 21rem);
  }
}

/* LYFE campaign composition — navigation intentionally excluded. */
.page-case--lyfe {
  background: #070708;
}
.page-case--lyfe main {
  min-height: 100svh;
}
.page-case--lyfe .lyfe-campaign {
  --lyfe-panel-width: min(35vw, 550px);
  --lyfe-dock-height: clamp(125px, 17vh, 180px);
  --lyfe-stage-duration: 1.15s;
  --lyfe-stage-ease: cubic-bezier(0.22, 0.72, 0.18, 1);
  background: #080809;
  min-height: max(100svh, 700px);
  margin: 0;
  overflow: hidden;
}
.page-case--lyfe .lyfe-campaign:before {
  z-index: 1;
  filter: blur(28px);
  background:
    radial-gradient(ellipse 35% 62% at 75% 48%, #ffffff12, #ffffff05 36%, #0000 76%),
    radial-gradient(ellipse 72% 78% at 55% 48%, #ffffff04, #0000 72%);
}
.page-case--lyfe .lyfe-campaign:after {
  z-index: 1;
  background:
    linear-gradient(#070708a6 0%, #0000 24% 76%, #0505068f 100%),
    radial-gradient(ellipse 108% 92% at 58% 48%, #0000 48%, #03030454 100%);
}
.page-case--lyfe .lyfe-campaign .case-hero__media {
  top: 0;
  right: 0;
  bottom: var(--lyfe-dock-height);
  left: var(--lyfe-panel-width);
  overflow: hidden;
  will-change: left, bottom;
  transition:
    left var(--lyfe-stage-duration) var(--lyfe-stage-ease),
    bottom var(--lyfe-stage-duration) var(--lyfe-stage-ease);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__product-base {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  opacity: 1;
  object-fit: contain;
  object-position: center center;
  filter: saturate(0.82) brightness(0.88) contrast(1.035);
  transform: scale(1);
  transform-origin: center center;
  backface-visibility: hidden;
  will-change: transform, filter;
  transition:
    filter var(--lyfe-stage-duration) var(--lyfe-stage-ease),
    transform var(--lyfe-stage-duration) var(--lyfe-stage-ease);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__lightbox-trigger,
.page-case--lyfe .lyfe-lightbox {
  display: none;
}
.page-case--lyfe .lyfe-campaign:hover .lyfe-hero__product-base {
  filter: saturate(0.82) brightness(0.88) contrast(1.035);
  transform: scale(1);
}
.page-case--lyfe .lyfe-campaign .case-hero__media:after {
  z-index: 2;
  transition:
    background var(--lyfe-stage-duration) var(--lyfe-stage-ease),
    opacity var(--lyfe-stage-duration) var(--lyfe-stage-ease);
  background:
    radial-gradient(ellipse 34% 72% at 76% 47%, #ffffff0c, #c6ced204 48%, #0000 84%),
    linear-gradient(90deg, #0000 0% 74%, #05050618 88%, #05050652 100%),
    linear-gradient(#0505067a 0%, #0000 25% 72%, #050506ad 100%);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__frame {
  z-index: 3;
  width: var(--lyfe-panel-width);
  min-height: inherit;
  margin: 0;
  padding: 0;
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  overflow: visible;
  isolation: isolate;
  background:
    radial-gradient(95% 70% at 8% 0, #ffffff0c, #0000 58%),
    radial-gradient(70% 58% at 100% 100%, #91a3b504, #0000 74%),
    linear-gradient(155deg, #111114ed, #08080aed 68%, #060607f5);
  box-shadow:
    inset 0 1px #ffffff0a,
    inset 1px 0 #ffffff04,
    inset 0 -34px 48px -38px #000000f5,
    0 34px 58px -40px #000000f2,
    42px 16px 88px -58px #000000f7;
  -webkit-backdrop-filter: blur(18px) saturate(0.68);
  backdrop-filter: blur(18px) saturate(0.68);
  backface-visibility: hidden;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  transition: transform 1.35s cubic-bezier(0.77, 0, 0.18, 1);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__frame:after {
  content: "";
  width: clamp(58px, 6vw, 92px);
  pointer-events: none;
  position: absolute;
  inset: 0 0 0 auto;
  background: linear-gradient(90deg, #0000, #ffffff03 46%, #00000024 76%, #0000);
  opacity: 0.5;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__rail {
  width: 52px;
  padding: 0;
  display: block;
  position: absolute;
  top: 20.5%;
  bottom: 25%;
  left: clamp(1.5rem, 2.2vw, 2.25rem);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__count strong {
  margin: 0;
  font-size: clamp(1.65rem, 2.1vw, 2.25rem);
  line-height: 0.9;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__count span {
  margin-top: 0.55rem;
  display: block;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__mobile-pagination {
  display: contents;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__mobile-pagination > button {
  display: none;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__pagination {
  flex-direction: column;
  display: flex;
  position: absolute;
  top: 39%;
  left: 0;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__copy {
  width: calc(100% - clamp(8.5rem, 9.3vw, 9.75rem));
  max-width: 390px;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 20.5%;
  left: clamp(6.5rem, 7.25vw, 7.25rem);
  transform: none;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__copy .overline {
  margin-bottom: clamp(1.25rem, 2vh, 1.8rem);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__role-overline {
  display: none;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__panel-controls {
  display: none;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__copy h1 {
  white-space: normal;
  font-size: clamp(2.8rem, 4.6vw, 5rem);
  line-height: 0.88;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__copy p {
  color: #ffffff9c;
  max-width: 42ch;
  margin-top: clamp(1.35rem, 2.2vh, 2rem);
  display: block;
  font-size: clamp(0.78rem, 0.9vw, 0.92rem);
  line-height: 1.75;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__dock {
  z-index: 6;
  height: var(--lyfe-dock-height);
  min-height: 0;
  background:
    radial-gradient(86% 180% at 14% -64%, #ffffff0c, #0000 62%),
    linear-gradient(118deg, #141517e8, #0b0c0eea 58%, #070809ed);
  border-radius: 0;
  position: absolute;
  right: 0;
  bottom: 0;
  left: var(--lyfe-panel-width);
  overflow: hidden;
  box-shadow:
    inset 0 24px 58px -52px #ffffff38,
    inset 0 -42px 72px -62px #000000c9,
    0 -32px 82px -58px #000000d4;
  backdrop-filter: blur(18px) saturate(0.72);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__dock:before {
  opacity: 0.72;
  background:
    radial-gradient(68% 72% at 18% -18%, #ffffff0e, #0000 68%),
    linear-gradient(112deg, #ffffff04, #0000 28% 100%);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__dock:after {
  background:
    radial-gradient(42% 80% at 72% 108%, #00000057, #0000 70%),
    linear-gradient(#0000 54%, #03030442);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__dock-inner {
  height: 100%;
  min-height: 0;
  grid-template-columns: 42% 52% 6%;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 4rem);
  padding: clamp(1.5rem, 2.8vw, 3rem);
  background:
    radial-gradient(90% 110% at 8% 0, #ffffff0a, #0000 64%),
    linear-gradient(120deg, #17181ae3, #0e0f11e8);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__meta:before {
  display: none;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__meta div {
  min-height: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__meta strong {
  color: #ffffffb8;
  font-size: clamp(0.62rem, 0.8vw, 0.75rem);
  line-height: 1.65;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
  --lyfe-preview-inset: clamp(0.35rem, 0.55vw, 0.65rem);
  height: auto;
  min-height: 0;
  grid-template-columns: 1fr 1fr;
  align-self: stretch;
  gap: var(--lyfe-preview-inset);
  margin: var(--lyfe-preview-inset);
  padding: 0;
  background:
    radial-gradient(110% 90% at 50% 0, #ffffff07, #0000 62%),
    linear-gradient(118deg, #0d0e10, #070809);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews figure,
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews figure:first-child,
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews figure + figure {
  width: auto;
  height: 100%;
  min-height: 0;
  inset: auto;
  align-self: stretch;
  border-radius: 0;
  box-shadow: none;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews img {
  filter: saturate(0.52) brightness(0.6) contrast(1.05);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews figure:after {
  background:
    radial-gradient(80% 70% at 48% -18%, #ffffff08, #0000 70%),
    linear-gradient(#0000 34%, #04040591 100%);
}
/* Data-driven LYFE gallery with a selected-frame state. */
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: inherit;
  background:
    radial-gradient(100% 72% at 18% -12%, #ffffff0e, #0000 62%),
    linear-gradient(145deg, #17181a, #0a0b0d 72%) !important;
  border: 0 !important;
  border-radius: 0.3rem !important;
  appearance: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  box-shadow:
    inset 14px 18px 38px -34px #ffffff20,
    inset -12px -18px 38px -30px #000000de,
    0 14px 34px -26px #000000e8 !important;
  transform: translateY(0);
  transition:
    transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1),
    background 0.55s var(--ease),
    box-shadow 0.55s var(--ease);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview + .lyfe-hero__preview {
  box-shadow:
    inset 14px 18px 38px -34px #ffffff20,
    inset -12px -18px 38px -30px #000000de,
    0 14px 34px -26px #000000e8 !important;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
  display: none !important;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview figure {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  overflow: hidden;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview:after {
  content: "";
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(82% 46% at 50% 105%, #ffffff10, #0000 74%),
    linear-gradient(112deg, #ffffff04, #0000 32% 100%);
  position: absolute;
  inset: 0;
  transition: opacity 0.55s var(--ease);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview:hover:after,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview:focus-visible:after,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview.is-selected:after {
  opacity: 1;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview:hover,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview:focus-visible {
  transform: translateY(-2px);
  box-shadow:
    inset 18px 22px 46px -36px #ffffff2c,
    inset -14px -20px 42px -30px #000000dc,
    0 20px 42px -28px #000000ef !important;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview:focus-visible {
  outline: 0;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview.is-selected {
  background:
    radial-gradient(90% 84% at 50% 18%, #ffffff16, #0000 72%),
    linear-gradient(145deg, #1b1c1f, #0b0c0e 72%) !important;
  box-shadow:
    inset 20px 24px 52px -38px #ffffff32,
    inset -16px -22px 46px -32px #000000e2,
    0 22px 46px -30px #000000f0 !important;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview.is-selected img {
  filter: saturate(0.58) brightness(0.65) contrast(1.04);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview.is-selected figcaption {
  color: #fff;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview figcaption {
  right: 1rem;
  left: auto;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview:nth-child(odd) figcaption {
  right: auto;
  left: 1.2rem;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__product-base {
  transition:
    opacity 0.4s var(--ease),
    filter var(--lyfe-stage-duration) var(--lyfe-stage-ease),
    transform var(--lyfe-stage-duration) var(--lyfe-stage-ease);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__copy > *,
.page-case--lyfe .lyfe-campaign .lyfe-hero__meta strong {
  transition:
    opacity 0.4s var(--ease),
    filter 0.6s var(--ease),
    transform 0.6s var(--ease);
}
.page-case--lyfe .lyfe-campaign.is-changing-frame .lyfe-hero__product-base {
  opacity: 0.22;
  filter: saturate(0.35) brightness(0.24) contrast(1.06);
}
.page-case--lyfe .lyfe-campaign.is-changing-frame .lyfe-hero__copy > *,
.page-case--lyfe .lyfe-campaign.is-changing-frame .lyfe-hero__meta strong {
  opacity: 0.28;
  transform: translateY(3px);
}

/* Sliding editorial pane: closing it clears the canvas for the selected frame. */
.page-case--lyfe .lyfe-campaign:before,
.page-case--lyfe .lyfe-campaign:after,
.page-case--lyfe .lyfe-campaign .case-hero__media:after,
.page-case--lyfe .lyfe-campaign .lyfe-hero__rail,
.page-case--lyfe .lyfe-campaign .lyfe-hero__copy,
.page-case--lyfe .lyfe-campaign .lyfe-hero__dock {
  transition:
    opacity 0.7s var(--ease),
    filter 0.85s var(--ease),
    transform 0.85s cubic-bezier(0.22, 0.61, 0.36, 1),
    background 0.85s var(--ease),
    visibility 0s linear 0s;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__dock {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
  will-change: transform, opacity;
  animation: none;
  transition:
    transform 0.78s cubic-bezier(0.22, 0.72, 0.24, 1),
    opacity 0.5s var(--ease),
    visibility 0s linear 0s;
}

@keyframes lyfe-preview-in {
  from {
    opacity: 0;
    transform: translateX(12px) scale(1.01);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes lyfe-preview-in-reverse {
  from {
    opacity: 0;
    transform: translateX(-12px) scale(1.01);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (width<=760px) {
  .page-case--lyfe .lyfe-campaign {
    --lyfe-dock-height: 260px;
    min-height: 1080px;
    overflow: hidden;
  }
  .page-case--lyfe .lyfe-campaign .case-hero__media {
    inset: 0;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__frame {
    width: calc(100% - 4.5rem);
    min-height: 820px;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__rail {
    top: 19%;
    left: 1.25rem;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__pagination {
    top: 46%;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy {
    width: calc(100% - 6.5rem);
    top: 19%;
    left: 5.25rem;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy h1 {
    font-size: clamp(2.75rem, 14vw, 4.1rem);
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__dock {
    height: 260px;
    margin: 0;
    right: 0;
    bottom: 0;
    left: 4.5rem;
    position: absolute;
    border-radius: 0;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__dock-inner {
    grid-template-rows: 104px 156px;
    grid-template-columns: 1fr 42px;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
    grid-area: 1/1/2/3;
    padding: 1.15rem 1.35rem;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__meta div:nth-child(3) {
    grid-column: auto;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
    grid-area: 2/1;
    grid-template-columns: 1.2fr 0.8fr;
  }
}
.page-case {
  background: #09090a;
}
.case-hero {
  isolation: isolate;
  background: #09090b;
  width: 100%;
  min-height: 100svh;
  display: grid;
  position: relative;
  overflow: hidden;
}
.case-hero__media,
.case-hero__media:after {
  position: absolute;
  inset: 0;
}
.case-hero__media img {
  object-fit: cover;
  filter: saturate(0.68) brightness(0.52) contrast(1.08);
  width: 100%;
  height: 100%;
  animation: caseHeroSettle 1.6s var(--ease) both;
  transform: scale(1.025);
}
.case-hero__media:after {
  content: "";
  background:
    radial-gradient(80% 70% at 14% 0, #ffffff12, #0000 58%),
    linear-gradient(90deg, #070709e6, #0707093d 46%, #0707097a),
    linear-gradient(#06060894, #0000 24% 62%, #060608f5);
}
.case-hero__copy {
  max-width: 720px;
}
.case-hero__copy .overline {
  color: #ffffff80;
}
.case-hero__copy p {
  color: #ffffff9e;
  max-width: 48ch;
  margin-top: 1.75rem;
  font-size: clamp(0.85rem, 1.2vw, 1rem);
  line-height: 1.7;
}
.case-hero--lyfe {
  isolation: isolate;
  background: #08090a;
  min-height: max(100svh, 760px);
  margin-bottom: clamp(1.5rem, 2.5vw, 2.75rem);
  overflow: hidden;
}
.case-hero--lyfe:before,
.case-hero--lyfe:after {
  content: "";
  z-index: 1;
  pointer-events: none;
  position: absolute;
  inset: 0;
}
.case-hero--lyfe:before {
  background:
    radial-gradient(ellipse 36% 64% at 76% 50%, #ffffff12 0%, #d5dcdf08 28%, #99a3a805 48%, #0000 100%),
    radial-gradient(ellipse 76% 78% at 62% 48%, #ffffff05 0%, #a9b4b803 38%, #0000 82%);
  filter: blur(24px);
}
.case-hero--lyfe:after {
  background:
    radial-gradient(ellipse 88% 82% at 57% 48%, #0000 22%, #05060724 64%, #0304059c 100%),
    linear-gradient(90deg, #040506ad 0%, #0000 27% 76%, #04050675 100%),
    linear-gradient(#0405065e 0%, #0000 25% 70%, #030405a8 100%);
}
.case-hero--lyfe .case-hero__media {
  z-index: 0;
  isolation: isolate;
  overflow: hidden;
}
.case-hero--lyfe .case-hero__media img {
  object-position: center 46%;
  animation-duration: 2.4s;
  animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}
.case-hero--lyfe .lyfe-hero__product-base {
  filter: saturate(0.38) brightness(0.2) contrast(1.05) blur(0.85px);
  animation-name: lyfeProductBaseSettle;
}
.case-hero--lyfe .case-hero__media:after {
  z-index: 2;
  background:
    radial-gradient(38% 74% at 76% 50%, #ffffff09 0%, #bfc8cc03 42%, #0000 82%),
    linear-gradient(
      90deg,
      #060708e8 0%,
      #0607089c 30%,
      #0607081f 64%,
      #06070868 100%
    ),
    linear-gradient(#050607a8 0%, #0000 30% 62%, #050607e8 100%);
}
.lyfe-hero__frame {
  z-index: 2;
  width: min(1380px, calc(100% - (2 * var(--inset))));
  grid-template-rows: minmax(4rem, auto) minmax(0, 1fr);
  grid-template-columns: 64px minmax(0, 0.76fr) minmax(0, 1.24fr);
  column-gap: clamp(2.5rem, 4vw, 5rem);
  row-gap: clamp(3.5rem, 7vh, 6rem);
  min-height: max(100svh, 760px);
  margin-inline: auto;
  padding: clamp(9.5rem, 15vh, 12rem) 0 clamp(15rem, 26vh, 18rem);
  display: grid;
  position: relative;
}
.lyfe-hero__rail {
  color: #ffffff5c;
  letter-spacing: 0.16em;
  flex-direction: column;
  grid-area: 1/1/3;
  align-items: flex-start;
  padding-top: clamp(0.5rem, 1.5vh, 1.25rem);
  font-size: 0.58rem;
  font-style: normal;
  display: flex;
}
.lyfe-hero__rail strong {
  color: #ffffffd1;
  letter-spacing: -0.05em;
  font-size: clamp(1.7rem, 2.2vw, 2.4rem);
  font-weight: 300;
  line-height: 0.9;
}
.lyfe-hero__rail > span {
  margin: 0.5rem 0 clamp(4rem, 10vh, 6.5rem);
}
.lyfe-hero__rail i {
  border: 0;
  border-radius: 50%;
  width: 5px;
  height: 5px;
  margin: 0.42rem 0;
  background: #ffffff17;
  box-shadow:
    inset 0 1px #ffffff24,
    0 5px 12px -8px #000;
}
.lyfe-hero__rail i.is-active {
  background: #ffffffdb;
  box-shadow: 0 0 18px #ffffff24;
}
.lyfe-hero__meta span {
  color: #ffffff4d;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  margin-bottom: 0.55rem;
  font-size: 0.52rem;
}
.lyfe-hero__copy {
  grid-area: 2/2;
  align-self: start;
  width: min(100%, 34rem);
  max-width: 34rem;
  margin-top: clamp(1rem, 2.5vh, 2.5rem);
  padding-bottom: 0;
  transform: translateY(clamp(-3rem, -4vh, -2rem));
}
.lyfe-hero__copy .overline {
  color: #ffffff80;
  margin-bottom: clamp(2.2rem, 3.8vh, 3.1rem);
  display: block;
}
.lyfe-hero__copy h1 {
  color: #eeeeef;
  white-space: nowrap;
  max-width: none;
  margin: 0;
  font-family: var(--font-body);
  font-size: clamp(2.75rem, 4.1vw, 4.5rem);
  font-weight: 400;
  letter-spacing: -0.065em;
  line-height: 0.88;
  text-shadow: 0 24px 58px #0000008f;
}
.lyfe-hero__copy p {
  color: #ffffffb5;
  max-width: 43ch;
  margin-top: clamp(2.8rem, 4.6vh, 3.8rem);
  font-size: clamp(0.92rem, 1.15vw, 1.02rem);
  line-height: 1.82;
}
.lyfe-hero__dock {
  z-index: 4;
  -webkit-backdrop-filter: blur(14px) saturate(0.72);
  backdrop-filter: blur(14px) saturate(0.72);
  background:
    radial-gradient(86% 190% at 9% -74%, #ffffff10 0%, #ffffff04 34%, #0000 67%),
    linear-gradient(122deg, #151619e8 0%, #0d0e10ec 48%, #08090bec 100%);
  border: 0;
  border-radius: clamp(0.35rem, 0.55vw, 0.55rem);
  min-height: clamp(205px, 21vh, 245px);
  position: absolute;
  bottom: clamp(1.25rem, 2vw, 2rem);
  left: max(var(--inset), calc((100vw - 1760px) / 2));
  right: max(var(--inset), calc((100vw - 1760px) / 2));
  overflow: hidden;
  box-shadow:
    inset 0 1px #ffffff14,
    inset 0 -38px 62px -58px #0000008f,
    0 52px 130px -72px #000000e0,
    0 22px 56px -44px #000000bd;
  animation: lyfeDockSettle 1.35s 0.32s var(--ease) both;
}
.lyfe-hero__dock:before,
.lyfe-hero__dock:after {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
}
.lyfe-hero__dock:before {
  z-index: 1;
  opacity: 0.9;
  background:
    linear-gradient(90deg, #0000 2%, #ffffff14 18%, #ffffff08 56%, #0000 92%) top/100% 1px no-repeat,
    linear-gradient(118deg, #ffffff07 0%, #ffffff02 18%, #0000 42% 100%);
}
.lyfe-hero__dock:after {
  z-index: 3;
  background: linear-gradient(#0000 58%, #0102033d 100%);
}
.lyfe-hero__dock-inner {
  z-index: 2;
  width: 100%;
  min-height: inherit;
  grid-template-columns: minmax(0, 0.68fr) minmax(0, 1.32fr);
  display: grid;
  position: relative;
}
.lyfe-hero__meta {
  isolation: isolate;
  background: transparent;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: clamp(1rem, 1.6vw, 1.8rem);
  padding: clamp(1.5rem, 2.4vw, 2.35rem);
  display: grid;
  position: relative;
  box-shadow: none;
}
.lyfe-hero__meta:before {
  content: "";
  z-index: -1;
  pointer-events: none;
  opacity: 0.46;
  background: radial-gradient(100% 130% at 8% 0, #ffffff07, #0000 68%);
  position: absolute;
  inset: 0;
}
.lyfe-hero__meta div {
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  min-height: clamp(86px, 9vh, 104px);
  padding: 0.65rem 0;
  display: flex;
  background: radial-gradient(90% 110% at 12% 0, #ffffff04, #0000 72%);
  border-radius: 0;
  box-shadow: 0 24px 44px -42px #000000d9;
}
.lyfe-hero__meta div + div {
  padding-left: 0;
  box-shadow: none;
}
.lyfe-hero__meta strong {
  color: #ffffffb5;
  font-size: 0.72rem;
  font-weight: 400;
  line-height: 1.62;
}
.lyfe-hero__previews {
  background:
    radial-gradient(80% 120% at 28% 0, #ffffff04, #0000 66%),
    #070809;
  min-height: inherit;
  grid-template-columns: minmax(0, 1.68fr) minmax(0, 0.72fr);
  align-items: stretch;
  gap: 0;
  padding: 0;
  display: grid;
  position: relative;
  overflow: hidden;
}
.lyfe-hero__previews figure {
  isolation: isolate;
  margin: 0;
  position: relative;
  overflow: hidden;
}
.lyfe-hero__previews figure:first-child {
  inset: auto;
  border-radius: 0;
}
.lyfe-hero__previews figure + figure {
  z-index: 2;
  width: auto;
  height: 100%;
  min-height: 0;
  top: auto;
  right: auto;
  align-self: stretch;
  border-radius: 0;
  box-shadow: inset 18px 0 34px -34px #000000d9;
}
.lyfe-hero__previews img {
  object-fit: cover;
  filter: saturate(0.56) brightness(0.58) contrast(1.06);
  width: 100%;
  height: 100%;
  transition:
    filter 0.9s var(--ease),
    transform 1.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.lyfe-hero__previews figure:after {
  content: "";
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, #05060724, #0000 24% 78%, #05060729),
    linear-gradient(#0506070a 24%, #0405069e 100%);
  position: absolute;
  inset: 0;
}
.lyfe-hero__previews figure:hover img {
  filter: saturate(0.7) brightness(0.69);
  transform: scale(1.018);
}
.lyfe-hero__previews figcaption {
  z-index: 2;
  color: #ffffffbd;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.58rem;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
}
.lyfe-hero__previews figure:first-child figcaption {
  right: auto;
  left: 1.2rem;
}
@media (width>=900px) {
  .page-case--lyfe .nav--shared .nav__links {
    gap: 0.95rem;
  }
}
.page-case main > .section {
  max-width: 1380px;
  padding-top: clamp(5rem, 9vw, 9rem);
}
@keyframes caseHeroSettle {
  0% {
    opacity: 0;
    transform: scale(1.06);
  }
  to {
    opacity: 1;
    transform: scale(1.025);
  }
}
@keyframes lyfeProductBaseSettle {
  0% {
    opacity: 0;
    transform: scale(1.045);
  }
  to {
    opacity: 1;
    transform: scale(1.015);
  }
}
@keyframes lyfeDockSettle {
  0% {
    opacity: 0;
    transform: translateY(34px) scale(0.995);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@media (width<=760px) {
  .case-hero--lyfe {
    min-height: 100svh;
    margin-bottom: 1rem;
    display: block;
    overflow: hidden;
  }
  .case-hero--lyfe .case-hero__media img {
    object-position: 82% 46%;
  }
  .lyfe-hero__frame {
    grid-template-rows: auto auto 1fr;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 1.5rem 1.25rem;
    min-height: 100svh;
    padding: 8rem 0 7rem;
  }
  .lyfe-hero__rail {
    grid-row: 1/4;
    padding-top: 0.15rem;
  }
  .lyfe-hero__rail > span {
    margin-bottom: 3.5rem;
  }
  .lyfe-hero__copy {
    grid-area: 3/2;
    align-self: end;
    margin-top: 0;
    padding-bottom: 0;
    transform: none;
  }
  .lyfe-hero__copy .overline {
    margin-bottom: 1.5rem;
  }
  .lyfe-hero__copy h1 {
    white-space: normal;
    font-size: clamp(2.5rem, 10.8vw, 3.65rem);
    line-height: 0.92;
  }
  .lyfe-hero__copy p {
    max-width: 34ch;
    margin-top: 1.8rem;
    font-size: 0.9rem;
    line-height: 1.75;
  }
  .lyfe-hero__dock {
    min-height: 0;
    margin: -4rem 1rem 1.25rem;
    position: relative;
    inset: auto;
    border-radius: 1.25rem;
    box-shadow:
      inset 0 1px #ffffff12,
      inset 0 -28px 52px -48px #0000008c,
      0 42px 92px -62px #000000e8,
      0 18px 42px -38px #000000c7;
  }
  .lyfe-hero__dock-inner {
    grid-template-columns: 1fr;
  }
  .lyfe-hero__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1.25rem;
    padding: 1.35rem;
    display: grid;
  }
  .lyfe-hero__meta div {
    min-height: 78px;
    padding: 0.8rem 0;
  }
  .lyfe-hero__meta div + div {
    padding-left: 0;
    box-shadow: none;
  }
  .lyfe-hero__meta div:nth-child(3) {
    grid-column: 1/-1;
    min-height: 70px;
  }
  .lyfe-hero__previews,
  .lyfe-hero__previews figure {
    min-height: 230px;
  }
  .lyfe-hero__previews {
    height: 230px;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.75fr);
    gap: 0.45rem;
    padding: 0.5rem;
  }
  .lyfe-hero__previews figure:first-child {
    inset: auto;
    border-radius: 0.25rem;
  }
  .lyfe-hero__previews figure + figure {
    width: auto;
    height: 76%;
    min-height: 0;
    top: auto;
    right: auto;
    align-self: end;
    border-radius: 0.25rem;
    box-shadow: 0 28px 58px -38px #000000ed;
  }
}
@media (prefers-reduced-motion: reduce) {
  .case-hero__media img {
    animation: none;
  }
}
.contact-section {
  isolation: isolate;
  background:
    radial-gradient(68% 58% at 82% 26%, #ffffff0a, #0000 68%),
    radial-gradient(58% 52% at 8% 82%, #7e91a505, #0000 72%),
    radial-gradient(circle at 50% 48%, #ffffff04, #0000 34rem),
    linear-gradient(145deg, #0c0c0e, #080809 62%, #050506 100%);
  padding: clamp(6rem, 10vw, 10rem) 0 clamp(3.5rem, 5vw, 5rem);
  position: relative;
  overflow: hidden;
  box-shadow:
    inset 0 100px 130px -115px #ffffff09,
    inset 0 -190px 250px -205px #0000009e;
}
.contact-section:before {
  content: "";
  z-index: 0;
  pointer-events: none;
  opacity: 1;
  background:
    linear-gradient(118deg, #ffffff03, #0000 28% 72%, #7e91a502),
    radial-gradient(at 50% 48%, #0000 24%, #00000057 76%, #00000094 100%),
    linear-gradient(#00000014, #0000 22% 68%, #0000004d);
  position: absolute;
  inset: 0;
}
.contact-section__word {
  z-index: 0;
  color: #ffffff05;
  font-family: var(--font-body);
  letter-spacing: -0.065em;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  font-size: clamp(5rem, 14vw, 13rem);
  font-weight: 500;
  line-height: 0.8;
  position: absolute;
  top: clamp(3rem, 6vw, 6rem);
  left: 50%;
  transform: translate(-50%);
}
.contact-section__shell {
  z-index: 1;
  grid-template-columns: minmax(240px, 0.72fr) minmax(150px, 0.38fr) minmax(
      520px,
      1.55fr
    );
  align-items: stretch;
  gap: clamp(1.5rem, 3vw, 3.5rem);
  max-width: 1480px;
  display: grid;
  position: relative;
}
.contact-section__intro {
  flex-direction: column;
  grid-column: 1 / span 2;
  align-items: flex-start;
  padding-block: clamp(1rem, 3vw, 2.5rem);
  display: flex;
}
.contact-section__intro h2 {
  color: #c1c0c3;
  max-width: none;
  font-family: var(--font-body);
  letter-spacing: -0.05em;
  margin-top: clamp(1.5rem, 3vw, 3rem);
  font-size: clamp(2.5rem, 5vw, 5.25rem);
  font-weight: 400;
  line-height: 0.95;
}
.contact-section__intro h2 span {
  white-space: nowrap;
  display: block;
}
.contact-section__facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(0.65rem, 1.2vw, 1rem);
  width: 100%;
  margin: clamp(2rem, 4vw, 4rem) 0 0;
  display: grid;
}
.contact-section__facts > div {
  background:
    radial-gradient(110% 120% at 8% 0, #ffffff04, #0000 56%),
    linear-gradient(145deg, #ffffff02, #09090b12 58%, #03030424);
  border: 0;
  border-radius: 12px;
  min-width: 0;
  min-height: clamp(96px, 8vw, 118px);
  padding: clamp(1rem, 1.6vw, 1.35rem);
  box-shadow:
    inset 16px 18px 30px -34px #ffffff16,
    inset -18px -20px 34px -30px #00000075,
    0 16px 32px -30px #00000070;
}
.contact-section__facts > div:nth-child(even) {
  background:
    radial-gradient(110% 120% at 92% 0, #ffffff03, #0000 56%),
    linear-gradient(215deg, #ffffff02, #09090b12 58%, #03030424);
  box-shadow:
    inset -16px 18px 30px -34px #ffffff14,
    inset 18px -20px 34px -30px #00000075,
    0 16px 32px -30px #00000070;
}
.contact-section__facts dt {
  color: #ffffff4d;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  font-size: 0.62rem;
}
.contact-section__facts dd {
  color: #ffffffa3;
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}
.contact-section__email {
  color: #ffffffad;
  letter-spacing: 0.035em;
  margin-top: auto;
  padding-top: 2rem;
  font-size: 1rem;
}
.contact-section__email span {
  transition: transform var(--dur-2) var(--ease);
  margin-left: 0.5rem;
  display: inline-block;
}
.contact-section__email:hover span {
  transform: translate(2px, -2px);
}
.contact-form-wrap {
  border-radius: var(--radius-md);
  background:
    radial-gradient(96% 76% at 94% -5%, #ffffff0d, #0000 58%),
    radial-gradient(72% 62% at 0 100%, #00000061, #0000 73%),
    linear-gradient(215deg, #ffffff04, #0000 37% 68%, #00000052),
    linear-gradient(205deg, #111114e8, #08080aeb 66%, #050506f5);
  border: 0;
  grid-column: 3;
  padding: clamp(1.25rem, 2.8vw, 2.5rem);
  position: relative;
  box-shadow:
    inset -20px 18px 34px -36px #ffffff2e,
    inset 22px -24px 42px -34px #000000d6,
    inset 0 -34px 48px -38px #000000f5,
    -18px 36px 62px -42px #000000f2;
}
.contact-form-wrap:after {
  content: "";
  z-index: -1;
  filter: blur(22px);
  background: radial-gradient(#000000b8, #0000 74%);
  height: 26%;
  position: absolute;
  bottom: -15%;
  left: 12%;
  right: 12%;
}
.contact-form-wrap__top {
  color: #ffffff57;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  margin-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
  font-size: 0.68rem;
  display: flex;
}
.contact-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(0.85rem, 1.5vw, 1.25rem);
  display: grid;
}
.contact-form__field {
  flex-direction: column;
  gap: 0.55rem;
  display: flex;
}
.contact-form__field--wide {
  grid-column: 1/-1;
}
.contact-form__botcheck {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
.contact-form label {
  color: #ffffff6b;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.65rem;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
  color: #ffffffc7;
  border-radius: var(--radius-sm);
  caret-color: #ffffffd1;
  color-scheme: dark;
  width: 100%;
  font: inherit;
  transition:
    background var(--dur-2) var(--ease),
    box-shadow var(--dur-2) var(--ease),
    color var(--dur-2) var(--ease);
  background:
    radial-gradient(125% 105% at 92% 0, #ffffff0a, #0000 52%),
    linear-gradient(205deg, #070709c9, #050507e0 66%, #08080ab8);
  border: 0;
  outline: 0;
  font-size: 1rem;
  box-shadow:
    inset 0 1px 1px #000000eb,
    inset 0 2px #ffffff06,
    inset -8px 0 16px -18px #ffffff21,
    inset 0 -18px 28px -24px #000000fa,
    0 1px #ffffff03,
    0 10px 20px -20px #000000eb;
}
.contact-form :is(input, select, textarea):hover {
  background:
    radial-gradient(125% 105% at 92% 0, #ffffff0c, #0000 54%),
    linear-gradient(205deg, #08080ad1, #060608e3 66%, #09090bc2);
  box-shadow:
    inset 0 1px 1px #000000e6,
    inset 0 2px #ffffff08,
    inset -8px 0 18px -18px #ffffff26,
    inset 0 -18px 28px -24px #000000fa,
    0 1px #ffffff04,
    0 12px 22px -20px #000000f0;
}
.contact-form input,
.contact-form select {
  min-height: 48px;
  padding: 0 0.95rem;
}
.contact-form__select {
  position: relative;
}
.contact-form__select.is-enhanced select {
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
  min-height: 0;
  padding: 0;
  position: absolute;
  inset: 0 auto auto 0;
}
.contact-form .contact-form__select-trigger {
  color: #ffffffc7 !important;
  text-align: left;
  letter-spacing: 0;
  text-transform: none;
  width: 100%;
  min-height: 48px;
  padding: 0 1rem !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  background:
    radial-gradient(125% 105% at 92% 0, #ffffff0a, #0000 52%),
    linear-gradient(205deg, #070709c9, #050507e0 66%, #08080ab8) !important;
  border: 0 !important;
  border-radius: var(--radius-sm) !important;
  box-shadow:
    inset 0 1px 1px #000000eb,
    inset 0 2px #ffffff06,
    inset -8px 0 16px -18px #ffffff21,
    inset 0 -18px 28px -24px #000000fa,
    0 1px #ffffff03,
    0 10px 20px -20px #000000eb !important;
}
.contact-form .contact-form__select-trigger:hover,
.contact-form .contact-form__select-trigger:focus-visible,
.contact-form__select.is-open .contact-form__select-trigger {
  transform: none;
  background:
    radial-gradient(125% 110% at 92% 0, #ffffff12, #0000 56%),
    linear-gradient(205deg, #0a0a0cdb, #070709f0 66%, #09090bd6) !important;
  box-shadow:
    inset 0 1px 1px #000000e6,
    inset 0 2px #ffffff0d,
    inset -10px 0 22px -20px #beccdc38,
    inset 0 -20px 30px -26px #000000f2,
    0 0 0 1px #d3dce612,
    0 0 24px -15px #adbed033,
    0 16px 26px -22px #000 !important;
}
.contact-form__select-trigger.is-placeholder {
  color: #ffffff45 !important;
}
.contact-form__select-arrow {
  border-right: 1px solid #ffffffa8;
  border-bottom: 1px solid #ffffffa8;
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  transition: transform var(--dur-2) var(--ease);
  transform: translateY(-2px) rotate(45deg);
}
.contact-form__select.is-open .contact-form__select-arrow {
  transform: translateY(2px) rotate(225deg);
}
.contact-form__select-list {
  z-index: 30;
  width: 100%;
  padding: 0.45rem;
  position: absolute;
  top: calc(100% + 0.45rem);
  left: 0;
  background:
    radial-gradient(105% 120% at 12% 0, #ffffff0d, #0000 58%),
    linear-gradient(155deg, #141417fa, #08080bfc 72%);
  border-radius: 13px;
  box-shadow:
    inset 0 1px #ffffff12,
    0 22px 48px -20px #000;
}
.contact-form__select-list[hidden] {
  display: none;
}
.contact-form .contact-form__select-option {
  color: #ffffff91 !important;
  text-align: left;
  letter-spacing: 0.02em;
  text-transform: none;
  width: 100%;
  min-height: 42px;
  padding: 0.65rem 0.85rem !important;
  display: flex;
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}
.contact-form .contact-form__select-option:hover,
.contact-form .contact-form__select-option:focus-visible {
  color: #ffffffe8 !important;
  transform: none;
  background: #ffffff08 !important;
}
.contact-form .contact-form__select-option.is-selected {
  color: #f2f2f3 !important;
  background:
    radial-gradient(120% 160% at 20% 0, #ffffff13, #0000 60%),
    #ffffff07 !important;
}
.contact-form .contact-form__select-option.is-selected:after {
  content: "✓";
  color: #ffffff75;
  margin-left: auto;
  font-size: 0.72rem;
}
.contact-form textarea {
  resize: vertical;
  min-height: 128px;
  padding: 0.9rem 0.95rem;
  line-height: 1.6;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: #ffffff45;
}
.contact-form :is(input, select, textarea):focus {
  background:
    radial-gradient(125% 110% at 92% 0, #ffffff12, #0000 56%),
    linear-gradient(205deg, #0a0a0cdb, #070709f0 66%, #09090bd6);
  box-shadow:
    inset 0 1px 1px #000000b8,
    inset 0 2px #ffffff0d,
    inset -10px 0 22px -20px #beccdc38,
    inset 0 -20px 30px -26px #000000f2,
    0 0 0 1px #d3dce612,
    0 0 24px -15px #adbed033,
    0 16px 26px -22px #000;
}
.contact-form__captcha {
  min-width: 0;
}
.contact-form__captcha .h-captcha {
  min-height: 78px;
}
.contact-form__captcha-help,
.contact-form__status {
  color: #ffffff57;
  margin: 0.55rem 0 0;
  font-size: 0.75rem;
  line-height: 1.55;
}
.contact-form__captcha-help {
  display: none;
}
.contact-form__captcha--invalid .contact-form__captcha-help {
  color: #cf8a80;
  display: block;
}
.contact-form__status {
  min-height: 1.2em;
}
.contact-form__status--success {
  color: #8fc6a4;
}
.contact-form__status--error {
  color: #cf8a80;
}
.contact-form__actions {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 0.35rem;
  display: flex;
}
.contact-form__actions p {
  color: #ffffff47;
  max-width: 42ch;
  font-size: 0.75rem;
  line-height: 1.55;
}
.contact-form__submit {
  color: #fffc;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  min-height: 46px;
  transition:
    color var(--dur-2) var(--ease),
    background var(--dur-2) var(--ease),
    transform var(--dur-2) var(--ease);
  background:
    radial-gradient(110% 160% at 78% 0, #ffffff16, #0000 60%), #ffffff06;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  font-size: 0.72rem;
  display: inline-flex;
  box-shadow:
    inset 0 1px #ffffff13,
    inset 0 -8px 14px -13px #0000008f,
    0 12px 22px -17px #000000e6;
  border: 0 !important;
}
.contact-form__submit:hover {
  color: #fffffff5;
  transform: translateY(-1px);
  background:
    radial-gradient(110% 160% at 78% 0, #ffffff1f, #0000 62%), #ffffff0a !important;
  border: 0 !important;
}
.contact-form__submit:disabled {
  cursor: wait;
  opacity: 0.62;
  transform: none;
}
@media (width<=1050px) {
  .contact-section__shell {
    grid-template-columns: minmax(240px, 0.75fr) minmax(0, 1.25fr);
  }
  .contact-section__intro {
    grid-column: 1;
  }
  .contact-form-wrap {
    grid-area: 1/2;
  }
  .contact-section__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (width<=760px) {
  .contact-section {
    padding: 5rem 0 3rem;
  }
  .contact-section__word {
    font-size: 22vw;
    top: 3rem;
  }
  .contact-section__shell {
    grid-template-columns: 1fr;
  }
  .contact-section__intro,
  .contact-form-wrap {
    grid-area: auto/1;
  }
  .contact-section__email {
    margin-top: 1.5rem;
  }
  .contact-section__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1.5rem;
  }
}
@media (width<=520px) {
  .contact-form {
    grid-template-columns: 1fr;
  }
  .contact-form__field--wide {
    grid-column: auto;
  }
  .contact-form__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .contact-form__submit {
    width: 100%;
  }
}
.page-home main section h2 {
  color: #c1c0c3;
}
.page-home .reveal--armed {
  opacity: 0;
  will-change: opacity, transform;
  transition:
    opacity 0.9s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 1.1s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.page-home .reveal--armed.reveal--from-left {
  transform: translate(-10px, 5px);
}
.page-home .reveal--armed.reveal--from-right {
  transform: translate(10px, 5px);
}
.page-home .reveal--armed.is-in {
  opacity: 1;
  will-change: auto;
  transform: none;
}
.nav--shared {
  opacity: 1;
  padding-top: clamp(1.5rem, 2.8vw, 2.1rem);
  transition:
    transform 0.52s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 0.36s;
  position: absolute;
  top: 10px;
}
.nav--shared.nav--hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-165%) !important;
}
.nav--shared .nav__inner {
  width: min(1240px, calc(100vw - (2 * var(--inset))));
  max-width: 1240px;
  height: 64px;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  opacity: 0;
  animation: heroNavSettle 0.85s 1.28s var(--ease) forwards;
  background: 0 0;
  border: 0;
  border-radius: 0;
  gap: 1rem;
  padding: 0;
  overflow: visible;
}
.nav--shared .nav__inner:before,
.nav--shared .nav__inner:after,
.nav--shared .nav__divider {
  display: none;
}
.nav--shared .brand {
  flex: none;
  justify-self: start;
}
.nav--shared .brand__badge {
  background: none;
  border: 0;
  border-radius: 0;
  width: auto;
  height: 42px;
  padding-inline: 0.65rem;
  box-shadow: none;
}
.nav--shared .brand:hover .brand__badge {
  background: none;
  border-color: transparent;
}
.nav--shared .site-wordmark {
  color: #ffffffe0;
  font-size: 0.7rem;
}
.nav--shared .site-wordmark--initials {
  font-size: 1rem;
}
.nav--shared .nav__links {
  width: min(910px, calc(100vw - (2 * var(--inset))));
  isolation: isolate;
  height: 56px;
  -webkit-backdrop-filter: blur(38px) saturate(1.5) brightness(1.08);
  backdrop-filter: blur(38px) saturate(1.5) brightness(1.08);
  background:
    linear-gradient(90deg, #0303059c 0, #090a0d3d 17%, #090a0d24 50%, #090a0d3d 83%, #030305a6 100%),
    linear-gradient(180deg, #20212652 0, #11121661 43%, #0707099c 76%, #020203bd 100%),
    #090a0d70;
  border: 0;
  border-radius: 999px;
  grid-template-columns:
    62px
    minmax(86px, 0.68fr)
    repeat(4, minmax(0, 1fr))
    auto;
  align-items: center;
  gap: 0.45rem;
  padding: 6px;
  display: grid;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition:
    background 0.52s var(--ease),
    box-shadow 0.52s var(--ease),
    -webkit-backdrop-filter 0.52s var(--ease),
    backdrop-filter 0.52s var(--ease);
  box-shadow:
    inset 0 22px 38px -34px #ffffff66,
    inset 0 -26px 42px -31px #000000d9,
    0 23px 58px -31px #000000f2,
    0 7px 20px -15px #000000d9;
}
.nav--shared .nav__links:before {
  content: "";
  z-index: -2;
  border-radius: inherit;
  opacity: 1;
  pointer-events: none;
  background:
    radial-gradient(72% 210% at 14% -92%, #ffffff3d 0, #ffffff10 42%, #0000 71%),
    radial-gradient(50% 145% at 76% 132%, #aebdca10 0, #0000 74%),
    linear-gradient(180deg, #ffffff10 0, #ffffff06 31%, #0c0d113d 57%, #030304b8 100%),
    linear-gradient(90deg, #0000005c, #0000 20%, #0000 80%, #00000066);
  border: 0;
  transition:
    opacity 0.52s var(--ease),
    background 0.52s var(--ease),
    box-shadow 0.52s var(--ease);
  position: absolute;
  inset: 0;
  box-shadow:
    inset 0 26px 46px -39px #ffffff75,
    inset 0 -28px 44px -33px #000000bf;
}
.nav--shared .nav__links:after {
  content: "";
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(106deg, #ffffff11 0, #ffffff04 21%, #0000 43%),
    radial-gradient(46% 125% at 51% -55%, #ffffff1f 0, #0000 72%);
  opacity: 0.72;
  transition: opacity 0.52s var(--ease);
  position: absolute;
  inset: 1px;
}
.nav--shared .nav__link {
  color: #ffffff80;
  letter-spacing: 0.11em;
  height: 42px;
  transition:
    color var(--dur-2) var(--ease),
    background var(--dur-2) var(--ease),
    border-color var(--dur-2) var(--ease),
    box-shadow var(--dur-2) var(--ease);
  border: 0;
  border-radius: 999px;
  justify-self: center;
  padding: 0 clamp(0.7rem, 1.1vw, 1rem);
  font-size: 0.7rem;
}
.nav--shared .nav__link:before,
.nav--shared .nav__link:after {
  display: none;
}
.nav--shared .nav__link:hover {
  color: #ffffffeb;
  background:
    radial-gradient(90% 145% at 30% -12%, #ffffff15, #0000 64%),
    linear-gradient(180deg, #ffffff09, #ffffff03 60%, #0000000d);
  box-shadow:
    inset 0 17px 25px -24px #ffffff42,
    inset 0 -13px 20px -17px #0000007d,
    0 9px 20px -15px #000000c7;
}
.nav--shared .nav__link[aria-current="page"] {
  color: var(--ink);
  background:
    radial-gradient(110% 165% at 28% -18%, #ffffff20, #0000 63%),
    linear-gradient(180deg, #ffffff0d, #11121761 54%, #030304b0 100%);
  box-shadow:
    inset 0 18px 28px -25px #ffffff52,
    inset 0 -14px 22px -18px #0000008c,
    0 10px 22px -16px #000000d1,
    0 0 20px #dbe4ec08;
}
.nav--shared .nav__cta {
  color: #ffffffdb;
  -webkit-backdrop-filter: blur(12px) saturate(1.18);
  backdrop-filter: blur(12px) saturate(1.18);
  background:
    radial-gradient(110% 175% at 24% -24%, #ffffff1c, #0000 64%),
    linear-gradient(180deg, #ffffff0b, #11121761 55%, #030304b5 100%);
  border: 0;
  border-radius: 999px;
  place-self: center end;
  min-height: 42px;
  margin: 0 0 0 0.25rem;
  padding: 0.55rem 1.15rem;
  font-size: 0.68rem;
  display: inline-flex;
  box-shadow:
    inset 0 18px 30px -26px #ffffff52,
    inset 0 -14px 22px -18px #0000008c,
    0 11px 24px -16px #000000d9,
    0 0 24px #d6e0e807;
}
.nav--shared .nav__cta:hover {
  color: var(--ink);
  background:
    radial-gradient(110% 175% at 24% -24%, #ffffff24, #0000 64%),
    linear-gradient(180deg, #ffffff10, #ffffff06 58%, #00000014) !important;
  border: 0 !important;
  box-shadow:
    inset 0 20px 32px -27px #ffffff61,
    inset 0 -14px 22px -18px #0000008c,
    0 13px 27px -17px #000000e0,
    0 0 28px #d6e0e80a !important;
}
.nav--shared.nav-fixed,
.nav--shared.nav--scrolled {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: 0 0;
  border: 0;
  position: fixed !important;
}
.nav--shared.nav-fixed .nav__inner,
.nav--shared.nav--scrolled .nav__inner {
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background: 0 0 !important;
  border: 0 !important;
}
.nav--shared.nav--fading .nav__links:before {
  opacity: 0;
}
.nav--shared.nav--fading .nav__links:after {
  opacity: 0;
}
.nav--shared.nav--fading .nav__links {
  -webkit-backdrop-filter: blur(0) saturate(1) brightness(1);
  backdrop-filter: blur(0) saturate(1) brightness(1);
  background: #0000;
  box-shadow: none;
}
.page-home .hero {
  text-align: left;
  z-index: 2;
  width: 100vw;
  height: 100svh;
  min-height: 100svh;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
}
.page-home .hero:after {
  content: "";
  z-index: 4;
  pointer-events: none;
  background: linear-gradient(#0000, #07070957 48%, #070709e6 100%);
  height: clamp(110px, 18vh, 190px);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  box-shadow: inset 0 -65px 70px -54px #000000fa;
}
.page-home .hero:before {
  z-index: 0;
  background:
    linear-gradient(#ffffff05 1px, #0000 1px) 0 0/48px 48px,
    linear-gradient(90deg, #ffffff05 1px, #0000 1px) 0 0/48px 48px,
    radial-gradient(circle at 50% 45%, #ffffff07, #0000 32rem);
  height: auto;
  inset: 0;
  mask-image: linear-gradient(#000 0% 82%, #0000 100%);
}
.hero__frame {
  z-index: 1;
  width: 100%;
  max-width: none;
  height: 100%;
  padding-inline: 0;
  display: block;
  position: relative;
}
.hero__meta {
  z-index: 3;
  isolation: isolate;
  color: var(--ink-faint);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0;
  animation: heroSupportIn 0.7s 1.18s var(--ease) forwards;
  font-size: 0.58rem;
  position: absolute;
  top: clamp(6.5rem, 14vh, 9rem);
}
.hero__meta--left {
  padding-left: var(--inset);
  left: 0;
}
.hero__meta span {
  color: #ffffff4d;
  margin-bottom: 0.6rem;
  font-size: 0.7rem;
  display: block;
}
.hero__meta strong {
  color: #ffffffb3;
  font-size: 0.7rem;
  font-weight: 400;
  line-height: 1.6;
}
.hero__meta--right {
  padding-right: var(--inset);
  text-align: right;
  right: 0;
}
.hero__stage {
  background:
    radial-gradient(
      92% 72% at 50% 46%,
      #ffffff04 0%,
      #c2ccd803 28%,
      #91a0af01 62%,
      #0000 100%
    ),
    radial-gradient(92% 86% at 100% 100%, #7e91a503, #0000 82%),
    linear-gradient(148deg, #0c0c0ffe, #08080afe 50%, #040406);
  border: 0;
  place-items: center;
  width: 100%;
  height: 100%;
  min-height: 100%;
  display: grid;
  position: absolute;
  inset: 0;
  overflow: hidden;
  box-shadow:
    inset 0 1px #ffffff07,
    inset 1px 0 #ffffff02,
    inset -1px 0 #ffffff01,
    inset 0 -180px 210px -142px #000000f2,
    inset 0 110px 180px -156px #ffffff03,
    0 52px 110px -52px #000;
}
.hero__stage:before {
  content: "";
  background: var(--tex-paper);
  opacity: 0.045;
  pointer-events: none;
  z-index: 0;
  position: absolute;
  inset: 0;
}
.hero__stage:after {
  content: "";
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  background:
    linear-gradient(118deg, #ffffff02, #0000 30% 70%, #7e91a501),
    radial-gradient(
      88% 64% at 50% 45%,
      #ffffff02 0%,
      #aebbc701 40%,
      #0000 100%
    ),
    radial-gradient(at 50% 46%, #0000 16%, #00000024 62%, #000000a8 100%),
    linear-gradient(#00000017, #0000 28% 60%, #0000009c);
  animation: 1.5s ease-out 80ms forwards heroAmbientIn;
  position: absolute;
  inset: 0;
}
.hero__identity {
  z-index: 2;
  text-align: center;
  flex-direction: column;
  align-items: center;
  display: flex;
  position: relative;
  transform: translateY(clamp(1.25rem, 3vh, 2.5rem));
}
.hero__identity:before {
  content: "";
  z-index: -1;
  filter: blur(68px);
  pointer-events: none;
  background: radial-gradient(
    ellipse at 50% 48%,
    #ffffff05 0%,
    #c2ccd604 28%,
    #91a0af02 56%,
    #0000 100%
  );
  width: clamp(520px, 78vw, 1240px);
  height: clamp(330px, 52vw, 720px);
  position: absolute;
  top: 41%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hero__identity:after {
  content: "";
  z-index: -1;
  filter: blur(14px);
  pointer-events: none;
  background: radial-gradient(#000000d6, #0000 72%);
  width: clamp(260px, 36vw, 560px);
  height: 88px;
  position: absolute;
  bottom: -4.5rem;
  left: 50%;
  transform: translate(-50%);
}
.hero__identity h1 {
  color: #f0f0f1;
  font-family: var(--font-body);
  font-size: clamp(3rem, 5.6vw, 6.4rem);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.94;
  text-transform: uppercase;
  opacity: 0;
  animation: heroNameIn 0.9s 0.58s var(--ease) forwards;
  transform: translateY(7px);
  text-shadow:
    0 1px #ffffff05,
    0 16px 38px #000000a8;
}
.hero__fragments {
  --hero-far-y: 0px;
  z-index: 1;
  opacity: 0;
  animation: heroFragmentsIn 1.8s 0.12s var(--ease) forwards;
  pointer-events: none;
  position: absolute;
  inset: 0;
}
.hero__fragments:before {
  content: "";
  z-index: 4;
  pointer-events: none;
  background:
    radial-gradient(
      ellipse 38% 42% at 12% 52%,
      #0000 0 34%,
      #0505072b 52%,
      #05050791 70%,
      #0505074d 84%,
      #0000 100%
    ),
    radial-gradient(ellipse 46% 48% at 100% 0, #050507b8 0%, #05050770 34%, #05050720 62%, #0000 78%),
    radial-gradient(ellipse 56% 54% at 0 100%, #030305ed 0%, #050507a8 38%, #0505074f 64%, #05050714 80%, #0000 90%),
    radial-gradient(ellipse 48% 46% at 100% 100%, #050507c4 0%, #05050778 36%, #05050724 64%, #0000 80%),
    radial-gradient(
      ellipse 58% 48% at 50% 48%,
      #08080ad9 0 10%,
      #08080a9c 27%,
      #08080a42 46%,
      #08080a14 59%,
      #0000 72%
    ),
    linear-gradient(#05050738, #0000 24% 76%, #0505075c);
  position: absolute;
  inset: 0;
}
.hero__fragments:after {
  content: "";
  z-index: 5;
  pointer-events: none;
  background:
    radial-gradient(ellipse 76% 58% at 50% 46%, #d7dfe704 0%, #aab7c202 38%, #8293a301 68%, #0000 100%),
    radial-gradient(ellipse 72% 58% at 84% 92%, #aab7c202, #0000 100%);
  filter: blur(72px);
  position: absolute;
  inset: 8% 6%;
}
.hero__fragment {
  --fragment-blur: 0px;
  margin: 0;
  pointer-events: auto;
  position: absolute;
  overflow: hidden;
  will-change: transform;
}
.hero__fragment:after {
  content: "";
  z-index: 1;
  pointer-events: none;
  position: absolute;
  inset: -2px;
}
.hero__fragment img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  filter: grayscale(0.72) saturate(0.3) contrast(1.06) brightness(0.38) blur(var(--fragment-blur));
  animation: heroFragmentResolve 2.2s var(--fragment-delay, 0.25s) var(--ease) backwards;
  transform: scale(1.035);
  transition:
    filter 1.1s var(--ease),
    transform 1.9s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.hero__fragment:hover img {
  filter: grayscale(0.62) saturate(0.38) contrast(1.08) brightness(0.46) blur(var(--fragment-blur));
  transform: scale(1.022);
}
.hero__fragment--tools {
  --fragment-blur: 0.75px;
  z-index: 2;
  width: min(29vw, 500px);
  height: auto;
  aspect-ratio: 377 / 391;
  top: 51%;
  left: clamp(0.75rem, 2vw, 2.5rem);
  opacity: 0.71;
  filter: drop-shadow(20px 0 58px #cbd7e20b);
  transform: translateY(-50%);
  -webkit-mask-image: radial-gradient(ellipse 140% 112% at 25% 50%, #000 0 24%, #000e 48%, #0008 70%, #0003 86%, #0000 100%);
  mask-image: radial-gradient(ellipse 140% 112% at 25% 50%, #000 0 24%, #000e 48%, #0008 70%, #0003 86%, #0000 100%);
  -webkit-mask-composite: source-over;
  mask-composite: add;
}
.hero__fragment--tools:after {
  background:
    radial-gradient(
      ellipse 118% 104% at 28% 50%,
      #0000 0 22%,
      #07070926 48%,
      #07070978 74%,
      #070709d1 100%
    ),
    linear-gradient(90deg, #05050752 0%, #0000 24% 62%, #0505078f 100%);
}
.hero__fragment--tools img {
  --fragment-delay: 0.46s;
  object-fit: contain;
  object-position: 50% 50%;
  filter: grayscale(0.56) saturate(0.46) contrast(1.08) brightness(0.71) blur(var(--fragment-blur));
  transform: scale(1);
}
.hero__fragment--tools:hover img {
  filter: grayscale(0.48) saturate(0.54) contrast(1.1) brightness(0.86) blur(var(--fragment-blur));
  transform: translate3d(6px, -3px, 0) scale(1.01);
}
.hero__fragment--macbook {
  --fragment-blur: 1.2px;
  z-index: 1;
  width: min(39vw, 690px);
  height: auto;
  aspect-ratio: 659 / 462;
  top: -2px;
  right: -2px;
  opacity: 0.58;
  filter: drop-shadow(-18px 20px 58px #cbd7e20b);
  transform: translate3d(0, var(--hero-far-y), 0);
  -webkit-mask-image: radial-gradient(ellipse 112% 120% at 100% 0, #000 0 22%, #000e 44%, #0008 62%, #0003 76%, #0000 88%);
  mask-image: radial-gradient(ellipse 112% 120% at 100% 0, #000 0 22%, #000e 44%, #0008 62%, #0003 76%, #0000 88%);
  -webkit-mask-composite: source-over;
  mask-composite: add;
}
.hero__fragment--macbook:after {
  background: radial-gradient(
    ellipse 108% 116% at 100% 0,
    #0000 0 38%,
    #0707091f 58%,
    #07070966 76%,
    #070709bd 100%
  );
}
.hero__fragment--macbook img {
  --fragment-delay: 0.38s;
  object-position: 100% 0;
  filter: grayscale(0.6) saturate(0.42) contrast(1.08) brightness(0.64) blur(var(--fragment-blur));
  transform: scale(1);
}
.hero__fragment--macbook:hover img {
  filter: grayscale(0.54) saturate(0.48) contrast(1.1) brightness(0.74) blur(var(--fragment-blur));
  transform: translate3d(-5px, 3px, 0) scale(1.01);
}
.hero__fragment--mat {
  --fragment-blur: 0.7px;
  z-index: 3;
  width: min(47vw, 790px);
  height: min(34vh, 360px);
  right: -2px;
  bottom: -2px;
  opacity: 0.78;
  filter: drop-shadow(-20px -20px 64px #dce6ef12);
  -webkit-mask-image: radial-gradient(ellipse 148% 136% at 100% 100%, #000 0 20%, #000e 42%, #0008 66%, #0003 84%, #0000 100%);
  mask-image: radial-gradient(ellipse 148% 136% at 100% 100%, #000 0 20%, #000e 42%, #0008 66%, #0003 84%, #0000 100%);
  -webkit-mask-composite: source-over;
  mask-composite: add;
}
.hero__fragment--mat:after {
  background: none;
}
.hero__fragment--mat img {
  --fragment-delay: 0.58s;
  object-position: 100% 100%;
  filter: grayscale(0.52) saturate(0.5) contrast(1.08) brightness(0.84) blur(var(--fragment-blur));
}
.hero__fragment--mat:hover img {
  filter: grayscale(0.44) saturate(0.58) contrast(1.1) brightness(0.98) blur(var(--fragment-blur));
}
.hero__fragment--mat:hover img {
  transform: translate3d(-14px, -10px, 0) scale(1.05);
}
.hero__identity p {
  color: #ffffff61;
  letter-spacing: 0.08em;
  opacity: 0;
  max-width: 48ch;
  animation: heroCopyIn 0.8s 0.9s var(--ease) forwards;
  margin-top: 0.8rem;
  font-size: clamp(0.88rem, 1.25vw, 1.04rem);
  line-height: 1.65;
  transform: translateY(5px);
}
@keyframes heroAmbientIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes heroFragmentsIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes heroFragmentResolve {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes heroNameIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes heroCopyIn {
  0% {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes heroSupportIn {
  0% {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes heroRailIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes heroNavSettle {
  0% {
    opacity: 0;
    transform: translateY(-7px) scale(0.995);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero__fragments {
    opacity: 1;
    animation: none;
  }
  .hero__fragment img {
    animation: none;
    transform: scale(1.035);
  }
  .hero__fragment:hover img {
    transform: scale(1.035);
  }
  .hero__identity p,
  .hero-panel__link,
  .hero__meta,
  .hero__rail,
  .nav--shared .nav__inner,
  .hero__stage:after {
    opacity: 1;
    animation: none;
    transform: none;
  }
}

.hero__rail {
  z-index: 2;
  color: #ffffff52;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0;
  font-size: 0.7rem;
  animation: 0.7s ease-out 1.22s forwards heroRailIn;
  position: absolute;
}
.hero__rail {
  isolation: isolate;
  writing-mode: vertical-rl;
  text-shadow:
    0 1px #ffffff06,
    0 -1px 2px #000000b8;
  top: 50%;
}
.hero__rail--left {
  left: 1.25rem;
  transform: translateY(-50%) rotate(180deg);
}
.hero__rail--right {
  right: 1.25rem;
  transform: translateY(-50%);
}
@keyframes profileStripMove {
  to {
    transform: translate(-50%);
  }
}
@keyframes profileStripLight {
  0% {
    background-position:
      -18% -18%,
      118% 118%,
      50%,
      50%;
  }
  to {
    background-position:
      28% -6%,
      72% 106%,
      50%,
      50%;
  }
}
.home-panel {
  padding: clamp(5rem, 10vw, 10rem) 0;
  position: relative;
}
#featured-project {
  z-index: 2;
  background: #0c0c0e;
  padding-top: 0;
  padding-bottom: 0;
  position: relative;
}
.home-panel .shell {
  max-width: none;
  padding-inline: 0;
  position: relative;
}
.home-panel__number {
  top: 50%;
  left: var(--inset);
  z-index: 2;
  color: #ffffff57;
  font-size: 0.7rem;
  position: absolute;
  transform: translateY(-50%);
}
.projects-carousel {
  background: linear-gradient(145deg, #ffffff07, #0000 40%), #0d0d0f;
  border-top: 0;
  border-bottom: 0;
  min-height: clamp(560px, 70vw, 820px);
  padding: clamp(1.5rem, 3vw, 3rem) clamp(1.25rem, 5vw, 5rem)
    clamp(3.5rem, 6vw, 6.5rem);
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 -70px 90px -72px #000000eb;
}
.projects-carousel:before {
  content: "";
  background: var(--tex-paper);
  opacity: 0.055;
  pointer-events: none;
  position: absolute;
  inset: 0;
}
.projects-carousel__top {
  z-index: 3;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
  position: relative;
}
.projects-carousel__heading {
  text-align: right;
  flex-direction: column;
  align-items: flex-end;
  margin-left: auto;
  display: flex;
}
.projects-carousel__heading h2 {
  color: #ffffffe6;
  max-width: 19ch;
  font-family: var(--font-body);
  letter-spacing: -0.035em;
  text-shadow: 0 18px 38px #00000094;
  margin-top: clamp(1rem, 2vw, 2rem);
  font-size: clamp(2.3rem, 4.8vw, 5rem);
  font-weight: 500;
  line-height: 0.94;
}
.projects-carousel__count {
  color: #ffffff61;
  letter-spacing: 0.2em;
  gap: 0.55rem;
  font-size: 0.58rem;
  display: flex;
}
.projects-carousel__count span:first-child {
  color: var(--ink);
}
.projects-carousel {
  isolation: isolate;
  background:
    radial-gradient(88% 64% at 14% 0, #ffffff0d, #0000 60%),
    radial-gradient(72% 58% at 96% 100%, #7e91a505, #0000 74%),
    linear-gradient(158deg, #121215, #09090b 68%);
  min-height: clamp(680px, 65vw, 820px);
  box-shadow:
    inset 0 120px 150px -145px #ffffff0b,
    inset 0 -110px 130px -100px #000000fa,
    0 45px 100px -70px #000;
}
.projects-carousel:after {
  content: "";
  z-index: 1;
  pointer-events: none;
  background-blend-mode: screen, screen, normal, normal;
  background:
    linear-gradient(118deg, #ffffff04, #0000 26%, #ffffff03 47%, #0000 76%),
    radial-gradient(66% 56% at 50% 45%, #d2dce609, #0000 78%),
    radial-gradient(100% 80% at 50% 48%, #0000 38%, #0404058c 100%),
    linear-gradient(#05050657, #0505061f 18%, #0000 38% 72%, #050506b8);
  position: absolute;
  inset: 0;
}
.projects-carousel__backgrounds {
  z-index: 0;
  background: #09090a;
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.projects-carousel__backgrounds:after {
  content: "";
  backdrop-filter: blur(7px);
  background:
    linear-gradient(#09090b99, #09090bdb),
    radial-gradient(88% 68% at 12% 0, #ffffff0f, #0000 60%),
    radial-gradient(68% 58% at 100% 100%, #7e91a507, #0000 74%),
    radial-gradient(60% 52% at 50% 42%, #ffffff05, #0000 68%),
    radial-gradient(circle, #0000, #09090acc 78%);
  position: absolute;
  inset: 0;
}
.projects-carousel__backgrounds img {
  object-fit: cover;
  opacity: 0;
  filter: grayscale(0.8) brightness(0.42) contrast(1.08);
  width: 108%;
  height: 108%;
  transition:
    opacity 0.9s var(--ease),
    transform 1.4s var(--ease);
  position: absolute;
  inset: -4%;
  transform: scale(1.06);
}
.projects-carousel__backgrounds img.is-active {
  opacity: 0.34;
  transform: scale(1);
}
.projects-carousel__word {
  z-index: 1;
  color: #ffffff08;
  font-family: var(--font-body);
  letter-spacing: -0.055em;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  font-size: clamp(5rem, 14vw, 13rem);
  font-weight: 500;
  line-height: 0.8;
  position: absolute;
  top: clamp(2.5rem, 5vw, 5rem);
  left: 50%;
  transform: translate(-50%);
}
.projects-carousel__filters {
  z-index: 4;
  justify-content: center;
  gap: 0.65rem;
  margin-top: clamp(1.5rem, 3vw, 2.75rem);
  display: flex;
  position: relative;
}
.projects-carousel__filter {
  color: #ffffff9c;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: #ffffff05;
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  min-width: 6.5rem;
  min-height: 0;
  padding: 0.7rem 1.35rem;
  font: 500 0.65rem/1 var(--font-body);
  transition:
    color var(--dur-2) var(--ease),
    background var(--dur-2) var(--ease),
    border-color var(--dur-2) var(--ease),
    transform var(--dur-2) var(--ease);
}
.projects-carousel__filter:hover {
  color: #fff;
  border-color: #ffffff5c;
}
.projects-carousel__filter.is-active {
  color: #111114;
  background: #f1f0ed;
  border-color: #f1f0ed;
}
.projects-carousel__filter:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}
.projects-carousel__stage {
  z-index: 2;
  width: 100%;
  height: clamp(360px, 42vw, 560px);
  margin-top: clamp(2rem, 2vw, 11rem);
  position: relative;
}
.projects-carousel__stage:before {
  content: "";
  pointer-events: none;
  filter: blur(44px);
  opacity: 0.64;
  background: radial-gradient(
    #e1e6ec0d,
    #7e91a505 34%,
    #5a697802 58%,
    #0000 80%
  );
  width: min(88vw, 1280px);
  height: 118%;
  position: absolute;
  top: 24%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.project-card {
  aspect-ratio: 16/10;
  opacity: 1;
  width: min(52vw, 780px);
  min-height: 0;
  padding: 0 !important;
  transition:
    transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 0.65s var(--ease),
    filter 0.65s var(--ease),
    z-index 0s linear 0.45s;
  will-change: transform;
  border-radius: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  overflow: hidden;
  transform: translate(-50%, -50%) scale(0.78);
  box-shadow: none !important;
  background: 0 0 !important;
  border: 0 !important;
}
.project-card:before {
  content: "";
  z-index: 3;
  pointer-events: none;
  opacity: 0.58;
  transition: opacity 0.7s var(--ease);
  background:
    linear-gradient(135deg, #ffffff13, #0000 20% 78%, #ffffff05),
    radial-gradient(75% 26% at 50% 0, #ffffff0e, #0000 75%);
  position: absolute;
  inset: 0;
  box-shadow:
    inset 0 1px #ffffff12,
    inset 1px 0 #ffffff06,
    inset 0 -1px #000000b3;
}
.project-card img {
  object-fit: cover;
  filter: grayscale(0.72) brightness(0.67);
  width: 100%;
  height: 100%;
  transition:
    filter 0.7s var(--ease),
    transform 0.9s var(--ease);
}
.project-card.is-before {
  z-index: 1;
  opacity: 1;
  filter: blur(0.7px) saturate(0.72);
  transform: translate(-104%, -46%) scale(0.78);
}
.project-card.is-after {
  z-index: 1;
  opacity: 1;
  filter: blur(0.7px) saturate(0.72);
  transform: translate(4%, -54%) scale(0.78);
}
.project-card.is-active {
  z-index: 3;
  opacity: 1;
  filter: drop-shadow(0 18px 18px #000000b8) drop-shadow(0 42px 38px #000000d1)
    drop-shadow(0 -8px 22px #cddae60e);
  transition-delay: 0s;
  transform: translate(-50%, -50%) scale(1.045);
}
.project-card.is-active img {
  filter: grayscale(0.28) brightness(0.84) contrast(1.04);
}
.project-card.is-active:before {
  opacity: 1;
}
.project-card.is-before img,
.project-card.is-after img {
  filter: grayscale(0.78) brightness(0.45);
}
.project-card.is-active:hover img {
  filter: grayscale(0.08) brightness(0.9);
  transform: scale(1.015);
}
.project-card:hover,
.project-card:focus {
  outline: 0;
  box-shadow: none !important;
  background: 0 0 !important;
  border: 0 !important;
}
.projects-carousel__stage .project-detail__arrow--previous,
.projects-carousel__stage .project-detail__arrow--next {
  z-index: 8;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.projects-carousel__controls {
  display: contents;
}
.projects-carousel__stage .project-detail__arrow--previous {
  left: clamp(0.25rem, 2vw, 2rem);
}
.projects-carousel__stage .project-detail__arrow--next {
  right: clamp(0.25rem, 2vw, 2rem);
}
.projects-carousel__stage .project-detail__arrow--previous:hover,
.projects-carousel__stage .project-detail__arrow--next:hover {
  transform: translateY(-50%);
}
.projects-carousel__details {
  z-index: 3;
  text-align: center;
  width: min(42rem, 86vw);
  min-height: 5.5rem;
  margin: clamp(0.5rem, 1vw, 1rem) auto 0;
  position: relative;
}
.projects-carousel__detail {
  animation: project-detail-in 0.45s var(--ease) both;
}
.projects-carousel__detail h3 {
  color: #fffffff0;
  letter-spacing: -0.025em;
  font: 500 clamp(1.25rem, 2vw, 1.75rem) / 1.1 var(--font-body);
}
.projects-carousel__detail p {
  color: #ffffff8c;
  max-width: 54ch;
  margin: 0.65rem auto 0;
  font-size: clamp(0.72rem, 0.9vw, 0.84rem);
  line-height: 1.6;
}
@keyframes project-detail-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.project-detail__arrow {
  color: #ffffffad;
  width: 58px;
  height: 42px;
  min-height: 0;
  padding: 0 !important;
  letter-spacing: normal;
  transition:
    color var(--dur-2) var(--ease),
    transform var(--dur-2) var(--ease);
  border-radius: 0;
  place-items: center;
  display: grid;
  position: relative;
  overflow: visible;
  box-shadow: none !important;
  background: 0 0 !important;
  border: 0 !important;
}
.project-detail__arrow:before {
  content: "";
  width: 44px;
  height: 11px;
  transition:
    transform var(--dur-2) var(--ease),
    background var(--dur-2) var(--ease);
  background:
    linear-gradient(#ffffff47, #ffffff47) 50%/100% 1px no-repeat,
    linear-gradient(#ffffff47, #ffffff47) 0/1px 11px no-repeat,
    linear-gradient(#ffffff47, #ffffff47) 100%/1px 11px no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scaleX(0.82);
}
.project-detail__arrow span {
  z-index: 1;
  transition: transform var(--dur-2) var(--ease);
  background: 0 0;
  padding-inline: 0.35rem;
  font-size: 1rem;
  line-height: 1;
  position: relative;
}
.project-detail__arrow:hover {
  color: var(--ink);
  transform: none;
  box-shadow: none !important;
  background: 0 0 !important;
  border: 0 !important;
}
.project-detail__arrow:hover:before {
  background:
    linear-gradient(#ffffff9e, #ffffff9e) 50%/100% 1px no-repeat,
    linear-gradient(#ffffff9e, #ffffff9e) 0/1px 11px no-repeat,
    linear-gradient(#ffffff9e, #ffffff9e) 100%/1px 11px no-repeat;
  transform: translate(-50%, -50%) scaleX(1);
}
.project-detail__arrow:first-child:hover span {
  transform: translate(-2px);
}
.project-detail__arrow:last-child:hover span {
  transform: translate(2px);
}
.skills-education {
  isolation: isolate;
  background:
    radial-gradient(85% 72% at 10% 0, #ffffff0b, #0000 60%),
    radial-gradient(64% 58% at 100% 100%, #7e91a505, #0000 74%),
    linear-gradient(155deg, #101012, #09090a 68%);
  padding: clamp(7rem, 11vw, 11rem) 0 clamp(7rem, 10vw, 10rem);
  position: relative;
  overflow: hidden;
  box-shadow:
    inset 0 80px 110px -105px #ffffff0d,
    inset 0 -100px 120px -105px #000000fa;
}
.skills-education:after {
  content: "";
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg, #ffffff03, #0000 30% 72%, #7e91a502),
    radial-gradient(90% 68% at 50% 52%, #0000 34%, #0000006b 100%);
  position: absolute;
  inset: 0;
}
.skills-education .shell {
  z-index: 2;
  max-width: 1380px;
  position: relative;
}
.skills-education__word {
  z-index: 0;
  color: #ffffff06;
  font-family: var(--font-body);
  letter-spacing: -0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  font-size: clamp(4.8rem, 12.5vw, 12rem);
  font-weight: 500;
  line-height: 0.8;
  position: absolute;
  top: clamp(3rem, 5vw, 5rem);
  left: 50%;
  transform: translate(-50%);
}
.skills-education__head {
  grid-template-columns: 1fr;
  align-items: end;
  gap: clamp(1rem, 2vw, 2rem);
  margin-bottom: clamp(0rem, 2vw, 5rem);
  display: grid;
  transform: translateY(clamp(-5rem, -5vw, -3rem));
}
.skills-education__head .overline {
  grid-column: 1/-1;
  margin-bottom: clamp(-1rem, -1vw, -0.25rem);
}
.skills-education__head h2 {
  max-width: 19ch;
  font-family: var(--font-body);
  letter-spacing: -0.035em;
  font-size: clamp(2.3rem, 4.8vw, 5rem);
  font-weight: 500;
  line-height: 0.94;
}
.skills-education__head > p {
  max-width: 48ch;
  color: var(--ink-muted);
  border-left: 1px solid #ffffff21;
  padding-left: clamp(1.25rem, 3vw, 3rem);
  font-size: clamp(0.82rem, 1.2vw, 1rem);
  line-height: 1.75;
}
.foundation-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: clamp(0.75rem, 1.35vw, 1.25rem);
}
.foundation-progress {
  display: none;
}
.foundation-card {
  isolation: isolate;
  min-height: clamp(420px, 35vw, 540px);
  padding: clamp(1.25rem, 2vw, 1.8rem);
  border-radius: clamp(1rem, 1.6vw, 1.4rem);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(95% 70% at 8% 0, #ffffff0c, transparent 58%),
    radial-gradient(70% 58% at 100% 100%, #91a3b504, transparent 74%),
    linear-gradient(155deg, #111114e8, #08080ae8 68%, #060607f2);
  box-shadow:
    inset 0 1px #ffffff0a,
    inset 1px 0 #ffffff04,
    inset 0 -34px 48px -38px #000000f5,
    0 34px 58px -40px #000000f2;
  transition:
    transform var(--dur-2) var(--ease),
    box-shadow var(--dur-2) var(--ease);
}
.foundation-card:nth-child(even) {
  min-height: clamp(360px, 30vw, 455px);
  margin-top: clamp(4.5rem, 8vw, 7.5rem);
  background:
    radial-gradient(95% 72% at 92% 0, #ffffff0b, transparent 58%),
    radial-gradient(70% 58% at 0 100%, #91a3b504, transparent 74%),
    linear-gradient(205deg, #111114e8, #08080ae8 68%, #060607f2);
}
.foundation-card:before {
  content: "";
  z-index: -1;
  pointer-events: none;
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, #ffffff03, transparent 36% 68%, #0000004a);
}
.foundation-card:hover {
  transform: translateY(-4px);
  box-shadow:
    inset 0 1px #ffffff0d,
    inset 1px 0 #ffffff05,
    inset 0 -34px 48px -38px #000000f5,
    0 40px 66px -38px #000000fa;
}
.foundation-card:nth-child(even):hover {
  transform: translateY(-4px);
}
.foundation-card__label {
  align-self: flex-start;
  color: #ffffff91;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 0.52rem 0.8rem;
  font-size: 0.56rem;
  line-height: 1;
  background:
    radial-gradient(120% 160% at 22% 0, #ffffff12, transparent 58%),
    linear-gradient(145deg, #151518d9, #0a0a0cde);
  box-shadow:
    inset 0 1px #ffffff0b,
    inset 0 -9px 14px -13px #000,
    0 12px 24px -18px #000;
}
.foundation-card__content {
  margin-top: auto;
  position: relative;
}
.foundation-card__marker {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-bottom: 0.9rem;
  display: block;
  background: #d5d5d8;
  box-shadow:
    0 0 0 4px #ffffff04,
    0 0 18px #ffffff2b;
}
.foundation-card__eyebrow {
  color: #ffffff8c;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 0.6rem;
  font-size: 0.62rem;
}
.foundation-card h3 {
  max-width: 15ch;
  color: #e1e0e3;
  font-family: var(--font-body);
  letter-spacing: -0.035em;
  margin: 0;
  font-size: clamp(1.3rem, 1.8vw, 1.75rem);
  font-weight: 500;
  line-height: 1.02;
}
.foundation-card__content > p:not(.foundation-card__eyebrow):not(.foundation-card__skills) {
  color: var(--ink-muted);
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.55;
}
.foundation-card__skills {
  color: var(--ink-faint);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  margin-top: 1.25rem;
  font-size: 0.52rem;
  line-height: 1.6;
}
@media (width<=1050px) {
  .foundation-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-bottom: 3rem;
  }
  .foundation-card {
    min-height: clamp(390px, 48vw, 500px);
  }
  .foundation-card:nth-child(even) {
    min-height: clamp(340px, 42vw, 430px);
    margin-top: 3rem;
  }
}
@media (width<=760px) {
  .home-panel__number {
    display: none;
  }
  .skills-education {
    --foundation-stack-top: clamp(15rem, 28svh, 19rem);
    overflow: clip;
  }
  .skills-education__word {
    font-size: 18vw;
  }
  .skills-education__head {
    z-index: 12;
    grid-template-columns: 1fr;
    margin-bottom: clamp(3rem, 10svh, 6rem);
    padding: 1rem 0 1.5rem;
    position: sticky;
    top: 4.5rem;
    transform: none;
    transition:
      opacity 0.32s var(--ease),
      translate 0.42s var(--ease);
  }
  .skills-education__head:after {
    content: "";
    z-index: -1;
    pointer-events: none;
    background: transparent;
    position: absolute;
    inset: -1.5rem calc(-1 * var(--inset)) -2.5rem;
  }
  .skills-education__head > p {
    padding-left: 1.25rem;
  }
  .foundation-cards {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0 2.65rem 0 0;
    display: grid;
  }
  .foundation-cards:after {
    content: "";
    grid-column: 1;
    width: 1px;
    height: max(55svh, calc(100svh - var(--foundation-stack-top) + 8rem));
    display: block;
  }
  .foundation-progress {
    --foundation-progress: 0;
    z-index: 20;
    color: #ffffff70;
    letter-spacing: 0.12em;
    width: 2.4rem;
    height: 0;
    margin-left: auto;
    font-size: 0.52rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    gap: 0.55rem;
    position: sticky;
    top: calc(var(--foundation-stack-top) + 1.25rem);
    transform: translateX(0.25rem);
    transition:
      opacity 0.28s var(--ease),
      translate 0.38s var(--ease);
  }
  .skills-education.is-stack-exiting .skills-education__head,
  .skills-education.is-stack-exiting .foundation-progress {
    opacity: 0;
    pointer-events: none;
    translate: 0 -1.5rem;
  }
  .skills-education.is-stack-played .foundation-card,
  .skills-education.is-stack-played .foundation-card:nth-child(n) {
    position: relative;
    top: auto;
    animation: none;
    filter: none;
    scale: 1;
    translate: 0 0;
    will-change: auto;
  }
  .skills-education.is-stack-complete .foundation-card,
  .skills-education.is-stack-complete .foundation-card:nth-child(n) {
    margin-bottom: 1rem;
    position: relative;
    top: auto;
    animation: none;
    filter: none;
    scale: 1;
    translate: 0 0;
    will-change: auto;
  }
  .skills-education.is-stack-complete .skills-education__head {
    opacity: 1;
    margin-bottom: 2rem;
    padding-top: 0;
    position: relative;
    top: auto;
    translate: 0 0;
  }
  .skills-education.is-stack-complete .skills-education__head:after {
    display: none;
  }
  .skills-education.is-stack-complete .foundation-card:last-of-type {
    margin-bottom: 0;
  }
  .skills-education.is-stack-complete .foundation-cards:after {
    display: none;
  }
  .foundation-progress__track {
    flex: 0 0 1px;
    order: 3;
    background: #ffffff12;
    width: 1px;
    height: 4.5rem;
    display: block;
    position: relative;
    overflow: hidden;
  }
  .foundation-progress__track span {
    background: linear-gradient(#ffffff5c, #d6e0e8c2);
    width: 1px;
    height: 100%;
    position: absolute;
    inset: 0;
    transform: scaleY(var(--foundation-progress));
    transform-origin: 50% 0;
    transition: transform 0.18s linear;
    box-shadow: 0 0 7px #cbd7e329;
  }
  .foundation-progress__current {
    color: #ffffffc2;
  }
  .foundation-progress__total {
    color: #ffffff52;
  }
  .foundation-card,
  .foundation-card:nth-child(even) {
    min-height: 350px;
    margin-top: 0;
    margin-bottom: clamp(12rem, 38svh, 22rem);
    position: sticky;
    transform-origin: 50% 50%;
    will-change: scale, translate, filter;
    background:
      radial-gradient(95% 70% at 8% 0, #202024 0%, #111114 58%, #0a0a0c 100%),
      linear-gradient(155deg, #111114, #08080a 68%, #060607);
    box-shadow:
      inset 0 1px #ffffff12,
      inset 1px 0 #ffffff06,
      inset 0 -34px 48px -38px #000,
      0 42px 72px -38px #000;
  }
  .foundation-card:nth-child(1) {
    z-index: 1;
    top: var(--foundation-stack-top);
  }
  .foundation-card:nth-child(2) {
    z-index: 2;
    top: calc(var(--foundation-stack-top) + 0.55rem);
  }
  .foundation-card:nth-child(3) {
    z-index: 3;
    top: calc(var(--foundation-stack-top) + 1.1rem);
  }
  .foundation-card:nth-child(4) {
    z-index: 4;
    top: calc(var(--foundation-stack-top) + 1.65rem);
    margin-bottom: 0;
  }
  .foundation-card:hover,
  .foundation-card:nth-child(even):hover {
    transform: none;
  }
  .foundation-card:nth-child(even) {
    background:
      radial-gradient(95% 72% at 92% 0, #202024 0%, #111114 58%, #0a0a0c 100%),
      linear-gradient(205deg, #111114, #08080a 68%, #060607);
  }
  @supports (animation-timeline: view()) {
    .foundation-card {
      animation: foundationCardStackIn cubic-bezier(0.22, 0.61, 0.36, 1) both;
      animation-timeline: view(block);
      animation-range: entry 10% entry 90%;
    }
  }
}
@keyframes foundationCardStackIn {
  from {
    filter: brightness(0.86);
    scale: 0.975;
    translate: 0 1.5rem;
  }
  to {
    filter: brightness(1);
    scale: 1;
    translate: 0 0;
  }
}
@media (width<=760px) and (prefers-reduced-motion: reduce) {
  .foundation-card {
    animation: none;
    filter: none;
    scale: 1;
    translate: 0 0;
  }
}
@media (width<=520px) {
  .foundation-card,
  .foundation-card:nth-child(even) {
    min-height: 320px;
    padding: 1.2rem;
  }
  .foundation-card h3 {
    font-size: clamp(1.3rem, 7vw, 1.65rem);
  }
}
.experience-panel {
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 42%, #ffffff09, #0000 34rem), #09090a;
  border-bottom: 0;
  margin-top: 0;
  padding: clamp(2.5rem, 4.5vw, 4.5rem) 0 clamp(6rem, 10vw, 9rem);
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 -110px 130px -105px #000000fa;
}
.experience-panel:before {
  content: "";
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(70% 85% at 50% 0, #ffffff09, #0000 68%),
    linear-gradient(#00000057, #0000 72%);
  height: clamp(140px, 18vw, 240px);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  box-shadow: inset 0 1px #ffffff06;
}
.experience-panel .shell {
  z-index: 1;
  max-width: 1380px;
  position: relative;
}
.experience-panel__word {
  z-index: 0;
  color: #ffffff06;
  font-family: var(--font-body);
  letter-spacing: -0.055em;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: clamp(5rem, 14vw, 13rem);
  font-weight: 500;
  line-height: 0.8;
  position: absolute;
  top: clamp(1.75rem, 3vw, 3rem);
  left: 50%;
  transform: translate(-50%);
}
.experience-panel__head {
  z-index: 2;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(1rem, 2vw, 1.5rem);
  max-width: 1160px;
  margin: 0 auto clamp(4.5rem, 7vw, 7rem);
  display: flex;
  position: relative;
}
.experience-panel__head h2 {
  color: #c1c0c3;
  max-width: none;
  font-family: var(--font-body);
  letter-spacing: -0.045em;
  font-size: clamp(2.4rem, 5.2vw, 5.75rem);
  font-weight: 400;
  line-height: 0.98;
}
.experience-timeline {
  --xp-col-gap: clamp(1.25rem, 2.2vw, 2.25rem);
  --xp-row-gap: clamp(4.5rem, 7vw, 6.5rem);
  gap: var(--xp-row-gap) var(--xp-col-gap);
  grid-template-columns: repeat(12, minmax(0, 1fr));
  display: grid;
  position: relative;
}
.experience-timeline__line {
  z-index: 2;
  height: var(--xp-row-gap);
  pointer-events: none;
  background: none;
  display: block;
  position: absolute;
  top: 50%;
  left: 20.5%;
  right: clamp(1.5rem, 4vw, 4rem);
  transform: translateY(-50%);
}
.experience-timeline__line svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}
.experience-timeline__line path {
  fill: none;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.experience-timeline__wire-glow {
  stroke: #cbd7e30d;
  stroke-width: 5;
  filter: blur(5px);
}
.experience-timeline__wire {
  stroke: #ffffff3d;
  stroke-width: 1;
}
.experience-timeline__line:before,
.experience-timeline__line:after {
  content: "";
  z-index: 4;
  background:
    radial-gradient(circle, #07080a 0 27%, #0000 31%),
    conic-gradient(from 45deg, #65717d, #c3ccd5, #596570, #d0d8e0, #65717d);
  border: 0;
  border-radius: 2px;
  width: 8px;
  height: 8px;
  position: absolute;
  transform: rotate(45deg);
  box-shadow:
    0 0 0 3px #09090a,
    0 0 0 4px #ffffff2e,
    0 0 9px #bfcbd71c;
}
.experience-timeline__line:before {
  top: -4px;
  right: -4px;
}
.experience-timeline__line:after {
  bottom: -4px;
  left: -4px;
}
.experience-card:first-of-type {
  grid-area: 1/1 / auto/span 7;
}
.experience-card:nth-of-type(2) {
  grid-area: 1/8 / auto/span 5;
}
.experience-card:nth-of-type(3) {
  grid-area: 2/6 / auto/span 7;
}
.experience-card:nth-of-type(4) {
  grid-area: 2/1 / auto/span 5;
}
.experience-card {
  --xp-light-x: 8%;
  --xp-edge-x: calc(100% - 1px);
  background:
    linear-gradient(180deg, #ffffff06, transparent 22%),
    radial-gradient(120% 80% at var(--xp-light-x) 0, #ffffff08, transparent 62%),
    linear-gradient(155deg, #0e0e11f7, #08080afc 72%);
  border-radius: 18px 2px 2px;
  min-height: 350px;
  transition:
    background var(--dur-2) var(--ease),
    box-shadow var(--dur-2) var(--ease);
  border: 0;
  flex-direction: column;
  padding: clamp(1.4rem, 2.5vw, 2.35rem);
  display: flex;
  position: relative;
  box-shadow:
    inset 0 1px #ffffff0a,
    inset 0 -32px 46px -40px #000,
    0 42px 70px -46px #000;
}
.experience-card:nth-of-type(2),
.experience-card:nth-of-type(3) {
  --xp-light-x: 92%;
  --xp-edge-x: 0%;
  border-radius: 2px 18px 2px 2px;
}
.experience-card:before {
  content: "";
  z-index: 1;
  pointer-events: none;
  width: clamp(64px, 7vw, 104px);
  height: 46%;
  display: block;
  position: absolute;
  top: 50%;
  left: var(--xp-edge-x);
  opacity: 0.42;
  background: radial-gradient(ellipse at center, #cbd7e309 0, #ffffff03 24%, #0000 68%);
  filter: blur(18px);
  transform: translate(-50%, -50%);
  box-shadow: none;
}
.experience-card__node {
  z-index: 5;
  background:
    radial-gradient(circle, #07080a 0 27%, #0000 31%),
    conic-gradient(from 45deg, #65717d, #c3ccd5, #596570, #d0d8e0, #65717d);
  border: 0;
  border-radius: 2px;
  width: 8px;
  height: 8px;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  box-shadow:
    0 0 0 3px #09090a,
    0 0 0 4px #ffffff2e,
    0 0 9px #bfcbd71c;
}
.experience-card:first-of-type .experience-card__node,
.experience-card:nth-of-type(4) .experience-card__node {
  right: -4px;
}
.experience-card:nth-of-type(2) .experience-card__node,
.experience-card:nth-of-type(3) .experience-card__node {
  left: -4px;
}
.experience-card:first-of-type:after,
.experience-card:nth-of-type(4):after {
  content: "";
  z-index: 3;
  pointer-events: none;
  width: var(--xp-col-gap);
  border-radius: 999px;
  background: linear-gradient(90deg, #ffffff47, #cbd7e327 58%, #ffffff3d);
  height: 1px;
  position: absolute;
  top: 50%;
  left: 100%;
  box-shadow: 0 0 7px #cbd7e30d;
}
.experience-card:hover {
  background:
    linear-gradient(180deg, #ffffff08, transparent 23%),
    radial-gradient(120% 80% at var(--xp-light-x) 0, #ffffff0b, transparent 64%),
    linear-gradient(155deg, #101013fa, #08080afc 72%);
  box-shadow:
    inset 0 1px #ffffff0d,
    inset 0 -32px 46px -40px #000,
    0 46px 76px -46px #000;
}
.experience-card__top {
  align-items: flex-start;
  gap: clamp(0.8rem, 1.5vw, 1.4rem);
  margin-bottom: 1.5rem;
  display: flex;
}
.experience-card__top:before {
  content: "";
  background: linear-gradient(90deg, #ffffff18, #ffffff05);
  flex: 1;
  height: 1px;
  margin-top: 0.75rem;
  order: 2;
}
.experience-card__index,
.experience-card time {
  color: var(--ink-faint);
  text-transform: uppercase;
}
.experience-card__index {
  color: #ffffff42;
  font-family: var(--font-body);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.12em;
  font-size: clamp(1rem, 1.35vw, 1.3rem);
  font-weight: 500;
  line-height: 1;
  order: 1;
}
.experience-card time {
  letter-spacing: 0.17em;
  font-size: 0.58rem;
  line-height: 1;
  order: 3;
}
.experience-card h3 {
  order: 2;
  max-width: 22ch;
  font-family: var(--font-body);
  letter-spacing: -0.035em;
  margin-top: 0.55rem;
  font-size: clamp(1.45rem, 2.15vw, 2.15rem);
  font-weight: 500;
  line-height: 1.02;
}
.experience-card__company {
  order: 1;
  color: #ffffff7d !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-top: auto;
  font-size: 0.58rem !important;
}
.experience-card > p:not(.experience-card__company) {
  order: 3;
  max-width: 54ch;
  color: var(--ink-muted);
  margin-top: 1.25rem;
  font-size: 1rem;
  line-height: 1.6;
}
.experience-card__tag {
  order: 4;
  width: fit-content;
  color: var(--ink-faint);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-top: 1.5rem;
  padding-top: 0;
  font-size: 0.56rem;
}
.experience-panel__link {
  align-self: flex-start;
  margin: clamp(2.5rem, 5vw, 4rem) auto 0 0;
  display: flex;
}
.hero-panel__link {
  opacity: 0;
  margin: clamp(1.5rem, 5vw, 1rem) auto 0;
  animation: heroSupportIn 0.78s 1.18s var(--ease) forwards;
  transform: translateY(4px);
}
@media (width>=981px) {
  .skills-education {
    align-items: center;
    min-height: 100svh;
    padding-top: clamp(4rem, 7vh, 6rem);
    padding-bottom: clamp(4rem, 7vh, 6rem);
    display: flex;
  }
  .skills-education .shell {
    width: 100%;
  }
  .skills-education__head {
    gap: clamp(0.6rem, 1.2vh, 1rem);
    margin-bottom: clamp(0.75rem, 2vh, 1.5rem);
    transform: translateY(clamp(-3rem, -4vh, -1.5rem));
  }
  .skills-education__head h2 {
    font-size: clamp(2.3rem, 4.6vw, 4.6rem);
  }
}
@media (width<=980px) {
  .experience-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
  .experience-card:nth-of-type(n) {
    grid-area: auto;
  }
  .experience-timeline__line,
  .experience-card:before,
  .experience-card:after,
  .experience-card__node {
    display: none;
  }
}
@media (width<=650px) {
  .experience-panel__head {
    text-align: center;
    align-items: center;
  }
  .experience-panel__word {
    font-size: 21vw;
  }
  .experience-timeline {
    grid-template-columns: 1fr;
    gap: 3.25rem;
  }
  .experience-timeline .experience-card:nth-of-type(n) {
    --xp-light-x: 50%;
    min-height: 290px;
  }
  .experience-card:nth-of-type(3) {
    order: 4;
  }
  .experience-card:nth-of-type(4) {
    order: 3;
  }
  .experience-timeline .experience-card:not(:nth-of-type(3)):after {
    content: "";
    z-index: 3;
    pointer-events: none;
    background: linear-gradient(
      180deg,
      #ffffff24 0%,
      #ffffff3d 50%,
      #ffffff24 100%
    );
    border: 0;
    width: 1px;
    height: 3.25rem;
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    filter: drop-shadow(0 0 4px #cbd7e312);
    box-shadow: none;
  }
  .experience-timeline .experience-card .experience-card__node {
    z-index: 5;
    background:
      radial-gradient(circle, #07080a 0 27%, #0000 31%),
      conic-gradient(from 45deg, #65717d, #c3ccd5, #596570, #d0d8e0, #65717d);
    border: 0;
    border-radius: 2px;
    width: 8px;
    height: 8px;
    display: block;
    inset: calc(100% + 3.25rem) auto auto 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    box-shadow:
      0 0 0 3px #09090a,
      0 0 0 4px #ffffff2e,
      0 0 9px #bfcbd71c;
  }
  .experience-timeline .experience-card:nth-of-type(3) .experience-card__node {
    display: none;
  }
}
.work-reel {
  isolation: isolate;
  background:
    radial-gradient(86% 68% at 10% 0, #ffffff0d, #0000 60%),
    radial-gradient(66% 58% at 100% 100%, #7e91a506, #0000 74%),
    linear-gradient(156deg, #111114, #08080a 70%);
  min-height: clamp(850px, 82vw, 1180px);
  position: relative;
  overflow: hidden;
  box-shadow:
    inset 0 110px 150px -135px #ffffff0d,
    inset 0 -120px 150px -120px #000000fa,
    0 -42px 96px -54px #000000fa;
}
.work-reel:after {
  content: "";
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(#08080af5, #08080a57 17%, #0000 34% 76%, #08080af0),
    radial-gradient(105% 78% at 50% 52%, #0000 42%, #00000094 100%);
  position: absolute;
  inset: 0;
}
.work-reel__word {
  z-index: 1;
  color: #ffffff06;
  font-family: var(--font-body);
  letter-spacing: -0.06em;
  text-transform: uppercase;
  pointer-events: none;
  font-size: clamp(6rem, 18vw, 17rem);
  font-weight: 500;
  line-height: 0.78;
  position: absolute;
  top: clamp(3rem, 5vw, 5rem);
  left: 50%;
  transform: translate(-50%);
}
.work-reel__heading {
  z-index: 4;
  pointer-events: none;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 2vw, 2rem);
  max-width: 1380px;
  display: grid;
  position: absolute;
  top: clamp(2.5rem, 4vw, 4rem);
  left: 50%;
  transform: translate(-50%);
}
.work-reel__heading .overline {
  grid-column: auto;
}
.work-reel__heading h2 {
  white-space: nowrap;
  max-width: none;
  font-family: var(--font-body);
  letter-spacing: -0.04em;
  font-size: clamp(2.5rem, 5.5vw, 5.8rem);
  font-weight: 500;
  line-height: 0.9;
}
.work-reel__viewport {
  z-index: 1;
  perspective: 1200px;
  transform-origin: 50%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.65rem, 1.4vw, 1.4rem);
  display: grid;
  position: absolute;
  inset: clamp(16rem, 22vw, 21rem) clamp(0.8rem, 3vw, 3rem) 0;
  overflow: hidden;
  transform: rotate(-4deg) scale(1.035);
  -webkit-mask-image: linear-gradient(#0000 0%, #000 9% 89%, #0000 100%);
  mask-image: linear-gradient(#0000 0%, #000 9% 89%, #0000 100%);
}
.work-reel__column {
  transform-origin: top;
  min-width: 0;
  overflow: visible;
}
.work-reel__column--one {
  z-index: 1;
  transform: translateY(3.5rem);
}
.work-reel__column--two {
  z-index: 2;
  transform: translateY(-2rem);
}
.work-reel__column--three {
  z-index: 1;
  transform: translateY(1rem);
}
.work-reel__track {
  will-change: transform;
  flex-direction: column;
  display: flex;
}
.work-reel__column--up .work-reel__track {
  animation: 38s linear infinite workReelUp;
}
.work-reel__column--down .work-reel__track {
  animation: 44s linear infinite workReelDown;
}
.work-reel__column--three .work-reel__track {
  animation-duration: 41s;
  animation-delay: -13s;
}
.work-reel__column--one .work-reel__track {
  animation-delay: -5s;
}
.work-reel__column--two .work-reel__track {
  animation-delay: -19s;
}
.work-reel__group {
  flex: none;
  gap: clamp(0.65rem, 1.4vw, 1.4rem);
  padding-bottom: clamp(0.65rem, 1.4vw, 1.4rem);
  display: grid;
}
.work-frame {
  cursor: zoom-in;
  border-radius: clamp(0.45rem, 1.1vw, 1rem);
  width: 100%;
  min-height: 0;
  padding: 0;
  display: block;
  position: relative;
  overflow: hidden;
  background: #0b0b0d !important;
  border: 0 !important;
  box-shadow:
    inset 0 1px #ffffff0e,
    0 28px 52px -30px #000000fa !important;
}
.work-frame:after {
  content: "View";
  color: #ffffffe6;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0;
  backdrop-filter: blur(3px);
  transition: opacity 0.42s var(--ease);
  background: #0606077a;
  place-items: center;
  font-size: 0.58rem;
  display: grid;
  position: absolute;
  inset: 0;
}
.work-frame--landscape {
  aspect-ratio: 1.35;
}
.work-frame--portrait {
  aspect-ratio: 0.88;
}
.work-frame--square {
  aspect-ratio: 1;
}
.work-frame--wide {
  aspect-ratio: 1.55;
}
.work-frame img {
  object-fit: cover;
  filter: saturate(0.72) brightness(0.68) contrast(1.04);
  width: 100%;
  height: 100%;
  transition:
    filter 0.6s var(--ease),
    transform 0.85s var(--ease);
  transform: scale(1.01);
}
.work-frame:hover:after,
.work-frame:focus-visible:after {
  opacity: 1;
}
.work-frame:hover img,
.work-frame:focus-visible img {
  filter: saturate(0.95) brightness(0.82) contrast(1.02);
  transform: scale(1.035);
}
.work-frame:hover,
.work-frame:focus-visible {
  background: #0b0b0d !important;
  border: 0 !important;
  transform: none !important;
}
.work-reel__column:hover .work-reel__track,
.work-reel__column:focus-within .work-reel__track {
  animation-play-state: paused;
}
@keyframes workReelUp {
  0% {
    transform: translate(0);
  }
  to {
    transform: translateY(-50%);
  }
}
@keyframes workReelDown {
  0% {
    transform: translateY(-50%);
  }
  to {
    transform: translate(0);
  }
}
body.work-lightbox-open {
  overflow: hidden;
}
.work-lightbox[hidden] {
  display: none;
}
.work-lightbox {
  z-index: 1000;
  color: var(--ink);
  opacity: 0;
  transition: opacity 0.42s var(--ease);
  background:
    radial-gradient(75% 55% at 12% 0, #ffffff0d, #0000 62%),
    linear-gradient(155deg, #111114fe, #050506fe);
  position: fixed;
  inset: 0;
  overflow: hidden;
}
.work-lightbox.is-open {
  opacity: 1;
}
.work-lightbox__bar {
  z-index: 3;
  padding: 1rem var(--inset);
  color: #fff9;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  pointer-events: none;
  background: linear-gradient(#050506f5, #0000);
  justify-content: space-between;
  align-items: center;
  font-size: 0.6rem;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.work-lightbox__bar button {
  color: #ffffffc7;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  pointer-events: auto;
  border-radius: 999px;
  align-items: center;
  gap: 0.65rem;
  padding: 0.7rem 0.9rem;
  font-size: 0.58rem;
  display: flex;
  background: #ffffff0b !important;
  border: 0 !important;
  box-shadow:
    inset 0 1px #fff1,
    0 18px 34px -22px #000000f2 !important;
}
.work-lightbox__bar button span {
  font-size: 1rem;
  line-height: 0.7;
}
.work-lightbox__scroll {
  overscroll-behavior: contain;
  scroll-snap-type: y mandatory;
  scrollbar-width: thin;
  scrollbar-color: #ffffff38 transparent;
  width: 100%;
  height: 100%;
  overflow-y: auto;
}
.work-lightbox__item {
  min-height: 100svh;
  padding: clamp(5rem, 8vw, 8rem) var(--inset) clamp(3rem, 5vw, 5rem);
  scroll-snap-align: start;
  place-items: center;
  margin: 0;
  display: grid;
}
.work-lightbox__item img {
  object-fit: contain;
  width: auto;
  max-width: min(1420px, 94vw);
  max-height: calc(100svh - 9rem);
  display: block;
  box-shadow:
    0 45px 100px -45px #000,
    0 0 0 1px #ffffff09;
}
@media (width<=760px) {
  .work-reel {
    min-height: 820px;
  }
  .work-reel__heading {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .work-reel__viewport {
    gap: 0.5rem;
    top: 16rem;
  }
  .work-reel__group {
    gap: 0.5rem;
    padding-bottom: 0.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .work-reel__track {
    animation: none !important;
  }
  .work-lightbox {
    transition: none;
  }
}
@media (width<=899px) {
  .nav--shared,
  .nav--shared.nav-fixed,
  .nav--shared.nav--scrolled {
    position: fixed !important;
  }
  .nav--shared.nav--hidden {
    opacity: 1;
    transform: none !important;
  }
  .navmenu {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transition-duration: 0.24s;
  }
  .nav__toggle-input:checked ~ .navmenu .navmenu__eyebrow,
  .nav__toggle-input:checked ~ .navmenu .navmenu__nav a,
  .nav__toggle-input:checked ~ .navmenu .navmenu__foot {
    animation-duration: 0.22s;
  }
  .nav__toggle-input:checked ~ .navmenu .navmenu__eyebrow {
    animation-delay: 0.02s;
  }
  .nav__toggle-input:checked ~ .navmenu .navmenu__nav a:first-child {
    animation-delay: 0.04s;
  }
  .nav__toggle-input:checked ~ .navmenu .navmenu__nav a:nth-child(2) {
    animation-delay: 0.07s;
  }
  .nav__toggle-input:checked ~ .navmenu .navmenu__nav a:nth-child(3) {
    animation-delay: 0.1s;
  }
  .nav__toggle-input:checked ~ .navmenu .navmenu__nav a:nth-child(4) {
    animation-delay: 0.13s;
  }
  .nav__toggle-input:checked ~ .navmenu .navmenu__nav a:nth-child(5) {
    animation-delay: 0.16s;
  }
  .nav__toggle-input:checked ~ .navmenu .navmenu__nav a:nth-child(6) {
    animation-delay: 0.19s;
  }
  .nav__toggle-input:checked ~ .navmenu .navmenu__foot {
    animation-delay: 0.22s;
  }
  .nav--shared .nav__inner {
    width: min(680px, calc(100vw - (2 * var(--inset))));
    backdrop-filter: blur(16px);
    background: linear-gradient(145deg, #ffffff0f, #ffffff03), #09090ad6;
    border: 0;
    border-radius: 999px;
    justify-content: space-between;
    height: 54px;
    padding: 4px;
    box-shadow:
      inset 0 18px 30px -28px #ffffff3d,
      inset 0 -18px 30px -24px #0000009e,
      0 14px 30px -20px #000000f2;
  }
  .nav--shared.nav-fixed .nav__inner,
  .nav--shared.nav--scrolled .nav__inner {
    background: #09090ae6;
    border: 0;
    border-radius: 999px;
    box-shadow:
      inset 0 18px 30px -28px #ffffff3d,
      inset 0 -18px 30px -24px #0000009e,
      0 16px 34px -20px #000000f5;
  }
  .nav--shared .nav__burger {
    background: #ffffff06;
    border: 0;
    width: 44px;
    height: 44px;
    margin-right: 1px;
    display: block;
  }
  .nav--shared .brand__badge {
    background: none;
    border: 0;
    border-radius: 0;
    width: auto;
    height: 44px;
    padding-inline: 0.9rem;
  }
  .nav--shared .brand {
    transition:
      opacity 0.3s var(--ease),
      transform 0.3s var(--ease);
  }
  .nav--shared.nav--mobile-scrolled .brand {
    opacity: 0;
    pointer-events: none;
    transform: translateX(-8px);
  }
  .nav--shared .nav__links {
    width: 64px;
    height: 44px;
    box-shadow: none;
    backdrop-filter: none;
    background: 0 0;
    border: 0;
    border-radius: 0;
    flex: 0 0 64px;
    padding: 0;
    display: flex;
    position: static;
    transform: none;
  }
  .nav--shared .nav__links:before,
  .nav--shared .nav__links:after {
    display: none;
  }
  .nav--shared.nav-fixed .nav__links,
  .nav--shared.nav--scrolled .nav__links {
    box-shadow: none;
    background: 0 0;
    border: 0;
  }
  .nav--shared .nav__link,
  .nav--shared .nav__cta {
    display: none;
  }
  .hero__fragments,
  .hero__identity:before,
  .hero__identity:after {
    display: none;
  }
  .hero__stage:after {
    opacity: 1;
    animation: none;
  }
  .hero__frame {
    height: 100%;
  }
  .hero__stage {
    min-height: 100%;
  }
  .home-panel__number {
    top: -2rem;
    left: var(--inset);
    transform: none;
  }
}
@media (width<=600px) {
  .hero__meta {
    display: none;
  }
  .hero__stage {
    min-height: 100%;
    background:
      radial-gradient(
        132% 88% at 50% 43%,
        #ffffff03 0%,
        #aebbc702 38%,
        #0000 100%
      ),
      radial-gradient(112% 78% at 0 0, #ffffff03, #0000 90%),
      radial-gradient(112% 84% at 100% 100%, #8f9ead02, #0000 94%),
      linear-gradient(158deg, #0c0c0f, #070709 56%, #040405);
    box-shadow:
      inset 0 1px #ffffff04,
      inset 0 150px 220px -204px #ffffff04,
      inset 0 -220px 280px -210px #000000df;
  }
  .hero__identity h1 {
    font-size: clamp(2.25rem, 9.4vw, 3.25rem);
    letter-spacing: -0.055em;
  }
  .hero__rail {
    display: none;
  }
  .projects-carousel {
    min-height: 720px;
    padding-inline: 1rem;
  }
  .projects-carousel__stage {
    height: 350px;
    margin-top: 3.5rem;
  }
  .projects-carousel__details {
    width: min(88vw, 32rem);
    min-height: 6.25rem;
    margin-top: 0.25rem;
  }
  .projects-carousel__filters {
    margin-top: 2rem;
  }
  .projects-carousel__filter {
    min-width: 5.75rem;
    padding-inline: 1.1rem;
  }
  .project-card {
    width: min(78vw, 480px);
  }
  .project-card.is-before {
    transform: translate(-112%, -46%) scale(0.7);
  }
  .project-card.is-after {
    transform: translate(12%, -54%) scale(0.7);
  }
  .project-card.is-active {
    transform: translate(-50%, -50%) scale(1.025);
  }
  .project-detail__arrow {
    width: clamp(34px, 10vw, 42px);
    height: clamp(32px, 9vw, 36px);
  }
  .project-detail__arrow:before {
    width: clamp(34px, 10vw, 42px);
  }
  .projects-carousel__controls {
    z-index: 8;
    width: min(79.95vw, 492px);
    height: 0;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .projects-carousel__stage .project-detail__arrow--previous,
  .projects-carousel__stage .project-detail__arrow--next {
    top: 0;
    bottom: auto;
    transform: translateY(-50%);
  }
  .projects-carousel__stage .project-detail__arrow--previous {
    right: 100%;
    left: auto;
  }
  .projects-carousel__stage .project-detail__arrow--previous span {
    position: absolute;
    top: 50%;
    right: -0.35rem;
    transform: translateY(-50%);
  }
  .projects-carousel__stage .project-detail__arrow--previous:hover span {
    transform: translate(-2px, -50%);
  }
  .projects-carousel__stage .project-detail__arrow--next {
    right: auto;
    left: 100%;
  }
  .projects-carousel__stage .project-detail__arrow--next span {
    position: absolute;
    top: 50%;
    left: -0.35rem;
    transform: translateY(-50%);
  }
  .projects-carousel__stage .project-detail__arrow--next:hover span {
    transform: translate(2px, -50%);
  }
  .projects-carousel__stage .project-detail__arrow--previous:hover,
  .projects-carousel__stage .project-detail__arrow--next:hover {
    transform: translateY(-50%);
  }
}
.page-home
  :is(
    .skills-education__word,
    .projects-carousel__word,
    .experience-panel__word,
    .work-reel__word,
    .contact-section__word
  ) {
  color: var(--home-section-word-color);
  font-size: var(--home-section-word-size);
  text-shadow:
    0 -1px #ffffff02,
    0 28px 54px #00000085;
  font-weight: 500;
  line-height: 0.8;
}
.skills-education {
  background:
    radial-gradient(88% 72% at 8% 0%, var(--home-light-key), transparent 62%),
    radial-gradient(
      62% 58% at 100% 100%,
      var(--home-light-fill),
      transparent 76%
    ),
    linear-gradient(
      155deg,
      var(--home-surface-high),
      var(--home-surface-mid) 62%,
      var(--home-surface-low)
    );
  box-shadow:
    inset 0 1px #ffffff05,
    inset 0 88px 120px -116px #ffffff07,
    inset 0 -108px 132px -108px #000000fa;
}
.skills-education:after {
  background:
    linear-gradient(120deg, #ffffff02, #0000 30% 74%, #7e91a501),
    radial-gradient(92% 70% at 50% 52%, #0000 32%, #00000080 100%);
}
#featured-project,
.projects-carousel,
.projects-carousel__backgrounds {
  background-color: var(--home-surface-mid);
}
.projects-carousel {
  background:
    radial-gradient(118% 88% at 48% 10%, #ffffff06, #ffffff02 30%, #0000 74%),
    radial-gradient(92% 72% at 4% 0, #ffffff04, #0000 72%),
    radial-gradient(86% 70% at 100% 100%, #97a9bc02, #0000 82%),
    linear-gradient(158deg, #0e0e11, #08080a 68%, #060608);
  box-shadow:
    inset 0 1px #ffffff05,
    inset 0 180px 240px -224px #ffffff06,
    inset 0 -180px 220px -172px #000000fc,
    0 62px 132px -92px #000;
}
.projects-carousel:after {
  background:
    linear-gradient(118deg, #ffffff01, #0000 36% 70%, #8999a601),
    radial-gradient(92% 76% at 50% 47%, #cdd8e404, #0000 84%),
    radial-gradient(124% 104% at 50% 48%, #0000 30%, #0404059c 100%),
    linear-gradient(
      180deg,
      #05050680 0%,
      #06060748 16%,
      #07070818 34%,
      #0000 52%,
      #06060722 72%,
      #050506c7 100%
    );
}
.projects-carousel__backgrounds:after {
  background:
    linear-gradient(180deg, #08080abf, #08080ad9 38%, #08080aeb),
    radial-gradient(112% 88% at 8% 0, #ffffff06, #0000 72%),
    radial-gradient(88% 74% at 100% 100%, #97a9bc02, #0000 82%),
    radial-gradient(90% 76% at 50% 44%, #ffffff02, #0000 78%),
    radial-gradient(circle, #0000, #08080ad4 84%);
}
.projects-carousel__stage:before {
  width: min(118vw, 1680px);
  height: 150%;
  top: 30%;
  filter: blur(72px);
  opacity: 0.34;
  background: radial-gradient(
    ellipse,
    #dce4ec08 0%,
    #a9b7c304 30%,
    #7e91a502 62%,
    #0000 100%
  );
}
.project-card.is-active {
  filter: drop-shadow(0 18px 20px #000000c7) drop-shadow(0 44px 42px #000000e0)
    drop-shadow(0 -8px 20px #cddae608);
}
.experience-panel {
  background:
    radial-gradient(82% 62% at 8% 0, #ffffff07, #0000 64%),
    radial-gradient(64% 58% at 100% 100%, #97a9bc02, #0000 76%),
    linear-gradient(155deg, #0d0d10, #08080a 66%, #060608);
  box-shadow:
    inset 0 1px #ffffff04,
    inset 0 -116px 138px -108px #000000fc;
}
.experience-panel:before {
  background:
    radial-gradient(72% 88% at 10% 0, #ffffff06, #0000 70%),
    linear-gradient(#00000047, #0000 74%);
  box-shadow: inset 0 1px #ffffff04;
}
.work-reel {
  background:
    radial-gradient(86% 68% at 8% 0, #ffffff08, #0000 62%),
    radial-gradient(64% 58% at 100% 100%, #97a9bc02, #0000 76%),
    linear-gradient(156deg, #0d0d10, #070709 70%, #050507);
  box-shadow:
    inset 0 1px #ffffff04,
    inset 0 112px 152px -140px #ffffff07,
    inset 0 -126px 154px -120px #000000fc,
    0 -44px 98px -58px #000000fa;
}
.work-reel:after {
  background:
    linear-gradient(#070709fa, #07070970 17%, #0000 34% 74%, #070709f5),
    radial-gradient(105% 78% at 50% 52%, #0000 38%, #000000a8 100%);
}
.work-frame {
  box-shadow:
    inset 0 1px #ffffff0a,
    0 30px 54px -32px #000000fc !important;
}
.contact-section {
  background:
    radial-gradient(72% 60% at 8% 0, #ffffff08, #0000 66%),
    radial-gradient(60% 54% at 100% 100%, #97a9bc02, #0000 76%),
    radial-gradient(circle at 50% 48%, #ffffff02, #0000 36rem),
    linear-gradient(145deg, #0d0d10, #08080a 62%, #050506 100%);
  box-shadow:
    inset 0 1px #ffffff04,
    inset 0 104px 136px -122px #ffffff06,
    inset 0 -194px 254px -206px #000000b3;
}
.contact-section:before {
  background:
    linear-gradient(118deg, #ffffff02, #0000 30% 74%, #7e91a501),
    radial-gradient(at 50% 48%, #0000 22%, #0006 76%, #000000a3 100%),
    linear-gradient(#0000001a, #0000 22% 66%, #0000005c);
}
@media (width<=760px) {
  .page-home {
    --home-section-word-size: 18vw;
  }
}

/* Final LYFE dock layout: gallery marquee passes behind fixed project context. */
.page-case--lyfe .lyfe-campaign .lyfe-hero__dock-inner {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(78% 135% at 54% -35%, #ffffff08, transparent 68%),
    linear-gradient(112deg, #0e0f11, #070809 76%);
  -webkit-mask-image: linear-gradient(90deg, #000 0 97%, transparent);
  mask-image: linear-gradient(90deg, #000 0 97%, transparent);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
  display: flex;
  width: max-content;
  height: 100%;
  will-change: transform;
  animation: lyfe-dock-marquee-final 62s linear infinite;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__previews-set,
.page-case--lyfe
  .lyfe-campaign
  .lyfe-hero__previews-set[aria-hidden="true"] {
  display: flex !important;
  flex: none;
  gap: clamp(0.75rem, 1.05vw, 1.2rem);
  height: 100%;
  padding-right: clamp(0.75rem, 1.05vw, 1.2rem);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
.page-case--lyfe
  .lyfe-campaign
  .lyfe-hero__preview
  + .lyfe-hero__preview,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
  display: block !important;
  flex: none;
  width: clamp(17rem, 24vw, 29rem) !important;
  height: calc(100% - clamp(0.7rem, 1vw, 1rem)) !important;
  min-width: 0;
  min-height: 0;
  margin-block: clamp(0.35rem, 0.5vw, 0.5rem);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview figure,
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview img {
  width: 100%;
  height: 100%;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__preview img {
  object-fit: cover;
}
.page-case--lyfe
  .lyfe-campaign
  .lyfe-hero__previews:focus-within
  .lyfe-hero__previews-track {
  animation-play-state: running;
}
.page-case--lyfe
  .lyfe-campaign
  .lyfe-hero__previews:hover
  .lyfe-hero__previews-track {
  animation-play-state: paused;
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
  position: absolute;
  z-index: 4;
  inset: 0 auto 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(1.25rem, 2.4vw, 3rem);
  width: clamp(17rem, 36%, 31rem);
  height: 100%;
  padding: clamp(1.35rem, 2.35vw, 2.55rem);
  background:
    radial-gradient(100% 125% at 8% -8%, #ffffff0a, transparent 62%),
    linear-gradient(
      90deg,
      #111214fa 0%,
      #0d0e10f2 64%,
      #0b0c0dd2 82%,
      transparent 100%
    );
  box-shadow:
    inset 0 24px 52px -48px #ffffff26,
    30px 0 72px -52px #000000e8;
  -webkit-backdrop-filter: blur(16px) saturate(72%);
  backdrop-filter: blur(16px) saturate(72%);
}
.page-case--lyfe .lyfe-campaign .lyfe-hero__meta > div {
  min-height: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}
@keyframes lyfe-dock-marquee-final {
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews {
    overflow-x: auto;
    scrollbar-width: none;
  }
  .page-case--lyfe
    .lyfe-campaign
    .lyfe-hero__previews::-webkit-scrollbar {
    display: none;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews-track {
    animation: none;
  }
  .page-case--lyfe
    .lyfe-campaign
    .lyfe-hero__previews-set[aria-hidden="true"] {
    display: none !important;
  }
}
@media (width<=760px) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    width: min(48%, 10.5rem);
    padding: 1rem;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
  .page-case--lyfe
    .lyfe-campaign
    .lyfe-hero__preview
    + .lyfe-hero__preview,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
    width: clamp(13rem, 62vw, 18rem) !important;
  }
}

/* LYFE mobile: full-bleed hero with its editorial panel attached to the image. */
@media (width <= 760px) {
  body.lyfe-lightbox-open {
    overflow: hidden;
  }

  body.lyfe-lightbox-open .nav {
    pointer-events: none;
  }

  .page-case--lyfe main {
    --lyfe-mobile-nav-clearance: clamp(4.5rem, 10dvh, 5rem);
    height: 100dvh;
    min-height: 0;
    padding-top: var(--lyfe-mobile-nav-clearance);
    overflow: hidden;
  }

  .page-case--lyfe .lyfe-campaign {
    --lyfe-mobile-image-height: 63.7136vw;
    --lyfe-mobile-dock-height: clamp(5.5rem, 15dvh, 7rem);
    --lyfe-mobile-panel-height: clamp(
      8.75rem,
      calc(
        100dvh -
        var(--lyfe-mobile-nav-clearance) -
        var(--lyfe-mobile-dock-height) -
        var(--lyfe-mobile-image-height)
      ),
      17.5rem
    );
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    display: grid;
    grid-template-rows:
      minmax(var(--lyfe-mobile-image-height), 1fr)
      var(--lyfe-mobile-panel-height)
      var(--lyfe-mobile-dock-height);
  }

  .page-case--lyfe .lyfe-campaign .case-hero__media,
  .page-case--lyfe .lyfe-campaign:not(.is-image-focus) .case-hero__media {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    align-self: stretch;
    position: relative;
    inset: auto;
    bottom: auto;
    background: #070708;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__product-base,
  .page-case--lyfe .lyfe-campaign:hover .lyfe-hero__product-base {
    width: 100%;
    height: 100%;
    max-height: none;
    inset: 0;
    object-fit: contain;
    object-position: center bottom;
    filter: saturate(0.82) brightness(0.88) contrast(1.035);
    opacity: 1;
    z-index: 1;
    display: block;
    animation: none;
    transform: none;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__lightbox-trigger {
    z-index: 3;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    inset: 0;
    padding: 0;
    cursor: pointer;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__lightbox-trigger:focus-visible {
    outline: 1px solid #ffffff75;
    outline-offset: -4px;
  }

  .page-case--lyfe .lyfe-campaign .case-hero__media:after {
    background:
      linear-gradient(180deg, #070708b8 0%, transparent 18%),
      radial-gradient(ellipse 115% 90% at 50% 100%, transparent 58%, #05050652 100%);
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__frame {
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
    padding: clamp(0.85rem, 2.4dvh, 1.4rem) var(--inset) clamp(2.75rem, 6dvh, 3.25rem);
    position: relative;
    inset: auto;
    overflow: hidden;
    background:
      radial-gradient(110% 95% at 0 0, #ffffff0c, transparent 58%),
      linear-gradient(155deg, #111114f5, #070708fc 72%);
    box-shadow:
      inset 0 1px #ffffff0a,
      0 -2.5rem 5rem -3.25rem #000;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__frame:after {
    width: 100%;
    height: 3.5rem;
    inset: 0 0 auto;
    background: linear-gradient(180deg, #ffffff04, transparent);
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__rail {
    width: 100%;
    height: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    position: static;
    inset: auto;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__count {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__count strong {
    font-size: clamp(1.05rem, 2.8dvh, 1.35rem);
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__count span {
    margin: 0;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__mobile-pagination {
    z-index: 4;
    width: min(15rem, calc(100% - (2 * var(--inset))));
    height: 2.5rem;
    display: grid;
    grid-template-columns: 2.5rem 1fr 2.5rem;
    align-items: center;
    position: absolute;
    right: 0;
    bottom: clamp(0.1rem, 0.5dvh, 0.4rem);
    left: 0;
    margin-inline: auto;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__pagination {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    position: static;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__pagination i {
    width: 5px;
    height: 5px;
    margin: 0;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__mobile-pagination > button {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 0;
    color: #ffffff4f;
    background: transparent !important;
    border: 0 !important;
    padding: 0;
    display: grid;
    place-items: center;
    cursor: pointer;
    box-shadow: none !important;
    transition: color 0.3s var(--ease);
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__mobile-pagination > button:hover,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__mobile-pagination > button:focus-visible {
    color: #ffffffb8;
    outline: 0;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__mobile-pagination > button span {
    font-size: 0.9rem;
    line-height: 1;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy {
    width: 100%;
    max-width: none;
    margin-top: clamp(0.55rem, 1.8dvh, 1rem);
    position: relative;
    inset: auto;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy .overline {
    margin-bottom: clamp(0.45rem, 1.3dvh, 0.75rem);
  }

  
  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy [data-case-eyebrow] {
    display: none;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__role-overline {
    display: block;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy h1 {
    width: 100%;
    max-width: none;
    white-space: nowrap;
    font-size: clamp(1.8rem, min(9vw, 5.8dvh), 2.75rem);
    line-height: 0.95;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy h1 br {
    display: none;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy p {
    max-width: 48ch;
    margin-top: clamp(0.5rem, 1.4dvh, 0.8rem);
    font-size: clamp(0.68rem, 1.65dvh, 0.8rem);
    line-height: 1.45;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__dock {
    width: 100%;
    height: 100%;
    min-height: 0;
    align-self: stretch;
    margin: 0;
    display: block;
    position: relative;
    inset: auto;
    overflow: hidden;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    border-top: 1px solid #ffffff0a;
    background:
      radial-gradient(90% 150% at 12% -50%, #ffffff0b, transparent 64%),
      linear-gradient(118deg, #111214, #08090a 72%);
    box-shadow:
      inset 0 1.5rem 3rem -2.75rem #ffffff24,
      inset 0 -2rem 3.5rem -3rem #000;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__dock-inner {
    width: 100%;
    height: 100%;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__meta {
    width: min(42%, 10rem);
    height: 100%;
    grid-template-columns: 1fr;
    align-content: center;
    gap: 0.45rem;
    padding: 0.75rem var(--inset);
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__meta > div:first-child {
    display: none;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__meta span {
    margin-bottom: 0.2rem;
    font-size: 0.43rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__meta strong {
    font-size: 0.68rem;
    line-height: 1.45;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__previews-set,
  .page-case--lyfe
    .lyfe-campaign
    .lyfe-hero__previews-set[aria-hidden="true"] {
    gap: 0.45rem;
    padding-right: 0.45rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview,
  .page-case--lyfe
    .lyfe-campaign
    .lyfe-hero__preview
    + .lyfe-hero__preview,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview[hidden] {
    width: clamp(8.5rem, 34vw, 10.5rem) !important;
    height: calc(100% - 0.7rem) !important;
    margin-block: 0.35rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview figcaption {
    right: 0.55rem;
    bottom: 0.45rem;
    left: auto;
    font-size: 0.42rem;
  }

  .page-case--lyfe
    .lyfe-campaign
    .lyfe-hero__previews:hover
    .lyfe-hero__previews-track,
  .page-case--lyfe
    .lyfe-campaign
    .lyfe-hero__previews:focus-within
    .lyfe-hero__previews-track {
    animation-play-state: running !important;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview:hover,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview:focus-visible,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__preview.is-selected {
    transform: none;
  }

  .page-case--lyfe .lyfe-campaign.is-changing-frame .lyfe-hero__meta strong {
    opacity: 1;
    filter: none;
    transform: none;
  }

  .page-case--lyfe .lyfe-lightbox.is-open {
    z-index: 100000;
    width: 100vw;
    height: 100dvh;
    padding: max(1rem, env(safe-area-inset-top)) 0 max(1rem, env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: 3.25rem minmax(0, 1fr) 3.25rem;
    grid-template-rows: 3.25rem minmax(0, 1fr);
    align-items: center;
    position: fixed;
    inset: 0;
    background:
      radial-gradient(ellipse 85% 65% at 50% 48%, #151518, transparent 72%),
      #050506f7;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  .page-case--lyfe .lyfe-lightbox__close,
  .page-case--lyfe .lyfe-lightbox__arrow {
    z-index: 2;
    width: 3rem;
    height: 3rem;
    min-width: 0;
    color: #ffffff8c;
    background: transparent !important;
    border: 0 !important;
    padding: 0;
    display: grid;
    place-items: center;
    cursor: pointer;
    box-shadow: none !important;
  }

  .page-case--lyfe .lyfe-lightbox__close {
    grid-area: 1 / 3;
    justify-self: center;
    font-size: 1.6rem;
  }

  .page-case--lyfe .lyfe-lightbox__arrow {
    grid-row: 2;
    font-size: 1rem;
  }

  .page-case--lyfe .lyfe-lightbox__arrow--prev {
    grid-column: 1;
  }

  .page-case--lyfe .lyfe-lightbox__arrow--next {
    grid-column: 3;
  }

  .page-case--lyfe .lyfe-lightbox__close:hover,
  .page-case--lyfe .lyfe-lightbox__close:focus-visible,
  .page-case--lyfe .lyfe-lightbox__arrow:hover,
  .page-case--lyfe .lyfe-lightbox__arrow:focus-visible {
    color: #fff;
    outline: 0;
  }

  .page-case--lyfe .lyfe-lightbox__figure {
    width: 100%;
    height: 100%;
    min-height: 0;
    grid-area: 2 / 2;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    align-items: center;
    margin: 0;
  }

  .page-case--lyfe .lyfe-lightbox__figure img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
    filter: saturate(0.9) brightness(1.02) contrast(1.02);
  }

  .page-case--lyfe .lyfe-lightbox__figure figcaption {
    color: #ffffff61;
    letter-spacing: 0.18em;
    text-align: center;
    padding-top: 0.85rem;
    font-size: 0.55rem;
  }
}

/* Desktop LYFE stage: fill the live area between the editorial panel and dock. */
@media (width > 760px) {
  .page-case--lyfe .lyfe-campaign {
    --lyfe-panel-width: clamp(23rem, 35vw, 34.375rem);
    --lyfe-panel-toggle-duration: 0.85s;
    --lyfe-panel-toggle-ease: cubic-bezier(0.76, 0, 0.24, 1);
    --lyfe-desktop-nav-clearance: calc(clamp(1.25rem, 2.4vw, 1.8rem) + 58px + 0.75rem);
    --lyfe-stage-duration: var(--lyfe-panel-toggle-duration);
    --lyfe-stage-ease: var(--lyfe-panel-toggle-ease);
  }

  .page-case--lyfe .lyfe-campaign .case-hero__media {
    transition:
      top var(--lyfe-panel-toggle-duration) var(--lyfe-panel-toggle-ease),
      right var(--lyfe-panel-toggle-duration) var(--lyfe-panel-toggle-ease),
      bottom var(--lyfe-panel-toggle-duration) var(--lyfe-panel-toggle-ease),
      left var(--lyfe-panel-toggle-duration) var(--lyfe-panel-toggle-ease);
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__frame {
    transition:
      transform var(--lyfe-panel-toggle-duration) var(--lyfe-panel-toggle-ease),
      opacity var(--lyfe-panel-toggle-duration) var(--lyfe-panel-toggle-ease),
      visibility 0s linear 0s;
    transition-delay: 0s;
  }

  .page-case--lyfe
    .lyfe-campaign:not(.is-image-focus)
    .lyfe-hero__lightbox-trigger {
    z-index: 3;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    inset: 0;
    padding: 0;
    cursor: pointer;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .page-case--lyfe
    .lyfe-campaign:not(.is-image-focus)
    .lyfe-hero__lightbox-trigger:before {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: 0;
    opacity: 0;
    background:
      radial-gradient(ellipse 68% 62% at 52% 46%, #ffffff0b, transparent 72%),
      linear-gradient(135deg, #ffffff05, transparent 38% 72%, #ffffff03);
    transition: opacity 0.4s var(--ease);
  }

  .page-case--lyfe
    .lyfe-campaign:not(.is-image-focus)
    .lyfe-hero__lightbox-trigger:hover:before,
  .page-case--lyfe
    .lyfe-campaign:not(.is-image-focus)
    .lyfe-hero__lightbox-trigger:focus-visible:before {
    opacity: 1;
  }

  .page-case--lyfe
    .lyfe-campaign:not(.is-image-focus)
    .lyfe-hero__lightbox-trigger:focus-visible {
    outline: 1px solid #ffffff45;
    outline-offset: -4px;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__panel-controls {
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: absolute;
    right: clamp(2rem, 2.8vw, 2.75rem);
    bottom: clamp(2rem, 4vh, 3rem);
    left: clamp(6.5rem, 7.25vw, 7.25rem);
    padding-top: 1rem;
    border-top: 1px solid #ffffff0a;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__panel-controls button {
    min-width: 0;
    min-height: 2rem;
    color: #ffffff59;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    background: transparent !important;
    border: 0 !important;
    gap: 0.65rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    box-shadow: none !important;
    transition: color 0.3s var(--ease);
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__panel-controls button:hover,
  .page-case--lyfe .lyfe-campaign .lyfe-hero__panel-controls button:focus-visible {
    color: #ffffffc7;
    outline: 0;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__panel-controls em {
    font-size: 0.5rem;
    font-style: normal;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__panel-controls span {
    font-size: 0.8rem;
    line-height: 1;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__dock {
    transition:
      transform var(--lyfe-panel-toggle-duration) var(--lyfe-panel-toggle-ease),
      opacity var(--lyfe-panel-toggle-duration) var(--lyfe-panel-toggle-ease),
      visibility 0s linear 0s;
  }

  .page-case--lyfe
    .lyfe-campaign:not(.is-image-focus)
    .case-hero__media {
    inset: 0 0 var(--lyfe-dock-height) var(--lyfe-panel-width);
    background: #080809;
  }

  .page-case--lyfe
    .lyfe-campaign:not(.is-image-focus)
    .case-hero__media:after {
    background: radial-gradient(ellipse 112% 88% at 50% 100%, transparent 58%, #05050645 100%);
  }

  .page-case--lyfe
    .lyfe-campaign:not(.is-image-focus)
    .lyfe-hero__product-base,
  .page-case--lyfe
    .lyfe-campaign:not(.is-image-focus):hover
    .lyfe-hero__product-base {
    width: var(--lyfe-rendered-width, 100%);
    height: var(--lyfe-rendered-height, 100%);
    max-height: none;
    max-width: none;
    inset: auto auto 0 50%;
    object-fit: contain;
    object-position: center;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #00000052 4%, #000 14%, #000 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #00000052 4%, #000 14%, #000 100%);
    animation: none;
    transform: translateX(-50%);
  }
}

/* Compact tablet heights preserve a full-width image and fixed bottom dock. */
@media (min-width: 600px) and (max-width: 760px) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__frame {
    padding: 0.7rem var(--inset) 2.35rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__rail {
    height: 1.15rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__count strong {
    font-size: 1rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy {
    margin-top: 0.35rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy .overline {
    margin-bottom: 0.3rem;
    font-size: 0.5rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy h1 {
    font-size: clamp(2.15rem, 5.5vw, 2.75rem);
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy p {
    margin-top: 0.35rem;
    font-size: clamp(0.78rem, 1.7vw, 0.9rem);
    line-height: 1.4;
    -webkit-line-clamp: 2;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__mobile-pagination {
    height: 2.1rem;
    bottom: 0.05rem;
  }
}

@media (min-width: 600px) and (max-width: 760px) and (max-height: 750px) {
  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy {
    margin-top: 0.15rem;
  }

  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy p {
    margin-top: 0.2rem;
    -webkit-line-clamp: 1;
  }
}

/* Desktop LYFE lightbox sits above the panel, dock and shared navigation. */
@media (width > 760px) {
  body.lyfe-lightbox-open {
    overflow: hidden;
  }

  body.lyfe-lightbox-open .nav {
    pointer-events: none;
  }

  .page-case--lyfe .lyfe-lightbox.is-open {
    z-index: 100000;
    width: 100vw;
    height: 100dvh;
    padding: clamp(1.5rem, 3vw, 3rem);
    display: grid;
    grid-template-columns: clamp(3.5rem, 5vw, 5rem) minmax(0, 1fr) clamp(3.5rem, 5vw, 5rem);
    grid-template-rows: clamp(3rem, 5vw, 4rem) minmax(0, 1fr);
    align-items: center;
    position: fixed;
    inset: 0;
    background:
      radial-gradient(ellipse 76% 72% at 50% 48%, #17171a, transparent 74%),
      #050506fa;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
  }

  .page-case--lyfe .lyfe-lightbox__close,
  .page-case--lyfe .lyfe-lightbox__arrow {
    z-index: 2;
    width: 3.5rem;
    height: 3.5rem;
    min-width: 0;
    color: #ffffff7d;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0;
    padding: 0;
    display: grid;
    place-items: center;
    cursor: pointer;
    box-shadow: none !important;
  }

  .page-case--lyfe .lyfe-lightbox__close {
    grid-area: 1 / 3;
    justify-self: end;
    font-size: 1.75rem;
  }

  .page-case--lyfe .lyfe-lightbox__arrow {
    grid-row: 2;
    font-size: 1.1rem;
  }

  .page-case--lyfe .lyfe-lightbox__arrow--prev {
    grid-column: 1;
    justify-self: start;
  }

  .page-case--lyfe .lyfe-lightbox__arrow--next {
    grid-column: 3;
    justify-self: end;
  }

  .page-case--lyfe .lyfe-lightbox__close:hover,
  .page-case--lyfe .lyfe-lightbox__close:focus-visible,
  .page-case--lyfe .lyfe-lightbox__arrow:hover,
  .page-case--lyfe .lyfe-lightbox__arrow:focus-visible {
    color: #fff;
    outline: 0;
  }

  .page-case--lyfe .lyfe-lightbox__figure {
    width: 100%;
    height: 100%;
    min-height: 0;
    grid-area: 2 / 2;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    margin: 0;
  }

  .page-case--lyfe .lyfe-lightbox__figure img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
    filter: saturate(0.92) brightness(1.02) contrast(1.02);
  }

  .page-case--lyfe .lyfe-lightbox__figure figcaption {
    color: #ffffff57;
    letter-spacing: 0.18em;
    text-align: center;
    padding-top: 1rem;
    font-size: 0.58rem;
  }
}

.page-case--lyfe .case-study__technologies {
  margin-top: clamp(1.15rem, 2vh, 1.75rem);
  padding-top: clamp(0.85rem, 1.5vh, 1.25rem);
  border-top: 1px solid #ffffff1a;
}
.page-case--lyfe .case-study__technologies span {
  color: #ffffff69;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 0.55rem;
  font-size: 0.54rem;
  display: block;
}
.page-case--lyfe .case-study__technologies strong {
  color: #ffffffbd;
  font-size: clamp(0.66rem, 0.78vw, 0.76rem);
  font-weight: 400;
  line-height: 1.65;
  display: block;
}
.page-case--lyfe .case-study__back {
  z-index: 6;
  color: #ffffff87;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.52rem;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
  position: absolute;
  top: calc(20.5% - clamp(2.4rem, 5vh, 3.25rem));
  left: clamp(1.5rem, 2.2vw, 2.25rem);
  transition:
    color var(--dur-2) var(--ease),
    transform var(--dur-2) var(--ease);
}
.page-case--lyfe .case-study__back span:first-child {
  font-size: 0.85rem;
  transition: transform var(--dur-2) var(--ease);
}
.page-case--lyfe .case-study__back:hover,
.page-case--lyfe .case-study__back:focus-visible {
  color: #fff;
}
.page-case--lyfe .case-study__back:hover span:first-child {
  transform: translateX(-3px);
}
.page-case--lyfe .case-study__back:focus-visible {
  outline: 1px solid #ffffff80;
  outline-offset: 6px;
}
@media (max-width: 760px) {
  .page-case--lyfe main {
    height: auto;
    min-height: 100dvh;
    overflow: visible;
  }
  .page-case--lyfe .lyfe-campaign {
    height: auto;
    min-height: calc(100dvh - var(--lyfe-mobile-nav-clearance));
    grid-template-rows:
      var(--lyfe-mobile-image-height)
      auto
      var(--lyfe-mobile-dock-height);
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__frame {
    height: auto;
    min-height: clamp(17rem, 42dvh, 20rem);
    padding-bottom: clamp(4rem, 8dvh, 4.75rem);
  }
  .page-case--lyfe .case-study__back {
    top: clamp(0.85rem, 2.4dvh, 1.4rem);
    right: auto;
    left: var(--inset);
    font-size: 0.46rem;
  }
  .page-case--lyfe .case-study__rail {
    margin-top: clamp(1.5rem, 3.8dvh, 2rem);
    padding-left: 0;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__copy {
    padding-bottom: 0;
  }
  .page-case--lyfe .lyfe-campaign .lyfe-hero__mobile-pagination {
    bottom: clamp(0.65rem, 1.8dvh, 1rem);
  }
  .page-case--lyfe .case-study__technologies {
    margin-top: clamp(0.45rem, 1.2dvh, 0.7rem);
    margin-bottom: clamp(0.55rem, 1.5dvh, 0.85rem);
    padding-top: clamp(0.4rem, 1dvh, 0.6rem);
  }
  .page-case--lyfe .case-study__technologies span {
    margin-bottom: 0.25rem;
    font-size: 0.46rem;
  }
  .page-case--lyfe .case-study__technologies strong {
    font-size: clamp(0.58rem, 1.45dvh, 0.7rem);
    line-height: 1.4;
  }
}
