/* Homepage details reuse the directory dialog design without directory page layout rules. */
.studio-home .home-profile-dialog, .studio-home .home-profile-dialog * { box-sizing: border-box; }
.studio-home .home-profile-dialog { margin: 0; font-family: inherit; line-height: 1.6; }
.studio-home .home-profile-dialog :focus-visible { outline: 3px solid #b6cbff; outline-offset: 3px; }
.studio-home button.partner-card-link { width: 100%; padding: 0; appearance: none; font: inherit; text-align: left; cursor: pointer; }
.studio-home button.talent-card, .studio-home button.demand-card { width: 100%; appearance: none; font: inherit; text-align: left; cursor: pointer; }
.studio-home .home-profile-dialog .talent-primary-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 48px; padding: 12px 18px; border: 1px solid #a5adf66b; border-radius: 8px; background: linear-gradient(105deg,#477be8,#825adb); color: #fff; font: inherit; font-size: 13px; cursor: pointer; }
html:has(.home-profile-dialog[open]) { overflow: hidden; scrollbar-gutter: stable; }
.studio-home .partner-profile-dialog { position: fixed; inset: 50% auto auto 50%; transform: translate(-50%, -50%); width: min(900px, calc(100vw - 40px)); max-width: none; max-height: min(740px, calc(100dvh - 40px)); overflow: auto; padding: 0; border: 1px solid #849cd755; border-radius: 17px; background: #0d1930; color: #ecf2ff; box-shadow: 0 30px 100px #0009, inset 0 1px 0 #fff1; }
.studio-home .partner-profile-dialog::backdrop { background: #020716b8; backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.studio-home .partner-profile-close { position: absolute; z-index: 3; top: 12px; right: 12px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #d7e2f830; border-radius: 50%; background: #09162bb8; color: #f4f6ff; font-size: 27px; line-height: 1; cursor: pointer; }
.studio-home .partner-profile-dialog-layout { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr); min-height: 420px; }
.studio-home .partner-profile-visual { position: relative; min-height: 100%; overflow: hidden; background: linear-gradient(135deg, #122749, #26204c); }
.studio-home .partner-profile-visual img { display: block; width: 100%; height: 100%; min-height: 420px; object-fit: cover; }
.studio-home .partner-profile-visual img[hidden] { display: none; }
.studio-home .partner-profile-visual:not(.expert-profile-visual) > svg { display: none; }
.studio-home .partner-profile-visual .partner-demo { top: auto; right: 14px; bottom: 14px; left: 14px; width: max-content; }
.studio-home .partner-profile-visual.expert-profile-visual { display: grid; place-items: center; background: radial-gradient(ellipse at 50% 70%, #7861ba66, transparent 65%), linear-gradient(130deg, #142a4b, #211e45); }
.studio-home .expert-profile-visual > svg { width: min(66%, 250px); fill: #9cb3de25; stroke: #bdcaf0; stroke-width: 1.1; }
.studio-home .partner-profile-copy { align-self: center; padding: 48px 42px 40px; }
.studio-home .partner-profile-eyebrow { margin: 0 0 8px; color: #a9caff; font-size: 10px; letter-spacing: .15em; }
.studio-home .partner-profile-copy h2 { margin: 0; padding-right: 26px; color: #f4f7ff; font-size: 30px; font-weight: 600; line-height: 1.35; }
.studio-home .partner-profile-location { margin: 9px 0 15px; color: #afc2df; font-size: 12px; }
.studio-home .partner-profile-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.studio-home .partner-profile-tags > span { padding: 5px 9px; border: 1px solid #83afe64a; border-radius: 4px; background: #4186d218; color: #d0e5ff; font-size: 11px; }
.studio-home .partner-profile-facts { display: grid; gap: 16px; margin: 22px 0; padding: 19px 0; border-top: 1px solid #ffffff1a; border-bottom: 1px solid #ffffff1a; }
.studio-home .partner-profile-facts > div { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 12px; }
.studio-home .partner-profile-facts dt { color: #92a8c9; font-size: 12px; }
.studio-home .partner-profile-facts dd { margin: 0; color: #d1dced; font-size: 12px; line-height: 1.7; }
.studio-home .partner-profile-privacy { margin: 0 0 19px; color: #aebbd1; font-size: 11px; line-height: 1.7; }
.studio-home .partner-profile-contact { min-height: 46px; }
.studio-home .talent-detail-dialog { position: fixed; inset: 50% auto auto 50%; transform: translate(-50%, -50%); width: min(850px, calc(100vw - 40px)); max-width: none; max-height: min(760px, calc(100dvh - 40px)); overflow: auto; padding: 0; border: 1px solid #879ecc60; border-radius: 17px; background: #0d1a31; color: #eef4ff; box-shadow: 0 30px 100px #000a, inset 0 1px 0 #ffffff10; }
.studio-home .talent-detail-dialog::backdrop { background: #020716bd; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.studio-home .talent-dialog-close { position: absolute; z-index: 2; top: 12px; right: 12px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #c2d3f52b; border-radius: 50%; background: #07152cba; color: #f4f7ff; font-size: 27px; cursor: pointer; }
.studio-home .talent-detail-layout { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr); min-height: 430px; }
.studio-home .talent-detail-visual { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; align-self: center; width: calc(100% - 32px); min-height: 0; aspect-ratio: 4 / 3; margin: 16px; border-radius: 10px; background: radial-gradient(ellipse at 50% 80%, #4a72bc55, transparent 55%), linear-gradient(140deg, #182e4e, #211b42); color: #a9bad5; font-size: 10px; }
.studio-home .talent-detail-visual svg { width: min(52%, 190px); fill: #b2c2dc18; stroke: #c8d9f6b2; stroke-width: 1.2; }
.studio-home .talent-detail-visual { position: relative; overflow: hidden; }
.studio-home .talent-detail-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.studio-home .talent-detail-visual img[data-avatar-kind="default"] { object-fit: contain; padding: 8px; }
.studio-home .talent-detail-visual > span { position: absolute; bottom: 15px; left: 15px; padding: 5px 9px; border-radius: 5px; background: #09162dd9; color: #e0eaff; }
.studio-home .talent-detail-copy, .studio-home .opportunity-detail-copy { align-self: center; padding: 48px 42px 38px; }
.studio-home .talent-detail-copy > p:first-child, .studio-home .opportunity-detail-copy > p:first-child { margin: 0 0 9px; color: #a9c5fa; font-size: 10px; letter-spacing: .13em; }
.studio-home .talent-detail-copy h2, .studio-home .opportunity-detail-copy h2 { margin: 0; padding-right: 22px; color: #f2f6ff; font-size: 29px; line-height: 1.35; }
.studio-home .talent-detail-meta, .studio-home .opportunity-detail-meta { margin: 11px 0 17px; color: #adc0df; font-size: 12px; }
.studio-home .talent-detail-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.studio-home .talent-detail-tags span { padding: 5px 9px; border: 1px solid #9f91ed4a; border-radius: 5px; background: #6050b51b; color: #d1c6ff; font-size: 10px; }
.studio-home .talent-detail-copy dl, .studio-home .opportunity-detail-copy dl { display: grid; gap: 14px; margin: 22px 0; padding: 17px 0; border-top: 1px solid #ffffff1a; border-bottom: 1px solid #ffffff1a; }
.studio-home .talent-detail-copy dl > div, .studio-home .opportunity-detail-copy dl > div { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 12px; }
.studio-home .talent-detail-copy dt, .studio-home .opportunity-detail-copy dt { color: #9eb2d0; font-size: 11px; }
.studio-home .talent-detail-copy dd, .studio-home .opportunity-detail-copy dd { margin: 0; color: #d1dced; font-size: 12px; line-height: 1.7; }
.studio-home .talent-detail-copy > p:last-of-type, .studio-home .opportunity-detail-copy > p:last-of-type { margin: 0 0 18px; color: #aebdd4; font-size: 11px; line-height: 1.7; }
.studio-home .talent-detail-copy .talent-primary-action, .studio-home .opportunity-detail-copy .talent-primary-action { min-width: 170px; }
.studio-home .opportunity-detail-dialog { width: min(600px, calc(100vw - 40px)); }
.studio-home .opportunity-detail-copy { padding: 48px; }
.studio-home .partner-profile-dialog { width: min(1080px, calc(100vw - 40px)); max-height: min(840px, calc(100dvh - 40px)); }
.studio-home .talent-detail-dialog { width: min(1060px, calc(100vw - 40px)); max-height: min(840px, calc(100dvh - 40px)); }
.studio-home .opportunity-detail-dialog { width: min(850px, calc(100vw - 40px)); }
.studio-home .partner-profile-copy, .studio-home .talent-detail-copy, .studio-home .opportunity-detail-copy { align-self: start; }
.studio-home .home-profile-dialog dl[hidden], .studio-home .home-profile-dialog .partner-profile-tags[hidden], .studio-home .home-profile-dialog .talent-detail-tags[hidden], .studio-home .home-profile-dialog .partner-profile-location[hidden], .studio-home .partner-location[hidden], .studio-home .partner-skills[hidden] { display: none !important; }
.studio-home .home-profile-dialog dd { white-space: pre-line; overflow-wrap: anywhere; }
.studio-home .home-profile-dialog dd a { color: #a9caff; }
@media (max-width: 700px) {
  .studio-home .home-profile-dialog { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); border-radius: 14px; }
  .studio-home .partner-profile-dialog-layout, .studio-home .talent-detail-layout { grid-template-columns: 1fr; }
  .studio-home .partner-profile-visual { min-height: 185px; height: 185px; }
  .studio-home .partner-profile-visual img { min-height: 185px; }
  .studio-home .expert-profile-visual > svg { width: 150px; height: 150px; }
  .studio-home .talent-detail-visual { min-height: 0; height: auto; width: calc(100% - 42px); margin: 21px; }
  .studio-home .partner-profile-copy, .studio-home .talent-detail-copy, .studio-home .opportunity-detail-copy { padding: 26px 23px 23px; }
  .studio-home .partner-profile-copy h2, .studio-home .talent-detail-copy h2, .studio-home .opportunity-detail-copy h2 { font-size: 24px; }
  .studio-home .partner-profile-facts > div, .studio-home .talent-detail-copy dl > div, .studio-home .opportunity-detail-copy dl > div { grid-template-columns: 69px minmax(0, 1fr); gap: 8px; }
  .studio-home .home-profile-dialog .partner-apply, .studio-home .home-profile-dialog .talent-primary-action { width: 100%; justify-content: center; }
}
