:root {
  --navy: #1b222c;
  --navy-deep: #141a22;
  --green: #06e293;
  --green-dark: #009f6b;
  --white: #fff;
  --cool: #f4f2ee;
  --text-soft: #53606c;
  --line: rgba(27, 34, 44, .14);
  --content: 1080px;
  --narrow: 1080px;
  --gutter: clamp(20px, 4vw, 54px);
  --section: 80px;
  --space-xl: 60px;
  --space-lg: 64px;
  --space-md: 32px;
  --space-sm: 16px;
  --r-section: 28px;
  --r-card: 20px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--navy);
  background: var(--cool);
  font-family: Inter, Arial, sans-serif;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { display: block; }
h1, h2, h3 {
  margin: 0;
  font-family: Manrope, Arial, sans-serif;
  font-weight: 500;
  letter-spacing: -.055em;
}
p { margin-top: 0; }
.label, .eyebrow {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.skip {
  position: fixed;
  z-index: 100;
  top: 8px;
  left: 8px;
  padding: 10px 14px;
  background: var(--green);
  transform: translateY(-150%);
}
.skip:focus { transform: none; }

.header {
  position: absolute;
  z-index: 20;
  inset: 0 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  width: min(calc(100% - 40px), var(--content));
  height: 88px;
  margin: auto;
  color: var(--white);
}
.logo { display: inline-flex; align-items: center; gap: 11px; width: max-content; font: 600 19px Manrope; transition: opacity .2s; }
.logo:hover { opacity: .8; }
.logo-art {
  display: block;
  width: 170px;
  overflow: visible;
}
.logo-art img {
  width: 100%;
  height: auto;
  max-width: none;
  object-fit: contain;
  transform: none;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.header nav { position: relative; display: flex; align-items: center; gap: 38px; font-size: 14px; font-weight: 500; letter-spacing: -.01em; }
.header nav a { position: relative; padding-bottom: 3px; opacity: .82; transition: opacity .2s; }
.header nav a:hover { opacity: 1; }
.nav-dot {
  position: absolute;
  bottom: -11px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
  opacity: 0;
  transform: translateX(0) scale(.4);
  transition: transform .35s cubic-bezier(.22,1,.36,1), opacity .2s ease, left .35s cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}
.header nav:hover .nav-dot { opacity: 1; transform: translateX(0) scale(1); }
.header-link {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 18px;
  border-radius: 999px;
  color: var(--navy);
  background: var(--green);
  font-size: 12px;
  transition: background-color .2s, transform .2s;
}
.header-link:hover { background: var(--white); transform: translateY(-1px); }
.header-link img { width: 15px; height: 15px; transition: transform .25s; }
.header-link:hover img { transform: translate(2px, -2px); }
.menu-button { display: none; }

.hero {
  position: relative;
  display: flex;
  min-height: 100vh;
  min-height: 100svh;
  align-items: center;
  justify-content: center;
  padding: 126px var(--gutter) 94px;
  border-radius: 0 0 var(--r-section) var(--r-section);
  color: var(--white);
  background: var(--navy-deep);
  text-align: center;
  overflow: hidden;
}
.hero-orbits {
  position: absolute;
  right: clamp(-420px, -24vw, -220px);
  top: 52%;
  width: clamp(900px, 92vw, 1320px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  opacity: .48;
  pointer-events: none;
}
.orbit {
  position: absolute;
  inset: 50%;
  display: block;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  transform-origin: center;
}
.orbit span {
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--green);
  offset-path: ellipse(50% 50% at 50% 50%);
  offset-rotate: 0deg;
}
.orbit-one { width: 100%; height: 54%; margin: -27% 0 0 -50%; }
.orbit-two { width: 74%; height: 74%; margin: -37% 0 0 -37%; }
.orbit-three { width: 46%; height: 46%; margin: -23% 0 0 -23%; }
.orbit-one span { animation: orbit-particle 38s linear infinite; }
.orbit-two span { animation: orbit-particle 48s linear -16s infinite reverse; }
.orbit-three span { animation: orbit-particle 32s linear -10s infinite; }
.hero-copy { max-width: 930px; }
.eyebrow { margin-bottom: 28px; color: var(--green); }
.hero h1 { font-size: clamp(52px, 5.5vw, 70px); line-height: .97; }
.hero-description {
  max-width: 590px;
  margin: 28px auto 0;
  color: rgba(255,255,255,.76);
  font-size: 16px;
  line-height: 1.65;
}
.round-link {
  display: flex;
  width: max-content;
  align-items: center;
  gap: 14px;
  margin: 34px auto 0;
  padding: 7px 7px 7px 18px;
  border-radius: 999px;
  color: var(--white);
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  font-size: 12px;
  transition: background-color .25s;
}
.round-link:hover { background: rgba(255,255,255,.3); }
.round-link b { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: var(--green); transition: transform .25s; }
.round-link:hover b { transform: rotate(45deg); }
.round-link img { width: 17px; height: 17px; }

.intro-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: var(--space-sm);
  width: min(calc(100% - 40px), var(--narrow));
  margin: auto;
  padding-block: var(--section);
}
.intro {
  display: grid;
  min-height: 410px;
  padding: var(--space-lg);
  border-radius: var(--r-section);
  background: var(--white);
}
.intro > div { padding: 0; }
.intro .label { margin-bottom: var(--space-md); color: var(--green-dark); }
.intro h2 { max-width: 660px; font-size: clamp(38px, 3.7vw, 48px); line-height: 1.04; }
.intro-body { display: grid; grid-template-columns: 1fr 180px; gap: var(--space-md); align-items: end; margin-top: 48px; }
.intro-body > p { max-width: 510px; margin: 0; color: var(--text-soft); font-size: 15px; line-height: 1.65; }
.corner-link {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 14px;
  justify-self: end;
  padding: 7px 7px 7px 17px;
  border-radius: 999px;
  background: rgba(27,34,44,.08);
  font-size: 12px;
  transition: background-color .25s;
}
.corner-link:hover { background: rgba(27,34,44,.14); }
.corner-link i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--green); font-style: normal; transition: transform .25s; }
.corner-link:hover i { transform: rotate(45deg); }
.corner-link img { width: 15px; height: 15px; }
.capability-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 26px;
  border-radius: var(--r-section);
  color: var(--white);
  background: repeating-radial-gradient(circle at 0 0, transparent 0 19px, rgba(6,226,147,.4) 20px 21px), linear-gradient(150deg, rgba(0,224,148,.14), transparent 58%), #293641;
  overflow: hidden;
}

.services {
  padding: var(--section) var(--gutter) 56px;
  border-radius: var(--r-section) var(--r-section) 0 0;
  color: var(--white);
  background: var(--navy-deep);
}
.services-heading, .service-list { width: min(100%, var(--content)); margin-inline: auto; }
.services-heading {
  display: grid;
  grid-template-columns: 1.18fr .82fr;
  gap: var(--space-sm);
  align-items: start;
  max-width: none;
  padding-bottom: var(--space-xl);
  text-align: left;
}
.services-heading .label { grid-column: 1; grid-row: 1; margin: 0 0 24px; color: var(--green); }
.services-heading h2 { grid-column: 1; grid-row: 2; max-width: 540px; margin: 0; font-size: clamp(40px, 3.8vw, 48px); line-height: 1.01; }
.services-heading > p:last-child { grid-column: 2; grid-row: 1 / span 2; align-self: center; max-width: none; margin: 0; color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.6; }
.service-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-sm); }
.service {
  position: relative;
  min-height: 430px;
  padding: 32px 32px 140px;
  border-radius: var(--r-card);
  color: var(--navy);
  background: var(--white);
  overflow: hidden;
}
.service::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 112px;
  background: radial-gradient(circle, rgba(27,34,44,.24) 0 1.6px, transparent 1.9px) 0 0 / 18px 18px, linear-gradient(135deg, #00664d, #00c985);
  transform: scale(1);
  transform-origin: 50% 0%;
  transition: transform .5s cubic-bezier(.22,.61,.36,1);
}
.service:has(button:hover)::after { transform: scale(1.04); }
.service-support::after { background: repeating-radial-gradient(circle at 50% 110%, transparent 0 14px, rgba(255,255,255,.14) 15px 16px), #4a5864; }
.service-equipment::after { background: repeating-linear-gradient(142deg, transparent 0 14px, var(--green) 15px 17px), #17222b; }
.service > span { color: var(--green-dark); font-size: 11px; }
.service h3 { margin-top: 25px; font-size: clamp(27px, 2.35vw, 34px); line-height: 1.03; }
.service div > p { margin: 16px 0 0; color: var(--text-soft); font-size: 13px; line-height: 1.58; }
.service-preview {
  max-height: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid transparent;
  color: var(--text-soft);
  opacity: 0;
  overflow: hidden;
  list-style: none;
  font-size: 12px;
  line-height: 1.55;
  transition: max-height .3s, opacity .3s, margin .3s, padding .3s, border-color .3s;
}
.service.open .service-preview {
  max-height: 90px;
  margin-top: 16px;
  padding: 13px 45px 0 0;
  border-top-color: var(--line);
  opacity: 1;
}
.service-preview li { display: inline; }
.service-preview li + li::before { content: " · "; }
.service button {
  position: absolute;
  z-index: 3;
  right: 20px;
  bottom: 124px;
  display: grid;
  width: 52px;
  height: 52px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: var(--white);
  background: var(--navy);
  cursor: pointer;
  transition: background-color .2s, color .2s, box-shadow .2s;
}
.service button:hover { color: var(--navy); background: var(--green); box-shadow: 0 0 0 6px rgba(6,226,147,.22); }
.service button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.service button b { display: grid; width: 100%; height: 100%; place-items: center; font-size: 24px; font-weight: 400; transition: transform .25s; }
.service.open button { color: var(--navy); background: var(--green); }
.service.open button b { transform: rotate(45deg); }

.approach {
  display: grid;
  grid-template-columns: 1.18fr .82fr;
  width: min(calc(100% - 40px), var(--narrow));
  column-gap: var(--space-xl);
  margin: var(--section) auto;
  padding: 56px var(--space-lg) 64px;
  border-radius: var(--r-section);
  background: var(--white);
}
.approach-title .label { margin-bottom: 38px; color: var(--green-dark); }
.approach h2 { font-size: clamp(38px, 3.55vw, 46px); line-height: 1.04; }
.approach-copy { display: flex; align-items: center; padding: 32px 0 0; }
.approach-copy p { max-width: 390px; margin: 0; font-size: 15px; line-height: 1.65; }
.steps {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
  margin: var(--space-lg) 0 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}
.steps li { position: relative; min-height: 145px; padding: 30px 0 0; }
.steps li::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 0;
  display: block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--green);
}
.steps b { display: block; margin-bottom: 30px; color: var(--green-dark); font-size: 11px; }
.steps h3 { font-size: 24px; }
.steps p { max-width: 210px; margin: 11px 0 0; color: var(--text-soft); font-size: 13px; line-height: 1.5; }

.statement {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 500px;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto var(--section);
  padding: 80px max(var(--gutter), calc((100vw - var(--content))/2));
  border-radius: var(--r-section);
  background: var(--green);
  overflow: hidden;
}
.statement::after { display: none; }
.statement-orbit {
  position: absolute;
  right: clamp(-340px, -18vw, -180px);
  top: 50%;
  width: clamp(700px, 72vw, 1040px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  pointer-events: none;
}
.statement-ring {
  position: absolute;
  inset: 50%;
  display: block;
  border: 1px solid rgba(27,34,44,.16);
  border-radius: 50%;
}
.statement-ring-one { width: 100%; height: 48%; margin: -24% 0 0 -50%; }
.statement-ring-two { width: 76%; height: 76%; margin: -38% 0 0 -38%; }
.statement-ring-three { width: 52%; height: 36%; margin: -18% 0 0 -26%; }
.statement-ring span {
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--navy);
  offset-path: ellipse(50% 50% at 50% 50%);
  offset-rotate: 0deg;
}
.statement-ring-one span { animation: orbit-particle 48s linear infinite; }
.statement-ring-two span { animation: orbit-particle 58s linear -18s infinite reverse; }
.statement-ring-three span { animation: orbit-particle 40s linear -9s infinite; }
.statement .label { position: relative; z-index: 1; margin-bottom: 44px; }
.statement h2 { position: relative; z-index: 1; max-width: 900px; font-size: clamp(48px, 5.4vw, 68px); line-height: .97; }
.statement > p:last-child { position: absolute; z-index: 1; right: max(var(--gutter), calc((100vw - var(--content))/2)); bottom: 48px; margin: 0; font-size: 13px; }

.contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  width: min(calc(100% - 40px), var(--narrow));
  margin: 0 auto var(--section);
}
.contact-title, .contact-list { padding: var(--space-lg); border-radius: var(--r-section); background: var(--white); min-height: 380px; }
.contact-title { display: flex; flex-direction: column; justify-content: center; }
.contact-title .label { margin-bottom: 48px; color: var(--green-dark); }
.contact h2 { font-size: clamp(34px, 3.2vw, 42px); line-height: 1.04; }
.contact-list { display: flex; flex-direction: column; justify-content: center; }
.contact-list a { display: grid; grid-template-columns: 90px 1fr 40px; gap: 14px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--line); transition: padding-left .25s; }
.contact-list a:hover { padding-left: 8px; }
.contact-list span { color: var(--text-soft); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.contact-list strong { min-width: 0; overflow-wrap: anywhere; font-size: 14px; font-weight: 500; }
.contact-list i { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--green); transition: transform .25s; }
.contact-list a:hover i { transform: rotate(45deg); }
.contact-list img { width: 15px; height: 15px; }

footer {
  padding: var(--section) max(var(--gutter), calc((100vw - var(--content))/2)) 56px;
  color: var(--white);
  background: var(--navy-deep);
}
.footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 40px;
}
.footer-brand { display: flex; align-items: center; gap: 18px; }
.footer-brand .logo-art { width: 108px; }
.footer-brand p {
  max-width: none;
  margin: 0;
  padding-left: 18px;
  border-left: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.7);
  font-size: 12px;
  line-height: 1.55;
  letter-spacing: .04em;
  white-space: nowrap;
}
.footer-top nav { position: relative; display: flex; align-items: center; gap: 30px; font-size: 14px; font-weight: 500; letter-spacing: -.01em; }
.footer-top nav a { position: relative; padding-bottom: 3px; color: var(--white); opacity: .75; transition: opacity .2s; }
.footer-top nav a:hover { opacity: 1; }
.footer-top nav .nav-dot { bottom: -11px; }
.footer-top nav:hover .nav-dot { opacity: 1; transform: translateX(0) scale(1); }
.footer-watermark {
  width: 100%;
  max-width: 100%;
  margin: 56px 0 0;
  color: rgba(255,255,255,.1);
  font-size: clamp(52px, 6.2vw, 78px);
  line-height: .86;
  letter-spacing: -.07em;
  white-space: normal;
}
.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px 32px;
  color: rgba(255,255,255,.68);
  font-size: 12px;
  margin-top: 56px;
  padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,.1);
}
.footer-bottom > a { display: inline-flex; align-items: center; gap: 8px; color: var(--green); }
.footer-bottom > a img { transition: transform .25s; }
.footer-bottom > a:hover img { transform: translate(2px, -2px); }
.footer-meta { display: flex; gap: 24px; }
.footer-location { margin: 0; color: rgba(255,255,255,.62); }
.footer-legal { margin: 0; }
.footer-bottom img { width: 14px; height: 14px; filter: invert(79%) sepia(70%) saturate(1090%) hue-rotate(101deg) brightness(93%); }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1); }
.reveal.visible { opacity: 1; transform: none; }
.service-list .service:nth-child(2) { transition-delay: .16s; }
.service-list .service:nth-child(3) { transition-delay: .32s; }
.steps li:nth-child(2) { transition-delay: .12s; }
.steps li:nth-child(3) { transition-delay: .24s; }
.steps li:nth-child(4) { transition-delay: .36s; }
.hero-copy.reveal { opacity: 1; transform: none; transition: none; }
.hero-copy.reveal > * { opacity: 0; transform: translateY(16px); transition: opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1); }
.hero-copy.reveal.visible > * { opacity: 1; transform: none; }
.hero-copy.reveal > *:nth-child(2) { transition-delay: .12s; }
.hero-copy.reveal > *:nth-child(3) { transition-delay: .24s; }
.hero-copy.reveal > *:nth-child(4) { transition-delay: .36s; }

@media (max-width: 900px) {
  .header { grid-template-columns: 1fr auto; }
  .header nav { display: none; }
  .intro-shell { grid-template-columns: 1fr; }
  .capability-card { min-height: 260px; }
  .services-heading { grid-template-columns: 1fr; gap: 20px; }
  .service-list { grid-template-columns: 1fr; }
  .service { min-height: 390px; }
  .approach { grid-template-columns: 1fr; }
  .approach-copy { min-height: 120px; padding: 24px 0 0; }
  .steps { grid-template-columns: 1fr 1fr; }
  .contact { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .header { height: 70px; }
  .header-link { display: none; }
  .menu-button { display: grid; width: 42px; height: 42px; place-content: center; gap: 6px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: transparent; transition: background-color .2s, border-color .2s; }
  .menu-button:hover { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.08); }
  .menu-button span { display: block; width: 17px; height: 1px; background: var(--white); }
  .menu-button i { position: absolute; width: 1px; height: 1px; overflow: hidden; }
  .header nav { position: fixed; inset: 70px 0 0; display: flex; flex-direction: column; align-items: flex-start; gap: 24px; padding: 38px 24px; color: var(--white); background: var(--navy-deep); opacity: 0; pointer-events: none; font: 500 28px Manrope; transition: opacity .2s; }
  .header nav.open { opacity: 1; pointer-events: auto; }
  .hero { min-height: 100vh; min-height: 100svh; align-items: flex-end; padding: 108px 20px 60px; text-align: left; }
  .hero h1 { font-size: 48px; line-height: .98; }
  .hero-description { margin-top: 22px; font-size: 14px; line-height: 1.55; }
  .eyebrow { margin-bottom: 22px; font-size: 10px; }
  .hero .round-link { margin-left: 0; }
  .intro-shell { padding-block: 56px; }
  .intro { min-height: auto; padding: 34px 26px; }
  .intro h2 { font-size: 36px; line-height: 1.04; }
  .intro-body { grid-template-columns: 1fr; gap: 24px; }
  .corner-link { justify-self: start; }
  .capability-card { min-height: 190px; padding: 22px; }
  .services { padding: 64px 20px 48px; }
  .services-heading { padding-bottom: 48px; }
  .services-heading h2 { font-size: 38px; line-height: 1.02; }
  .services-heading > p:last-child { grid-column: 1; grid-row: 3; }
  .service { min-height: 350px; padding: 28px 26px 132px; }
  .service h3 { font-size: 26px; }
  .service button { width: 44px; height: 44px; }
  .service button b { font-size: 19px; }
  .approach { margin-block: 64px; padding: 42px 26px 36px; }
  .approach-title .label { margin-bottom: 24px; }
  .approach h2 { max-width: 290px; font-size: 34px; line-height: 1.02; }
  .approach-copy { min-height: auto; padding-top: 20px; }
  .approach-copy p { max-width: 300px; font-size: 13px; line-height: 1.55; }
  .steps {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 34px;
    border-top: 0;
  }
  .steps li {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 7px;
    align-items: start;
    min-height: 0;
    padding: 20px 0 21px;
    border-top: 1px solid var(--line);
  }
  .steps li:last-child { border-bottom: 1px solid var(--line); }
  .steps li::before { top: -5px; width: 9px; height: 9px; }
  .steps b { grid-row: 1 / span 2; margin: 4px 0 0; font-size: 10px; }
  .steps h3 { grid-column: 2; font-size: 19px; line-height: 1.2; }
  .steps p { grid-column: 2; max-width: 225px; margin: 0; font-size: 12px; line-height: 1.5; }
  .statement { min-height: 380px; margin-bottom: 64px; padding: 56px 26px; }
  .statement h2 { font-size: 44px; line-height: .98; }
  .statement > p:last-child { right: auto; left: 28px; bottom: 28px; }
  .contact { margin-bottom: 64px; }
  .contact-title, .contact-list { padding: 32px 26px; min-height: auto; }
  .contact h2 { font-size: 34px; line-height: 1.04; }
  .contact-list a { grid-template-columns: 1fr 38px; }
  .contact-list a span { grid-column: 1/-1; }
  footer { padding: 64px 26px 32px; }
  .footer-top { flex-direction: column; align-items: flex-start; gap: 24px; }
  .footer-brand { align-items: flex-start; flex-direction: column; gap: 18px; }
  .footer-brand p { white-space: normal; }
  .footer-top nav { flex-wrap: wrap; gap: 18px; }
  .footer-watermark { margin-top: 32px; font-size: 52px; line-height: .9; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 32px; }
  .footer-meta { flex-direction: column; gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
  .reveal, .hero-copy.reveal > * { opacity: 1; transform: none; }
  .orbit, .orbit span, .statement-orbit, .statement-orbit span { animation: none !important; }
}

@keyframes orbit-particle {
  to { offset-distance: 100%; }
}
