/* Forma Project Public View — v1.78.70
 * Project surface migrated onto the Forma UI Foundation.
 * Scoped deliberately so the stabilized Artist Profile remains untouched.
 */
.forma-project-view{
  --fpv-bg:var(--forma-page);
  --fpv-panel:var(--forma-panel);
  --fpv-panel-2:var(--forma-panel-2);
  --fpv-text:var(--forma-text);
  --fpv-text-2:var(--forma-text-2);
  --fpv-muted:var(--forma-muted);
  --fpv-border:var(--forma-border);
  --fpv-accent:var(--forma-accent);
  width:min(var(--forma-container),calc(100% - (var(--forma-page-gutter) * 2)));
  margin-inline:auto;
  padding-block:var(--forma-space-11) 76px;
  color:var(--fpv-text);
  font-family:var(--forma-font);
  box-sizing:border-box
}
.forma-project-view *{box-sizing:border-box}
.forma-project-view a{text-decoration:none}
.forma-project-view :is(a,button):focus-visible{outline:0;box-shadow:var(--forma-focus-ring)}

.fpv-back-nav{display:flex;align-items:center;margin:0 0 var(--forma-space-5)}
.fpv-back-nav a{display:inline-flex;align-items:center;min-height:var(--forma-control-height-compact);color:var(--fpv-muted)!important;font-size:var(--forma-font-sm);font-weight:var(--forma-weight-bold);line-height:1;text-decoration:none!important;transition:color var(--forma-transition-fast)}
.fpv-back-nav a:hover{color:var(--fpv-accent)!important}

.fpv-owner-notice{
  display:flex;align-items:center;justify-content:space-between;gap:var(--forma-space-7);
  margin:0 0 var(--forma-space-6);padding:var(--forma-space-4) var(--forma-space-5);
  border:1px solid color-mix(in srgb,var(--fpv-accent) 46%,var(--fpv-border));
  border-radius:var(--forma-radius-md);background:var(--forma-accent-soft);
  font-size:var(--forma-font-sm);line-height:1.75;color:var(--fpv-text-2)
}
.fpv-owner-notice a{color:var(--fpv-accent);font-weight:var(--forma-weight-heavy)}

.fpv-hero{
  display:grid;grid-template-columns:minmax(180px,270px) minmax(0,1fr) minmax(220px,340px);
  gap:var(--forma-space-9);align-items:stretch;padding:var(--forma-space-8);
  border:1px solid var(--fpv-border);border-radius:var(--forma-radius-lg);
  background:var(--fpv-panel);overflow:hidden
}
.fpv-cover,.fpv-header-media{min-height:310px;border-radius:var(--forma-radius-md);overflow:hidden;background:var(--fpv-panel-2)}
.fpv-cover img,.fpv-header-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.fpv-cover-empty,.fpv-header-empty{
  display:flex;width:100%;height:100%;align-items:center;justify-content:center;padding:var(--forma-space-9);
  text-align:center;color:var(--fpv-muted);font-size:var(--forma-font-sm);
  border:1px dashed var(--fpv-border);border-radius:var(--forma-radius-md)
}
.fpv-hero-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:var(--forma-space-3) var(--forma-space-1)}
.fpv-kicker{display:flex;align-items:center;gap:7px;margin-bottom:var(--forma-space-3);color:var(--fpv-accent);font-size:var(--forma-font-xs);font-weight:var(--forma-weight-heavy);letter-spacing:.08em}
.fpv-title{margin:0!important;color:var(--fpv-text)!important;font-size:var(--forma-page-title-size)!important;line-height:var(--forma-page-title-line)!important;font-weight:var(--forma-page-title-weight)!important;letter-spacing:var(--forma-page-title-tracking)!important}
.fpv-title-en{margin:var(--forma-space-2) 0 0;color:var(--fpv-text-2);font-size:13px;line-height:1.65}
.fpv-creator{display:flex;align-items:center;gap:var(--forma-space-3);margin-top:var(--forma-space-6);color:var(--fpv-text-2);font-size:var(--forma-font-sm)}
.fpv-creator-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid var(--fpv-border)}
.fpv-creator a{color:var(--fpv-text)!important;font-weight:var(--forma-weight-bold)}
.fpv-intro{max-width:620px;margin:var(--forma-space-6) 0 0;color:var(--fpv-text-2);font-size:var(--forma-font-md);line-height:var(--forma-line-reading)}
.fpv-actions{display:flex;flex-wrap:wrap;gap:var(--forma-space-3);margin-top:var(--forma-space-7)}
.fpv-action{
  display:inline-flex;min-height:var(--forma-control-height-compact);align-items:center;justify-content:center;gap:7px;
  padding:0 var(--forma-space-5);border:1px solid var(--fpv-border);border-radius:var(--forma-radius-md);
  background:transparent;color:var(--fpv-text)!important;font:inherit;font-size:var(--forma-font-sm);font-weight:var(--forma-weight-bold);
  cursor:pointer;transition:border-color var(--forma-transition-fast),background-color var(--forma-transition-fast),color var(--forma-transition-fast),transform var(--forma-transition-fast)
}
.fpv-action.is-primary{border-color:var(--fpv-accent);background:var(--fpv-accent);color:#fff!important}
.fpv-action:hover{border-color:var(--fpv-accent);color:var(--fpv-accent)!important}
.fpv-action.is-primary:hover{background:var(--forma-accent-hover);border-color:var(--forma-accent-hover);color:#fff!important}
.fpv-action:active{transform:translateY(1px)}
.fpv-facts{display:flex;flex-wrap:wrap;gap:var(--forma-space-3) var(--forma-space-7);margin-top:var(--forma-space-8);padding-top:var(--forma-space-6);border-top:1px solid var(--fpv-border)}
.fpv-fact{display:inline-flex;align-items:center;gap:var(--forma-space-2);color:var(--fpv-muted);font-size:var(--forma-font-xs)}
.fpv-fact b{color:var(--fpv-text-2);font-weight:var(--forma-weight-bold)}
.fpv-hero.no-header-media{grid-template-columns:minmax(180px,270px) minmax(0,1fr)}

.fpv-gallery-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--forma-space-3);margin:var(--forma-space-6) 0 0}
.fpv-gallery-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--fpv-border);border-radius:var(--forma-radius-md);background:var(--fpv-panel-2)}
.fpv-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fpv-gallery-more{display:flex;align-items:center;justify-content:center;color:var(--fpv-muted);font-size:var(--forma-font-xs)}

.fpv-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr);gap:var(--forma-space-6);margin-top:var(--forma-space-6)}
.fpv-main,.fpv-side{display:grid;gap:var(--forma-space-6);align-content:start}
.fpv-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--forma-space-6)}
.fpv-card{overflow:hidden;border:1px solid var(--fpv-border);border-radius:var(--forma-radius-lg);background:var(--fpv-panel);color:var(--fpv-text)}
.fpv-card>summary{list-style:none;display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:var(--forma-space-5);padding:var(--forma-space-5) var(--forma-space-7);cursor:pointer}
.fpv-card>summary::-webkit-details-marker{display:none}
.fpv-card>summary h2{margin:0!important;color:var(--fpv-text)!important;font-size:14px!important;line-height:1.45!important;font-weight:var(--forma-weight-heavy)!important}
.fpv-card>summary span{color:var(--fpv-accent);font-size:14px}
.fpv-card[open]>summary{border-bottom:1px solid var(--fpv-border)}
.fpv-card-body{padding:var(--forma-space-7)}
.fpv-copy{margin:0;color:var(--fpv-text-2);font-size:var(--forma-font-sm);line-height:var(--forma-line-reading)}
.fpv-copy p{margin:0 0 var(--forma-space-4)}.fpv-copy p:last-child{margin-bottom:0}

.fpv-detail-list{display:grid;gap:0}
.fpv-detail-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,42%);gap:var(--forma-space-5);align-items:start;padding:var(--forma-space-4) 0;border-bottom:1px solid color-mix(in srgb,var(--fpv-border) 72%,transparent);font-size:var(--forma-font-sm)}
.fpv-detail-row:last-child{border-bottom:0}.fpv-detail-label{color:var(--fpv-muted)}.fpv-detail-value{color:var(--fpv-text);font-weight:var(--forma-weight-bold);text-align:start;overflow-wrap:anywhere}
.fpv-missing{display:inline-flex;align-items:center;gap:5px;color:var(--fpv-accent)!important;font-size:var(--forma-font-xs);font-weight:var(--forma-weight-heavy)}
.fpv-empty-section{display:flex;align-items:center;justify-content:space-between;gap:var(--forma-space-4);padding:var(--forma-space-1) 0;color:var(--fpv-muted);font-size:var(--forma-font-xs)}
.fpv-empty-section a{color:var(--fpv-accent)!important;font-weight:var(--forma-weight-heavy)}

.fpv-team{display:grid;gap:0}.fpv-person{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,40%);gap:var(--forma-space-5);padding:var(--forma-space-4) 0;border-bottom:1px solid color-mix(in srgb,var(--fpv-border) 72%,transparent);font-size:var(--forma-font-sm)}.fpv-person:last-child{border-bottom:0}.fpv-person strong,.fpv-person a{color:var(--fpv-text)!important;font-weight:var(--forma-weight-bold)}.fpv-person small{color:var(--fpv-muted);font-size:var(--forma-font-xs)}
.fpv-history{display:grid;gap:var(--forma-space-3)}.fpv-history-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--forma-space-4);align-items:start;padding:var(--forma-space-4);border:1px solid color-mix(in srgb,var(--fpv-border) 80%,transparent);border-radius:var(--forma-radius-md);background:var(--fpv-panel-2)}.fpv-history-mark{color:var(--fpv-accent);font-size:18px;line-height:1}.fpv-history-item strong{display:block;color:var(--fpv-text);font-size:var(--forma-font-sm)}.fpv-history-item small{display:block;margin-top:3px;color:var(--fpv-muted);font-size:var(--forma-font-xs)}.fpv-history-item a{color:var(--fpv-accent)!important;font-size:var(--forma-font-xs)}
.fpv-link-list{display:grid;gap:var(--forma-space-3)}.fpv-link{display:flex;min-height:var(--forma-control-height-compact);align-items:center;justify-content:space-between;gap:var(--forma-space-4);padding:0 var(--forma-space-4);border:1px solid color-mix(in srgb,var(--fpv-border) 80%,transparent);border-radius:var(--forma-radius-md);color:var(--fpv-text-2)!important;font-size:var(--forma-font-xs);transition:border-color var(--forma-transition-fast),color var(--forma-transition-fast)}.fpv-link:hover{border-color:var(--fpv-accent);color:var(--fpv-text)!important}.fpv-link span:last-child{color:var(--fpv-accent)}
.fpv-file-list{display:grid;gap:var(--forma-space-3)}.fpv-file{display:flex;align-items:center;justify-content:space-between;gap:var(--forma-space-5);padding:var(--forma-space-4);border:1px dashed var(--fpv-border);border-radius:var(--forma-radius-md);color:var(--fpv-text-2);font-size:var(--forma-font-xs)}.fpv-file a{color:var(--fpv-accent)!important;font-weight:var(--forma-weight-bold)}
.fpv-tags{display:flex;flex-wrap:wrap;gap:var(--forma-space-2)}.fpv-tag{display:inline-flex;min-height:24px;align-items:center;padding:3px 8px;border:1px solid var(--fpv-border);border-radius:var(--forma-radius-pill);color:var(--fpv-text-2);font-size:var(--forma-font-xs);font-weight:var(--forma-weight-semibold)}
.fpv-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--forma-space-3)}.fpv-related-card{display:block;overflow:hidden;border:1px solid var(--fpv-border);border-radius:var(--forma-radius-md);background:var(--fpv-panel-2);transition:border-color var(--forma-transition-fast),transform var(--forma-transition-fast)}.fpv-related-card:hover{border-color:var(--fpv-accent);transform:translateY(-1px)}.fpv-related-media{aspect-ratio:4/3;background:var(--fpv-bg)}.fpv-related-media img{display:block;width:100%;height:100%;object-fit:cover}.fpv-related-copy{padding:var(--forma-space-3)}.fpv-related-copy strong{display:block;color:var(--fpv-text);font-size:var(--forma-font-xs);line-height:1.55}.fpv-related-copy small{display:block;margin-top:2px;color:var(--fpv-muted);font-size:9px}
.fpv-completion{display:grid;gap:var(--forma-space-3)}.fpv-completion-item{display:flex;align-items:center;justify-content:space-between;gap:var(--forma-space-4);padding:var(--forma-space-4);border:1px dashed color-mix(in srgb,var(--fpv-accent) 42%,var(--fpv-border));border-radius:var(--forma-radius-md);color:var(--fpv-muted);font-size:var(--forma-font-xs)}.fpv-completion-item a{color:var(--fpv-accent)!important;font-weight:var(--forma-weight-heavy);white-space:nowrap}

/* Canonical tablet tier. */
@media(max-width:899px){
  .forma-project-view{padding-block:var(--forma-space-10) 64px}
  .fpv-hero{grid-template-columns:210px minmax(0,1fr)}
  .fpv-header-media{grid-column:1/-1;min-height:210px;max-height:300px}
  .fpv-layout{grid-template-columns:1fr}
  .fpv-side{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Canonical mobile tier. */
@media(max-width:639px){
  .forma-project-view{padding-block:var(--forma-space-6) 58px}
  .fpv-owner-notice{align-items:flex-start;flex-direction:column}
  .fpv-hero{display:flex;flex-direction:column;padding:var(--forma-space-3);gap:var(--forma-space-5)}
  .fpv-header-media{order:0;width:100%;min-height:auto;aspect-ratio:16/9}
  .fpv-cover{order:1;width:42%;min-width:132px;min-height:auto;aspect-ratio:2/3;align-self:flex-start;margin-top:-48px;margin-inline-start:var(--forma-space-4);border:3px solid var(--fpv-panel);box-shadow:var(--forma-shadow-soft)}
  .fpv-hero.no-header-media .fpv-cover{width:100%;max-width:260px;margin:0 auto;border:0;box-shadow:none}
  .fpv-hero-copy{order:2;padding:0 var(--forma-space-2) var(--forma-space-3)}
  .fpv-title-en{font-size:12px}.fpv-intro{font-size:var(--forma-font-sm);line-height:2}
  .fpv-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.fpv-action{width:100%}
  .fpv-facts{gap:var(--forma-space-3) var(--forma-space-5)}
  .fpv-two,.fpv-side{grid-template-columns:1fr}.fpv-gallery-strip{grid-template-columns:1fr 1fr}.fpv-related{grid-template-columns:1fr 1fr}
  .fpv-card>summary{min-height:48px;padding:var(--forma-space-4) var(--forma-space-5)}.fpv-card-body{padding:var(--forma-space-5)}
  .fpv-detail-row,.fpv-person{grid-template-columns:1fr;gap:var(--forma-space-2)}
  .fpv-empty-section,.fpv-completion-item{align-items:flex-start;flex-direction:column}
}


/* Pass III — migrated from the retired forma-theme.css mega-layer to the owning feature. */
@media (max-width:1024px){body .forma-public-film,body .forma-public-photography{box-sizing:border-box}.forma-public-film,.forma-public-photography{width:min(100% - 32px,1120px);margin-right:auto;margin-left:auto;right:auto;transform:none}}
@media (max-width:639px){.forma-public-film,.forma-public-photography{width:calc(100% - (2 * var(--forma-mobile-gutter)));padding-right:0;padding-left:0;margin-right:auto;margin-left:auto}.forma-public-film-hero,.forma-public-photography-hero{grid-template-columns:1fr;gap:20px}.forma-public-film h1,.forma-public-photography h1{font-size:clamp(27px,8vw,36px);line-height:1.4}}
