.safety-grid article {
  grid-template-columns: 12rem minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 1.5rem;
  min-height: 17rem;
  padding: 1.5rem;
  background: #111317;
}
.safety-grid h3 { align-self: end; font-size: 1.125rem; }
.safety-grid p { font-size: 0.9375rem; }
.principle-object { position: relative; width: 12rem; height: 13.5rem; grid-row: 1 / 3; align-self: center; }
.principle-object canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; }
.principle-object[data-ready="true"] canvas { opacity: 1; }
.principle-fallback { position: absolute; inset: 0; display: grid; place-items: center; font: 0.7rem "Geist Mono", monospace; color: #a4beeb; }
.principle-fallback img { width: 100%; height: 100%; object-fit: contain; }
.principle-object[data-ready="true"] .principle-fallback { visibility: hidden; }
.site-footer {
  position: relative;
  background: #111317;
  color: #f1f3f9;
  border-top: 1px solid var(--line-soft);
}
.site-footer .footer-grid { min-height: 0; max-width: 90rem; grid-template-columns: 1.7fr repeat(3, minmax(0, 1fr)); padding-top: 3.5rem; padding-bottom: 2.5rem; gap: 2rem; align-items: center; text-align: left; }
.site-footer .footer-brand { grid-column: auto; justify-self: start; }
.site-footer .footer-brand p { color: #a8b0bf; font-size: 0.9375rem; }
.footer-logo { display: flex; flex-direction: column; align-items: flex-start; width: max-content; max-width: 100%; gap: 1rem; color: var(--fg); font-size: 1.375rem; font-weight: 500; line-height: 1.4; }
.footer-symbol { --mark-size: 10rem; display: block; position: relative; flex: none; width: calc(var(--mark-size) * 0.875); height: calc(var(--mark-size) * 0.88); }
.footer-logo .footer-symbol img { position: absolute; width: var(--mark-size); height: var(--mark-size); max-width: none; left: calc(var(--mark-size) * -0.068359375); top: calc(var(--mark-size) * -0.072265625); object-fit: contain; filter: none; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .footer-logo .footer-symbol img { transform: perspective(700px) rotateX(0deg) rotateY(0deg) translateY(0); transition: transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1), filter 320ms ease; }
  html:not(.motion-paused) .footer-symbol[data-depth="true"] img { transform: perspective(700px) rotateX(var(--logo-tilt-x, -3deg)) rotateY(var(--logo-tilt-y, 0deg)) translateY(-2px); filter: drop-shadow(0 2px 1px #03070d80) drop-shadow(var(--logo-shadow-x, 0px) var(--logo-shadow-y, 8px) 8px #03070d70); }
}
.motion-paused .footer-symbol img { transition: none; }
.footer-identity { min-width: 0; }
.site-footer .footer-identity p { margin: 0.5rem 0 0; font-weight: 400; }
.site-footer .footer-grid strong { color: #a8b0bf; font-size: 0.75rem; }
.site-footer .footer-grid > div:not(.footer-brand) { gap: 0; align-items: flex-start; min-width: 0; }
.site-footer .footer-grid > div:not(.footer-brand) a { color: #c1c9d7; min-height: 2.75rem; max-width: 100%; display: inline-flex; align-items: center; }
.site-footer .footer-grid > div:not(.footer-brand) a:hover, .footer-signoff a:hover { color: #94b6ff; }
.site-footer .footer-signature { max-width: none; padding-inline: 1.5rem; border-top: 1px solid var(--line-soft); }
.footer-signoff { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 0.8rem; font: 0.6875rem/1.5 "Geist Mono", monospace; color: #a8b0bf; }
.footer-signoff a { display: flex; flex: none; gap: 0.75rem; align-items: center; min-height: 2.75rem; margin-left: auto; color: #c1c9d7; }
.footer-signoff img { transform: rotate(-90deg); filter: invert(1); }
.site-footer .footer-bottom { min-height: 4rem; padding-block: 1rem; border-top: 0; color: #a8b0bf; justify-content: space-between; }
.site-footer :focus-visible { outline-color: #94b6ff; }
@media (max-width: 64rem) {
  .site-footer .footer-grid { grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)); }
  .safety-grid article { grid-template-columns: 7rem minmax(0, 1fr); column-gap: 1rem; padding: 1.25rem; }
  .principle-object { width: 7rem; height: 9rem; }
}
@media (max-width: 46rem) {
  .safety-grid article { min-height: 14rem; }
  .safety-grid h3 { font-size: 1rem; }
  .safety-grid p { font-size: 0.875rem; }
  .site-footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1.5rem; padding-top: 2.5rem; align-items: start; }
  .site-footer .footer-brand { grid-column: 1 / -1; width: 100%; padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
  .footer-logo { flex-direction: row; align-items: center; gap: 1rem; font-size: 1.25rem; }
  .footer-symbol { --mark-size: 4rem; }
  .site-footer .footer-identity p { font-size: 0.875rem; margin-top: 0.375rem; }
  .site-footer .footer-grid strong { font-family: "Geist Mono", monospace; text-transform: none; margin-bottom: 0.5rem; }
  .site-footer .footer-grid > div:last-child:not(.footer-brand) { grid-column: 1 / -1; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; gap: 0 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
  .site-footer .footer-grid > div:last-child > strong { flex-basis: 100%; }
  .site-footer .footer-grid > div:not(.footer-brand) a { font-size: 0.875rem; overflow-wrap: anywhere; }
  .footer-signoff { font-size: 0.5625rem; }
  .site-footer .footer-signature { padding-inline: 1.25rem; }
  .footer-signoff { padding-bottom: 1rem; }
  .site-footer .footer-bottom { gap: 1rem; font-size: 0.625rem; }
}
@media (max-width: 23rem) {
  .safety-grid article { grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0.75rem; padding: 1rem; }
  .principle-object { width: 5.5rem; height: 8rem; }
}