/* Homepage reference canvas. Header/hero brand ivory is intentionally untouched. */
.im-main--front,
.im-after-hero,
.im-front-content {
  background: var(--im-home-ivory, #F9F5F1);
}

/* ==========================================================================
   IntoMines — THE STUDIO — v0.11.1
   Approved reference: compact editorial intro + five horizontal visual services.
   Desktop-first. No cards, no alternate section background, no heavy shadows.
   ========================================================================== */

.im-studio {
  position: relative;
  background: var(--im-home-ivory, #F9F5F1);
  color: var(--im-archive-navy);
  padding: clamp(48px, 4.4vw, 70px) 0 clamp(54px, 4.8vw, 76px);
  border-top: 1px solid rgba(7, 28, 48, .075);
  border-bottom: 1px solid rgba(7, 28, 48, .07);
  overflow: clip;
}

.im-studio__layout {
  display: grid;
  grid-template-columns: minmax(210px, 2.15fr) minmax(0, 7.85fr);
  gap: clamp(34px, 3.7vw, 58px);
  align-items: start;
}

.im-studio__intro {
  position: relative;
  top: auto;
  align-self: start;
  max-width: 292px;
  padding-top: 1px;
}

.im-studio__eyebrow {
  position: relative;
  margin: 0 0 18px;
  padding-bottom: 10px;
  color: #123f67;
  font-family: var(--im-font-functional);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .13em;
  line-height: 1.3;
  text-transform: uppercase;
}

.im-studio__eyebrow::before {
  display: none;
}

.im-studio__eyebrow::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 31px;
  height: 1px;
  background: var(--im-antique-brass);
}

.im-studio__intro h2 {
  max-width: 8.3ch;
  margin: 0;
  color: var(--im-archive-navy);
  font-family: var(--im-font-editorial);
  font-size: clamp(2.7rem, 3.35vw, 4.15rem);
  font-weight: 400;
  letter-spacing: -.042em;
  line-height: .93;
  text-wrap: balance;
}

.im-studio__body {
  max-width: 31ch;
  margin: 18px 0 0;
  color: rgba(7, 28, 48, .73);
  font-family: var(--im-font-functional);
  font-size: 1rem;
  line-height: 1.56;
}

.im-studio__cta {
  display: inline-flex;
  align-items: center;
  margin-top: 17px;
  padding: 0;
  border: 0;
  color: var(--im-archive-navy);
  font-family: var(--im-font-functional);
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .11em;
  line-height: 1.3;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease, transform 160ms ease;
}

.im-studio__cta:hover,
.im-studio__cta:focus-visible {
  color: var(--im-antique-brass);
  transform: translateX(2px);
}

.im-studio__services {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(14px, 1.55vw, 26px);
  min-width: 0;
  padding-top: 18px;
  align-items: start;
}

.im-studio-service,
.im-studio-service--1,
.im-studio-service--2,
.im-studio-service--3,
.im-studio-service--4,
.im-studio-service--5 {
  grid-column: auto;
  min-width: 0;
}

.im-studio-service__media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
}

.im-studio-service__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  filter: none;
  transform: none;
  transition: transform 650ms var(--im-ease-out);
}

.im-studio-service:hover .im-studio-service__media img {
  transform: translateY(-2px) scale(1.003);
}

.im-studio-service__copy {
  padding-top: 10px;
  border-top: 0;
}

.im-studio-service__heading {
  display: block;
}

.im-studio-service__heading > span {
  display: block;
  margin: 0 0 7px;
  color: var(--im-archive-navy);
  font-family: var(--im-font-functional);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1.3;
}

.im-studio-service__heading h3 {
  margin: 0;
  color: var(--im-archive-navy);
  font-family: var(--im-font-editorial);
  font-size: clamp(1.22rem, 1.28vw, 1.55rem);
  font-weight: 400;
  letter-spacing: -.018em;
  line-height: 1.02;
  text-wrap: balance;
}

.im-studio-service__copy p {
  max-width: 25ch;
  margin: 6px 0 0;
  color: rgba(7, 28, 48, .72);
  font-family: var(--im-font-functional);
  font-size: .9375rem;
  line-height: 1.48;
}

.im-studio__transition {
  display: none;
}

/* Keep the approved five-across composition through normal desktop/tablet widths.
   Mobile uses the same elements in a two-column sequence. */
@media (max-width: 1180px) {
  .im-studio__layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .im-studio__intro {
    max-width: 520px;
  }

  .im-studio__services {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 18px;
    padding-top: 0;
  }
}

@media (max-width: 640px) {
  .im-studio {
    padding: 72px 0 78px;
  }

  .im-studio__services {
    grid-template-columns: 1fr 1fr;
  }

  .im-studio__intro h2 {
    font-size: clamp(2.8rem, 12vw, 4rem);
  }
}

.im-studio__cta{min-height:44px}
@media(hover:none){.im-studio-service:hover .im-studio-service__media img{transform:none}}

@media(max-width:480px){
 .im-studio{padding-block:56px}
 .im-studio__services{grid-template-columns:1fr;gap:34px}
 .im-studio-service{display:grid;grid-template-columns:38% minmax(0,1fr);gap:18px;align-items:center}
 .im-studio-service__copy{padding-top:0}
 .im-studio-service__heading h3{font-size:1.55rem;text-wrap:initial}
 .im-studio-service__copy p{font-size:.9375rem;line-height:1.5;max-width:none}
 .im-studio-service__media{aspect-ratio:1}
}
@media(prefers-reduced-motion:reduce){.im-studio-service__media img,.im-studio__cta{transition:none!important;transform:none!important}}
