/* Soran: an editorial client example, without reproducing a Google results UI. */
.project-card__visual.soran-project-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 17rem;
  padding: 3rem 1.5rem;
  overflow: hidden;
  background: radial-gradient(ellipse at 70% 25%, #80634145, transparent 66%), #151310;
  color: #f8f1e5;
}
.soran-project-visual > img {
  width: min(72%, 15rem);
  height: 12rem;
  object-fit: contain;
  transition: transform 300ms ease;
}
.soran-project-visual__tag {
  position: absolute;
  top: 1.25rem;
  left: 1.4rem;
  color: #d8b880;
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .12em;
}
.soran-project-visual__note {
  position: absolute;
  inset: auto 1.4rem 1.1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #e4d7c0;
  font-size: .75rem;
}
.soran-project-visual__note > span { font-size: 1.25rem; }
.soran-project-visual:hover > img { transform: scale(1.035); }
.soran-project-visual:focus-visible { outline: 3px solid var(--brand-blue); outline-offset: 4px; }
.soran-case__claim { margin: 1.5rem 0 0; color: var(--brand-ink); font-size: 1.15rem; font-weight: 550; line-height: 1.5; letter-spacing: -.02em; }
.soran-case .website-entry__description { margin-block: 1.1rem 1.5rem; }
.soran-case__link, .local-seo-detail__link { margin-top: 1.3rem; font-size: .875rem; }
.local-seo-detail { scroll-margin-top: calc(var(--header-height) + 2rem); }
.local-seo-detail__link { display: inline-flex; align-items: center; min-height: 44px; gap: .75rem; }
.soran-profile {
  padding: clamp(1.5rem, 4vw, 3.25rem);
  overflow: hidden;
  border: 1px solid #c6a87955;
  border-radius: 1.4rem;
  background: radial-gradient(ellipse at 92% 2%, #6f57353b, transparent 62%), #151310;
  color: #fff8ea;
  box-shadow: 0 1.8rem 4rem -1.5rem #25274535;
}
.soran-profile__brand { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.soran-profile__brand img { width: clamp(7rem, 13vw, 11rem); height: auto; }
.soran-profile__brand > span { color: #d4b57d; font-size: .625rem; line-height: 1.7; letter-spacing: .12em; text-align: right; }
.soran-profile__headline { margin: 2rem 0; color: #f4ebdc; font: 400 clamp(1.6rem, 3vw, 2.6rem)/1.16 var(--font-display); letter-spacing: -.035em; }
.soran-profile__headline > span { color: #d4b57d; }
.soran-profile__services { margin: 0; border-top: 1px solid #c6a87940; }
.soran-profile__services > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #c6a87940; font-size: .8rem; line-height: 1.5; }
.soran-profile__services dt { color: #f4ebdc; }
.soran-profile__services dd { flex-shrink: 0; margin: 0; color: #d4b57d; font-size: .7rem; text-align: right; }
.soran-profile__footnote { margin: 1.6rem 0 0; color: #c8bcaa; font-size: .7rem; line-height: 1.6; }
@media (max-width: 1099px) {
  .soran-project-visual > img { height: clamp(6rem, 32vw, 10rem); }
}
@media (max-width: 600px) {
  .soran-profile__services > div { flex-direction: column; gap: .25rem; }
  .soran-profile__services dd { text-align: left; }
  .soran-profile__headline { font-size: clamp(1.6rem, 7.5vw, 2.2rem); }
  .soran-case__link, .local-seo-detail__link { max-width: 100%; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .soran-project-visual > img { transition: none; }
}
