/* Keep Divi's global defaults from changing the preserved StudioForty8 frontend. */
body.sf8-wordpress {
  background: var(--cream);
  color: var(--ink);
  font-family: Manrope, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}
body.sf8-wordpress .container {
  width: min(calc(100% - 2rem), var(--max));
  max-width: none;
  margin-inline: auto;
}
body.sf8-wordpress h1,
body.sf8-wordpress h2,
body.sf8-wordpress h3,
body.sf8-wordpress h4,
body.sf8-wordpress h5,
body.sf8-wordpress h6 {
  color: inherit;
  padding-bottom: 0;
  font-weight: 400;
}
body.sf8-wordpress p {
  margin: 1em 0;
  padding-bottom: 0;
}
body.sf8-wordpress .hero-slider-title {
  color: #fff;
  line-height: 1.02;
}
body.sf8-wordpress .hero-slide-content > p {
  max-width: 650px;
  margin: 0;
  color: rgba(255,255,255,.82);
}
body.sf8-wordpress .hero-cursor-orb {
  position: absolute;
  z-index: 4;
  width: clamp(110px, 10vw, 160px);
  aspect-ratio: 1;
  left: 0;
  top: 0;
  border: 1px solid rgba(201,95,71,.55);
  border-radius: 50%;
  background: rgba(201,95,71,.3);
  box-shadow: 0 10px 36px rgba(201,95,71,.12);
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-50%,-50%,0) scale(.72);
  transition: opacity 220ms ease, transform 320ms var(--ease);
  mix-blend-mode: multiply;
  will-change: left, top, opacity, transform;
}
body.sf8-wordpress .hero-cursor-orb.is-visible {
  opacity: 1;
  transform: translate3d(-50%,-50%,0) scale(1);
}
body.sf8-wordpress .footer-title {
  margin: 1em 0;
  line-height: 1.32;
}
body.sf8-wordpress .footer-col h4 {
  color: rgba(255,255,255,.55);
}
body.sf8-wordpress .site-footer,
body.sf8-wordpress .site-footer a {
  color: #fff;
}
body.sf8-wordpress .selected-work-section { padding-bottom: .75rem; }
body.sf8-wordpress .home-services-section { padding-top: .75rem; }
body.sf8-wordpress .home-services-section .service-card {
  justify-content: flex-start;
  gap: .7rem;
}
body.sf8-wordpress .home-services-section .service-number {
  font-size: 2.8rem;
  line-height: 1;
}
body.sf8-wordpress .home-services-section .service-card h3 { margin: 0 0 .65rem; }
body.sf8-wordpress.home #post-grid {
  grid-template-columns: repeat(4, minmax(0,1fr));
}
body.sf8-wordpress.home #post-grid .project-card .copy {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
body.sf8-wordpress.home #post-grid .card-pad {
  display: grid;
  grid-template-rows: 2.5em auto auto;
  align-content: start;
  padding: 1.2rem;
}
body.sf8-wordpress.home #post-grid .project-meta {
  align-items: start;
  line-height: 1.25;
}
body.sf8-wordpress.home .home-partnership-section {
  padding-top: clamp(2.25rem,3.5vw,3.75rem);
  padding-bottom: clamp(2.25rem,3.5vw,3.75rem);
}
body.sf8-wordpress.home .home-partnership-section .panel-dark,
body.sf8-wordpress.home .home-partnership-section .panel-light {
  padding: clamp(1.75rem,3vw,3rem);
}
body.sf8-wordpress.home .home-partnership-section .quote {
  margin-block: 1rem;
}
body.sf8-wordpress.home .home-partnership-section .process-list {
  margin-top: 1rem;
}
body.sf8-wordpress.home .home-insights-section { padding-bottom: 1rem; }
body.sf8-wordpress.home .home-cta-section {
  padding-top: 1rem;
  padding-bottom: clamp(1.5rem,2.5vw,2.5rem);
}
body.sf8-wordpress.home .site-footer { margin-top: 0; }
@media (min-width: 1081px) {
  body.sf8-wordpress.home #post-grid .project-card h3 {
    font-size: clamp(1.28rem, 1.45vw, 1.55rem);
    line-height: 1.08;
    min-height: 4.35em;
    margin: .55rem 0 .7rem;
  }
}
body.sf8-wordpress #post-grid .project-card { border-radius: 8px; }
body.sf8-wordpress #post-grid .project-card > a,
body.sf8-wordpress.home #project-grid .project-card > a {
  position: relative;
  display: block;
  height: 100%;
}
body.sf8-wordpress .insight-cursor-orb {
  position: absolute;
  z-index: 5;
  width: 63px;
  height: 63px;
  display: grid;
  place-items: center;
  left: 0;
  top: 0;
  border-radius: 50%;
  background: rgba(201,95,71,.86);
  color: #fff;
  font-size: 1.25rem;
  line-height: 1;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-50%,-50%,0) scale(.72);
  transition: opacity 180ms ease, transform 260ms var(--ease);
  will-change: left, top, opacity, transform;
}
body.sf8-wordpress .insight-cursor-orb.is-visible {
  opacity: 1;
  transform: translate3d(-50%,-50%,0) scale(1);
}
@media (max-width: 760px) {
  body.sf8-wordpress .container {
    width: min(calc(100% - 1.25rem), var(--max));
  }
  body.sf8-wordpress .hero-slider-title { line-height: 1.04; }
}
@media (max-width: 1080px) {
  body.sf8-wordpress.home #post-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 620px) {
  body.sf8-wordpress.home #post-grid { grid-template-columns: 1fr; }
}
@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  body.sf8-wordpress .hero-cursor-orb,
  body.sf8-wordpress .insight-cursor-orb { display: none; }
}
