/* STUDIOFENCE Phase 3 / v32 — editorial line-break control.
   Keep titles readable at real browser sizes; retain accessible text and existing layout. */

/* Home: the photographer's full name and studio must never be split. */
.hero-copy .sf32-creator { white-space: nowrap; }
.hero-copy .sf32-discipline { white-space: nowrap; }
@media (min-width: 1100px) {
  .hero-copy .en { white-space: nowrap; max-width: none; }
  .hero-copy .sf32-discipline, .hero-copy .sf32-creator { display: inline; }
}
@media (max-width: 1099px) {
  .hero-copy .en { white-space: normal; max-width: none; overflow-wrap: normal; }
  .hero-copy .sf32-discipline, .hero-copy .sf32-creator { display: block; }
}
@media (max-width: 420px) {
  /* Mobile hero has sufficient real width for the two complete phrases. */
  .hero-copy .en { max-width: none; }
  .hero-copy .sf32-discipline { white-space: normal; }
}

/* Project details: intentional, semantic line structure (brand / location or project type).
   Overrides older editorial styles only for the five project mastheads. */
.sf34-project .sf31-view.sf34-view .sf31-title.sf32-project-title {
  font-weight:400;
  font-size:clamp(35px, 3.3vw, 55px);
  line-height:1.085;
  letter-spacing:-.053em;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.sf32-project-title .sf32-title-main,
.sf32-project-title .sf32-title-sub { display:block; white-space:nowrap; }
.sf34-project .sf31-view.sf34-view .sf32-project-title .sf32-title-sub {
  font-size: .745em;
  letter-spacing:-.042em;
  line-height:1.21;
  margin-top:.18em;
}
/* Long names require an editorial secondary line rather than browser-chosen orphans. */
.sf34-project .sf31-view.sf34-view .sf32-project-title--sea .sf32-title-main {font-size:.93em;letter-spacing:-.061em;}
.sf34-project .sf31-view.sf34-view .sf32-project-title--sea .sf32-title-sub {font-size:.635em;letter-spacing:-.038em;}
.sf34-project .sf31-view.sf34-view .sf32-project-title--nogeyama .sf32-title-sub {font-size:.71em;}
.sf34-project .sf31-view.sf34-view .sf32-project-title--saint .sf32-title-sub {font-size:.73em;}
/* Tablet: title has full editorial width; hold the same deliberate phrase boundaries. */
@media (max-width: 1080px) {
 .sf34-project .sf31-view.sf34-view .sf31-title.sf32-project-title {font-size:clamp(34px,4.2vw,48px);}
}
@media (max-width: 620px) {
 .sf34-project .sf31-view.sf34-view .sf31-title.sf32-project-title {font-size:clamp(30px,8.3vw,46px);line-height:1.1;}
 .sf34-project .sf31-view.sf34-view .sf32-project-title .sf32-title-sub {font-size:.78em;margin-top:.16em;}
 .sf34-project .sf31-view.sf34-view .sf32-project-title--sea .sf32-title-main {font-size:.91em;}
 .sf34-project .sf31-view.sf34-view .sf32-project-title--sea .sf32-title-sub {font-size:.67em;}
}
@media (max-width: 350px) {
 .sf34-project .sf31-view.sf34-view .sf31-title.sf32-project-title {font-size:clamp(28px,9vw,32px);}
 .sf34-project .sf31-view.sf34-view .sf32-project-title--sea .sf32-title-main {font-size:.90em;}
 .sf34-project .sf31-view.sf34-view .sf32-project-title--sea .sf32-title-sub {font-size:.69em;}
}

/* Work listing: break only between meaningful word groups, not through a name. */
.work-list .work-row .work-name.sf32-work-name {overflow-wrap:normal;word-break:normal;hyphens:none;}
.sf32-work-name .sf32-name-unit {display:inline-block;white-space:nowrap;}
@media (max-width: 520px) {
 .work-list .work-row .work-name.sf32-work-name {font-size:clamp(14px,4vw,16px)!important;}
 .sf32-work-name .sf32-name-unit {white-space:normal;}
}
/* Next project links remain readable on the smallest phones. */
@media (max-width: 420px) {
 .sf31-project .next-project a:not(.all-work) {font-size:clamp(23px,7vw,29px);line-height:1.24;overflow-wrap:normal;word-break:normal;}
}
