/* Visible site labels use at least 1rem; never shrink them to fit a layout. */
body .cv :is(
  .cv-meta,
  .cv-opening-foot>a,
  .cv-chapters>header,
  .cv-chapter-top,
  .cv-current-years strong,
  .cv-chapter-copy,
  .cv-capabilities b,
  .cv-education>span,
  .cv-education small
){font-size:1rem;line-height:1.5}
body .cv .cv-education>span{font-weight:500;letter-spacing:.08em}

body .site-header.spatial-header .site-menu a{font-size:.9rem;line-height:1.5}
body .site-footer.contact-footer>div:last-child,
body .site-footer.contact-footer>div:last-child a{font-size:1rem;line-height:1.5}
body .site-footer.contact-footer>div:last-child{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:clamp(8px,2vw,24px)}
body .site-footer.contact-footer .footer-home{grid-column:1;grid-row:1;justify-self:start;text-align:left}
body .site-footer.contact-footer .footer-work{grid-column:2;grid-row:1;justify-self:center;text-align:center}
body .site-footer.contact-footer .footer-linkedin{grid-column:3;grid-row:1;justify-self:end;text-align:right}
body .site-footer.contact-footer>div:first-child>a{color:#383838}
body .site-footer.contact-footer .footer-email-label small{color:#866326;opacity:1}

/* A soft gold sweep that repeats with a brief pause. */
@supports (background-clip:text) or (-webkit-background-clip:text){
  @media(prefers-reduced-motion:no-preference) and (forced-colors:none){
    body .site-footer.contact-footer .footer-email-label small{
      background-image:linear-gradient(110deg,#866326 35%,#a9803d 44%,#c9a35f 49%,#c9a35f 51%,#a9803d 56%,#866326 65%);
      background-size:300% 100%;
      background-repeat:no-repeat;
      background-position:100% 50%;
      background-clip:text;
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      animation:footer-email-shimmer 3.2s ease-in-out infinite;
    }
  }
}
@keyframes footer-email-shimmer{
  0%{background-position:100% 50%}
  75%,100%{background-position:0% 50%}
}

body .detail :is(
  .detail-label,
  .detail-category,
  .detail-side dt,
  .detail-side dd,
  .hero-media-label,
  .next-project>span,
  .detail-brief>div strong,
  .detail-blocks .detail-block .block-copy>.detail-label,
  .media-caption,
  .uber-figure figcaption,
  .leto-chapter-copy>p:first-child,
  .leto-chapter figcaption,
  .motion-refresh-title>p:not(.motion-refresh-intro),
  .motion-refresh-copy>p,
  .motion-refresh-study figcaption,
  .system-outcome-card header span,
  .system-outcome-title>span,
  .system-outcome-copy>span,
  .system-outcome-copy dt,
  .system-outcome-copy dd,
  .uber-loop-stages span,
  .uber-loop-stages b,
  .uber-loop-core small,
  .uber-loop-core>span,
  .miele-spatial-logic>span,
  .miele-spatial-logic small,
  .leto-impact-card header span,
  .leto-impact-title>span,
  .leto-impact-copy>span,
  .leto-impact-copy dt,
  .leto-impact-copy dd
){font-size:1rem;line-height:1.5}
body .detail .project-edge-preview :is(small,em){font-size:1rem;line-height:1.5}
body .media-lightbox-controls button{font-size:1rem;line-height:1.5;min-height:44px}

body .folio-index :is(
  .spatial-card-top,
  .spatial-card-bottom small,
  .spatial-profile>span,
  .spatial-profile>div,
  .spatial-profile>a
){font-size:1rem;line-height:1.5}
body .folio-index .spatial-card-bottom small{max-width:12ch;white-space:normal}
body .folio-index .spatial-card-top{font-size:1.1rem}
@media(min-width:701px){body .folio-index .spatial-years button{font-size:.8125rem;line-height:1.5;letter-spacing:.025em}}

/* Let narrow headers wrap instead of reducing the navigation type size. */
@media(max-width:480px){
  body .site-header.spatial-header{height:76px;flex-wrap:nowrap;justify-content:flex-start;padding-block:12px;gap:20px}
  body .site-header.spatial-header .spatial-name{flex:0 0 auto;text-align:left;white-space:nowrap;font-size:clamp(16px,4.4vw,19px)}
  body .site-header.spatial-header .site-menu{justify-content:flex-start;gap:14px;white-space:nowrap}
  body .site-header.spatial-header .site-menu a{font-size:clamp(10px,3vw,13px);letter-spacing:.02em}
  body .site-header.spatial-header .site-menu a[href="/resume"]{margin:0}
}
