*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-gutter: stable; }
body {
  margin: 0;
  background: var(--im-home-ivory);
  color: var(--im-archive-navy);
  font-family: var(--im-font-functional);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.im-menu-open { overflow: hidden; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration-thickness: .06em; text-underline-offset: .2em; }
a:hover { color: var(--im-antique-brass); }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .5em;
  font-family: var(--im-font-editorial);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.025em;
}
h1 { font-size: clamp(3.5rem, 8vw, 8rem); }
h2 { font-size: clamp(2.5rem, 5vw, 4.75rem); }
h3 { font-size: clamp(1.75rem, 3vw, 2.6rem); }
p { margin: 0 0 1.25em; }
::selection { background: var(--im-antique-brass); color: var(--im-white); }
.im-kicker, .im-meta {
  margin: 0 0 1rem;
  color: var(--im-antique-brass);
  font-family: var(--im-font-functional);
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .16em;
  line-height: 1.4;
  text-transform: uppercase;
}
.im-lead { max-width: 42rem; color: var(--im-graphite); font-size: clamp(1.1rem, 2vw, 1.35rem); }
.im-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 99999;
  padding: 10px 14px;
  background: var(--im-white);
  color: var(--im-archive-navy);
  transform: translateY(-200%);
}
.im-skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 2px solid var(--im-antique-brass); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

:where(main section[id], #im-studio-services){scroll-margin-top:100px}
