body.studio-dialog-open { overflow: hidden; }
.studio-dialog {
  --dialog-surface: #121212;
  --dialog-ink: #f4f4ef;
  --dialog-muted: #a7a7a1;
  --dialog-line: #ffffff24;
  width: min(1120px, calc(100vw - 64px));
  max-width: none;
  max-height: calc(100dvh - 64px);
  margin: auto;
  padding: 0;
  border: 1px solid #ffffff30;
  border-radius: 0;
  background: var(--dialog-surface);
  color: var(--dialog-ink);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-color: #666 #151515;
  font-family: 'Space Grotesk', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.studio-dialog::backdrop { background: #080808d6; backdrop-filter: blur(8px); }
.studio-dialog *, .studio-dialog *::before, .studio-dialog *::after { box-sizing: border-box; }
.studio-dialog a { color: inherit; text-decoration: none; }
.studio-dialog button, .studio-dialog a { touch-action: manipulation; }
.studio-dialog button { font: inherit; cursor: pointer; }
.studio-dialog :where(button, a):focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.studio-dialog h2 { margin: 0; font-family: Inter, Arial, sans-serif; font-weight: 900; font-size: clamp(36px, 4.5vw, 64px); line-height: .98; letter-spacing: -.055em; color: var(--dialog-ink); }
.dialog-toolbar { display: flex; position: sticky; top: 0; z-index: 4; justify-content: space-between; align-items: center; min-height: 76px; padding: 19px 26px; gap: 20px; border-bottom: 1px solid var(--dialog-line); background: var(--dialog-surface); }
.dialog-location { font-size: 12px; line-height: 1.4; letter-spacing: -.02em; color: var(--dialog-muted); }
.dialog-location > span { margin: 0 9px; color: #656560; }
.dialog-close { display: inline-flex; align-items: center; justify-content: center; gap: 17px; padding: 9px 11px; border: 1px solid #ffffff57; border-radius: 0; background: transparent; color: var(--dialog-ink); font-size: 12px; line-height: 1; white-space: nowrap; }
.dialog-close > span { font-size: 20px; line-height: .7; font-family: Arial, sans-serif; font-weight: 400; }
.dialog-close:hover { background: #f4f4ef; color: #121212; }
.dialog-category { margin: 0 0 24px; font-size: 11px; font-weight: 400; line-height: 1.45; letter-spacing: .035em; text-transform: uppercase; color: var(--dialog-muted); }
.dialog-project { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .94fr); gap: clamp(36px, 5vw, 74px); padding: 42px; align-items: center; }
.dialog-cover { min-width: 0; margin: 0; position: relative; }
.dialog-cover > .project-cover { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 208 / 322; overflow: hidden; }
.dialog-cover-image { display: flex; align-items: center; justify-content: center; }
.dialog-original-art { display: block; width: auto; max-width: 100%; max-height: min(70dvh, 740px); height: auto; object-fit: contain; }
.dialog-cover-concept > :not(.dialog-art-caption) { max-width: 100%; }
.dialog-cover-fallback { display: flex; align-items: end; justify-content: start; aspect-ratio: 208 / 322; padding: 25px; background: #292929; font-size: 40px; font-weight: 500; line-height: 1; letter-spacing: -.06em; }
.dialog-art-caption { margin-top: 11px; color: var(--dialog-muted); font-size: 10px; line-height: 1.4; }
.dialog-project-copy { min-width: 0; padding-block: 10px; }
.dialog-project-copy h2 { font-size: clamp(34px, 4vw, 56px); overflow-wrap: break-word; }
.dialog-description { margin: 27px 0 0; color: #d5d5cf; font-size: 16px; line-height: 1.65; letter-spacing: -.02em; }
.dialog-stage { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 26px 0 0; font-size: 10px; line-height: 1.5; color: var(--dialog-muted); }
.dialog-stage > span:first-child { color: #e5e5df; }
.dialog-project-action { margin-top: 34px; }
.dialog-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 35px; padding: 13px 15px; border: 1px solid #ffffff7a; font-size: 13px; line-height: 1.2; color: var(--dialog-ink); text-decoration: none; min-height: 44px; }
.dialog-action > span { font-size: 21px; font-family: Arial, sans-serif; font-weight: 400; line-height: 1; }
.dialog-action:hover { background: var(--dialog-ink); color: var(--dialog-surface); }
.dialog-access { margin: 15px 0 0; font-size: 10px; line-height: 1.6; color: var(--dialog-muted); }
.dialog-about { padding: 53px 64px 45px; }
.dialog-about-intro { max-width: 830px; }
.dialog-about-lead { margin: 31px 0 0; font-size: clamp(19px, 2.2vw, 27px); line-height: 1.48; letter-spacing: -.04em; color: #d5d5cf; max-width: 790px; }
.dialog-founder { margin: 30px 0 0; font-size: 12px; line-height: 1.6; color: var(--dialog-muted); }
.dialog-about-section { margin-top: 65px; padding-top: 29px; border-top: 1px solid var(--dialog-line); }
.dialog-section-heading { margin: 0; font-size: 18px; font-weight: 400; line-height: 1.3; letter-spacing: -.04em; }
.dialog-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 50px; padding: 0; margin: 35px 0 0; list-style: none; }
.dialog-service h3 { margin: 0 0 12px; font-size: 20px; font-weight: 400; line-height: 1.2; letter-spacing: -.04em; }
.dialog-service p { margin: 0; color: var(--dialog-muted); font-size: 13px; line-height: 1.65; max-width: 380px; }
.dialog-section-intro { display: flex; justify-content: space-between; align-items: start; gap: 30px; }
.dialog-section-intro > p { margin: 0; color: var(--dialog-muted); font-size: 10px; line-height: 1.6; }
.dialog-project-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; margin: 29px 0 0; padding: 0; list-style: none; }
.dialog-index-item { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 52px; padding: 6px 0; border-bottom: 1px solid var(--dialog-line); }
.dialog-index-name, .dialog-index-link { min-width: 0; font-size: 12px; line-height: 1.45; }
.dialog-index-link { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; }
.dialog-index-link > span { color: #90908b; }
.dialog-index-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.dialog-index-stage { flex: 0 0 auto; font-size: 9px; line-height: 1.3; color: var(--dialog-muted); }
.dialog-about-contact { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 60px; padding-top: 28px; border-top: 1px solid var(--dialog-line); }
.dialog-about-contact > p { margin: 0; font-size: 22px; letter-spacing: -.04em; }
.studio-dialog[data-view='contact'] { width: min(850px, calc(100vw - 64px)); }
.dialog-contact { padding: 60px 65px 48px; }
.dialog-contact h2 { font-size: clamp(45px, 6vw, 76px); }
.dialog-contact-copy { max-width: 520px; margin: 30px 0 0; font-size: 19px; line-height: 1.5; letter-spacing: -.035em; color: #d5d5cf; }
.dialog-contact-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 23px 30px; margin-top: 42px; }
.dialog-contact-phone { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 44px; font-size: 20px; line-height: 1.2; letter-spacing: -.035em; }
.dialog-contact-phone:hover { text-decoration: underline; text-underline-offset: 5px; }
.dialog-contact-location { margin: 62px 0 0; font-size: 11px; line-height: 1.5; color: var(--dialog-muted); }
@media (max-width: 760px) {
  .studio-dialog, .studio-dialog[data-view='contact'] { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
  .dialog-toolbar { min-height: 64px; padding: 14px 17px; gap: 12px; }
  .dialog-location { font-size: 10px; }
  .dialog-location > span { margin-inline: 5px; }
  .dialog-close { font-size: 10px; gap: 10px; min-height: 44px; padding: 8px; }
  .dialog-project { display: flex; flex-direction: column; align-items: stretch; gap: 29px; padding: 24px 22px 34px; }
  .dialog-cover { width: 100%; }
  .dialog-original-art { max-height: 53dvh; }
  .dialog-cover-concept { max-width: 260px; margin-inline: auto; }
  .dialog-project-copy { padding: 0; }
  .dialog-category { margin-bottom: 17px; font-size: 10px; }
  .dialog-project-copy h2 { font-size: 39px; }
  .dialog-description { margin-top: 22px; font-size: 14px; line-height: 1.65; }
  .dialog-stage { margin-top: 22px; }
  .dialog-project-action { margin-top: 26px; }
  .dialog-about { padding: 32px 23px; }
  .dialog-about h2 { font-size: clamp(34px, 8.6vw, 48px); }
  .dialog-about-lead { margin-top: 25px; font-size: 19px; line-height: 1.45; }
  .dialog-founder { margin-top: 25px; font-size: 11px; }
  .dialog-about-section { margin-top: 42px; padding-top: 24px; }
  .dialog-services { grid-template-columns: 1fr; gap: 26px; margin-top: 27px; }
  .dialog-service h3 { font-size: 20px; }
  .dialog-service p { font-size: 13px; }
  .dialog-section-intro { display: block; }
  .dialog-section-intro > p { margin-top: 14px; }
  .dialog-project-index { grid-template-columns: 1fr; margin-top: 20px; }
  .dialog-index-item { min-height: 48px; }
  .dialog-about-contact { margin-top: 40px; gap: 20px; flex-wrap: wrap; }
  .dialog-about-contact > p { font-size: 21px; }
  .dialog-contact { padding: 38px 24px 32px; }
  .dialog-contact h2 { font-size: clamp(44px, 11vw, 64px); }
  .dialog-contact-copy { font-size: 17px; margin-top: 25px; }
  .dialog-contact-actions { margin-top: 32px; gap: 23px; }
  .dialog-contact-phone { font-size: 21px; }
  .dialog-contact-location { margin-top: 42px; }
}
@media (prefers-reduced-transparency: reduce) { .studio-dialog::backdrop { backdrop-filter: none; background: #080808f5; } }

/* Business development extends the portfolio with an editorial service story. */
.business-detail{--business-paper:#f4f0e7;--business-red:#bd2e20;background:var(--business-paper);color:#181816;padding:clamp(24px,5vw,64px);font-family:var(--body-font)}
.business-detail h2,.business-detail h3,.business-detail h4,.business-detail p{margin:0}
.business-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(190px,.7fr);gap:48px;align-items:center}
.business-detail h2{font-family:var(--display-font);font-size:clamp(42px,5.8vw,76px);font-weight:850;line-height:1.02;letter-spacing:-.04em;text-wrap:balance}
.business-detail h2 em{color:var(--business-red);font-style:normal}
.business-hero-copy>p{font-size:17px;line-height:1.6;max-width:52ch;margin-top:20px}
.business-hero-copy .business-lead{font-size:clamp(20px,2.5vw,27px);font-weight:600;line-height:1.3;margin-top:28px}
.business-hero-art{margin:0}.business-hero-art>img{display:block;width:100%;height:auto}
.business-detail .business-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;background:#191917;color:#fff;font-size:15px;line-height:1.4;margin-top:28px;border:1px solid #191917;min-height:52px}
.business-detail .business-cta:hover{background:var(--business-red);border-color:var(--business-red)}
.business-detail :is(a,button):focus-visible{outline:3px solid var(--business-red);outline-offset:4px}
.business-proof{border-block:1px solid #1818163d;margin-top:48px;padding:22px 0;display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}
.business-proof strong{font-family:var(--display-font);font-size:26px;font-weight:800;letter-spacing:-.03em}.business-proof span{font-size:14px;line-height:1.5}
.business-section{margin-top:64px}.business-detail h3{font-family:var(--display-font);font-size:clamp(30px,4.3vw,48px);line-height:1.08;font-weight:800;letter-spacing:-.035em;text-wrap:balance}
.business-section>p{font-size:17px;line-height:1.65;max-width:72ch;margin-top:24px}
.business-services{display:grid;grid-template-columns:1fr 1fr;gap:36px 48px;margin-top:36px}
.business-services section{border-top:1px solid #1818163d;padding-top:22px}.business-detail h4{font-size:23px;line-height:1.2;font-weight:700;letter-spacing:-.02em}
.business-services p{font-size:16px;line-height:1.65;margin-top:14px}.business-services .business-deliverable{font-size:14px;line-height:1.6;font-weight:600;color:#684239}
.business-context{padding:32px;background:#e8e2d7}.business-context>p{font-size:17px;line-height:1.65}
.business-examples{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.business-examples button{border:0;border-top:1px solid #1818163d;border-bottom:1px solid #1818163d;background:transparent;color:inherit;padding:20px 0;width:100%;height:100%;text-align:left;cursor:pointer}
.business-examples button:hover strong{color:var(--business-red)}.business-examples button>span{display:block;font-size:12px;margin-bottom:14px}.business-examples strong{font-size:21px;line-height:1.2;display:block}.business-examples p{font-size:14px;line-height:1.6;margin-top:10px}
.business-path{display:flex;gap:24px;margin-top:28px;border-top:1px solid #1818163d;padding-top:18px;flex-wrap:wrap}.business-path span{font-size:15px;font-weight:600}.business-path span:not(:last-child)::after{content:'→';margin-left:24px;color:var(--business-red)}
.business-founder{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid #1818163d;padding-top:40px}.business-founder p{font-size:16px;line-height:1.65;margin-top:22px}
.business-profile-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.business-profile-links .dialog-action{border-color:#18181680;color:#181816;font-size:14px;padding:12px 16px;min-height:48px}.business-profile-links .dialog-action:hover{background:#e8e2d7}
.business-learning h4{font-size:20px}.business-learning ul{padding-left:20px;margin:16px 0 0}.business-learning li{font-size:14px;line-height:1.6;margin:10px 0}.business-learning .business-source{font-size:12px;line-height:1.6;color:#514e46}
.business-close{margin-top:64px;padding-top:40px;border-top:1px solid #1818163d}
@media(max-width:700px){.business-hero{grid-template-columns:1fr;gap:28px}.business-hero-art{max-width:240px;margin:auto}.business-detail h2{font-size:44px}.business-services,.business-founder,.business-examples{grid-template-columns:1fr;gap:28px}.business-section{margin-top:44px}.business-context{padding:24px}.business-proof{margin-top:32px;gap:10px}.business-proof strong{font-size:23px}.business-founder{padding-top:28px}.business-path{gap:14px}.business-path span:not(:last-child)::after{margin-left:14px}.business-detail .business-cta{width:100%;font-size:14px}.business-hero-copy>p{font-size:16px}.business-profile-links .dialog-action{width:100%}}
.business-detail #studio-dialog-title{color:#181816}
.business-hero-art>.power-card{width:100%;height:auto;min-height:0;aspect-ratio:240/380}
@media(max-width:700px){.business-hero-art{width:min(240px,100%)}}
