/* SudoLabs hero image controls
   To change the carpet, upload your image to /assets/ and update only the URL below. */

:root {
  --hero-carpet-image: url('/assets/rugs.jpg');
}

.studio-hero-grid {
  min-height: calc(100svh - 78px);
  align-items: stretch;
}

.carpet-side {
  position: relative;
  min-height: calc(100svh - 78px);
  display: block;
  overflow: hidden;
  isolation: isolate;
  background-color: #441719;
  background-image:
    linear-gradient(rgba(38, 11, 13, 0.12), rgba(38, 11, 13, 0.26)),
    var(--hero-carpet-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/* Hide the original generated SVG artwork from the HTML. */
.carpet-pattern,
.carpet-overlay {
  display: none;
}

.carpet-side::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(circle at center, transparent 0 35%, rgba(31, 7, 9, 0.18) 74%, rgba(22, 5, 7, 0.38) 100%);
}

.carpet-side::after {
  content: "";
  position: absolute;
  inset: 18px;
  z-index: 2;
  pointer-events: none;
  border: 1px solid rgba(243, 231, 210, 0.42);
  box-shadow:
    0 0 0 10px rgba(183, 138, 61, 0.34),
    0 0 0 13px rgba(36, 17, 18, 0.58);
}

.hero-brand-lockup {
  position: absolute;
  top: 42%;
  left: 50%;
  z-index: 5;
  width: min(72%, 560px);
  padding: clamp(30px, 4.5vw, 50px) clamp(24px, 4vw, 48px) clamp(26px, 4vw, 42px);
  transform: translate(-50%, -50%);
  border: 1px solid rgba(243, 231, 210, 0.58);
  outline: 1px solid rgba(183, 138, 61, 0.78);
  outline-offset: 12px;
  background: rgba(55, 12, 16, 0.78);
  box-shadow: 0 32px 70px rgba(18, 4, 6, 0.46);
  backdrop-filter: blur(8px);
}

.hero-brand-lockup::before,
.hero-brand-lockup::after {
  width: 24px;
  height: 24px;
}

.hero-brand-mark {
  width: 96px;
  height: 96px;
  margin-bottom: 16px;
}

.hero-brand-lockup h2 {
  font-size: clamp(3rem, 5.4vw, 5.2rem);
}

.hero-brand-lockup p {
  margin-top: 15px;
  line-height: 1.45;
}

.hero-copy-side {
  align-items: flex-start;
  min-height: calc(100svh - 78px);
}

.hero-copy-inner {
  width: min(100%, 720px);
  margin: 0 auto;
  padding: clamp(48px, 6vh, 70px) clamp(44px, 7vw, 96px) clamp(70px, 8vh, 100px);
}

.studio-hero h1 {
  margin-top: 18px;
  font-size: clamp(3.2rem, 5.8vw, 5.8rem);
  line-height: 0.94;
}

.studio-lead {
  max-width: 610px;
}

@media (max-width: 1100px) {
  .hero-brand-lockup {
    top: 41%;
    width: min(78%, 520px);
  }

  .hero-copy-inner {
    padding: 48px 44px 76px;
  }

  .studio-hero h1 {
    font-size: clamp(3.05rem, 6.2vw, 5.25rem);
  }
}

@media (max-width: 900px) {
  .studio-hero-grid {
    grid-template-columns: 1fr;
  }

  .carpet-side {
    min-height: 650px;
  }

  .hero-brand-lockup {
    top: 44%;
    width: min(76%, 520px);
  }

  .hero-copy-side {
    min-height: auto;
  }

  .hero-copy-inner {
    padding: 52px 28px 68px;
  }
}

@media (max-width: 560px) {
  .carpet-side {
    min-height: 560px;
  }

  .carpet-side::after {
    inset: 10px;
    box-shadow:
      0 0 0 7px rgba(183, 138, 61, 0.34),
      0 0 0 9px rgba(36, 17, 18, 0.58);
  }

  .hero-brand-lockup {
    top: 43%;
    width: calc(100% - 82px);
    padding: 28px 18px 24px;
    outline-offset: 8px;
  }

  .hero-brand-mark {
    width: 80px;
    height: 80px;
  }

  .hero-brand-lockup h2 {
    font-size: clamp(2.8rem, 14vw, 4rem);
  }
}
