/* v20.3.4 — homepage hero safe-zone pass.
   The title + sea are the visual anchor. No surrounding work card may cover them. */
.page-home .home-hero--ensemble{
  height:790px;min-height:790px;overflow:hidden;margin-top:18px;
  background:
    radial-gradient(circle at 77% 16%,rgba(255,255,255,.5) 0 1px,transparent 1.6px) 0 0/23px 23px,
    linear-gradient(152deg,#e7f0f2 0%,#d7e5ea 42%,#c6dce6 100%);
  border-top:1px solid rgba(77,64,54,.16);border-bottom:1px solid rgba(77,64,54,.14)
}
.page-home .home-hero--ensemble::before{
  content:"";position:absolute;z-index:0;left:17%;right:9%;top:206px;height:420px;
  background:rgba(244,240,231,.18);border:1px solid rgba(77,64,54,.10);transform:rotate(-.55deg);pointer-events:none
}
.page-home .home-hero--ensemble::after{content:none}
/* Hard safety layer: even if a peripheral card drifts inward, it stays behind the sea. */
.page-home .home-hero--ensemble .hero-sea{
  left:18%;right:auto;top:235px;width:65%;height:365px;z-index:12;opacity:.96;
  border:9px solid rgba(242,237,227,.78);box-shadow:0 22px 48px rgba(52,82,96,.12);
  transform:rotate(.35deg);object-position:center 59%
}
.page-home .home-hero--ensemble .hero-copy{
  position:absolute;z-index:20;left:26%;top:185px;width:52%;padding:0;color:var(--ensemble-brown);pointer-events:none;text-align:center
}
.page-home .home-hero--ensemble .hero-copy .eyebrow{display:inline-block;margin-bottom:7px;background:rgba(242,237,227,.78);padding:5px 8px}
.page-home .home-hero--ensemble .hero-copy h1{
  margin:0;font-size:clamp(96px,11.5vw,164px);line-height:1.08;letter-spacing:.08em;color:var(--ensemble-brown);text-shadow:0 1px rgba(255,255,255,.58);white-space:nowrap
}
.page-home .home-hero--ensemble .hero-copy>p:last-child{
  max-width:24em;margin:15px auto 0;font:400 16px/1.9 var(--display);letter-spacing:.055em;color:var(--ensemble-brown)
}
.page-home .home-hero--ensemble .hero-index{
  z-index:24;left:var(--gutter)!important;bottom:28px!important;color:var(--ensemble-brown);background:rgba(242,237,227,.72);
  padding:9px 12px!important;border:1px solid rgba(77,64,54,.15)!important;writing-mode:horizontal-tb!important
}
.page-home .hero-side-note{position:absolute;z-index:9;right:18px;top:28px;margin:0;writing-mode:vertical-rl;font:500 9px/1.2 var(--sans);letter-spacing:.19em;color:rgba(77,64,54,.7)}
.page-home .ensemble-field--home{position:absolute;z-index:5;inset:0;pointer-events:none}
.page-home .ensemble-field--home .ensemble-piece{pointer-events:auto;--rot:0deg;--lift:0px}
.page-home .ensemble-field--home .ensemble-piece img{width:100%;height:100%;object-fit:cover}
/* Peripheral ring. Nothing in this ring intersects the central sea rectangle (18%–83%, 235–600px). */
.page-home .ensemble-field--home .ensemble-piece--ocean{left:-38px;top:118px;width:228px;height:164px;z-index:7}
.page-home .ensemble-field--home .ensemble-piece--field{left:14%;bottom:20px;width:180px;height:132px;z-index:8}
.page-home .ensemble-field--home .ensemble-piece--film{right:21%;top:52px;width:210px;height:150px;z-index:6}
.page-home .ensemble-field--home .ensemble-piece--ai{right:-58px;top:275px;width:220px;height:240px;z-index:8}
.page-home .ensemble-field--home .ensemble-piece--fusion{right:29%;bottom:-28px;width:168px;height:138px;z-index:9}
.page-home .ensemble-field--home .ensemble-piece--jh{left:43%;bottom:8px;width:152px;height:152px;z-index:9}
.page-home .ensemble-field--home .ensemble-piece--zoth{left:1.5%;top:352px;width:128px;height:185px;z-index:6}
.page-home .ensemble-field--home .ensemble-piece--face,
.page-home .ensemble-field--home .ensemble-piece--label,
.page-home .ensemble-field--home .ensemble-piece--encounter{display:none}
.page-home .ensemble-field--home .ensemble-field__note{left:calc(var(--gutter) + 2px);top:28px}
@media(hover:hover) and (pointer:fine){.page-home .ensemble-field--home .ensemble-piece:hover{--lift:-4px;z-index:11}}
@media(max-width:1000px){
  .page-home .home-hero--ensemble{height:735px;min-height:735px}
  .page-home .home-hero--ensemble .hero-sea{left:12%;width:76%;top:238px;height:340px}
  .page-home .home-hero--ensemble .hero-copy{left:20%;top:190px;width:61%}
  .page-home .home-hero--ensemble .hero-copy h1{font-size:clamp(82px,13vw,126px)}
  /* At tablet width the top pieces end before the sea begins; side pieces sit fully outside its horizontal bounds. */
  .page-home .ensemble-field--home .ensemble-piece--ocean{left:-28px;top:92px;width:170px;height:122px}
  .page-home .ensemble-field--home .ensemble-piece--field{left:9%;bottom:18px;width:145px;height:106px}
  .page-home .ensemble-field--home .ensemble-piece--film{right:15%;width:165px;height:118px;top:58px}
  .page-home .ensemble-field--home .ensemble-piece--ai{right:-52px;width:160px;height:177px;top:300px}
  .page-home .ensemble-field--home .ensemble-piece--fusion{right:22%;bottom:-20px;width:132px;height:108px}
  .page-home .ensemble-field--home .ensemble-piece--jh{left:43%;bottom:4px;width:126px;height:126px}
  .page-home .ensemble-field--home .ensemble-piece--zoth{left:-34px;width:100px;height:145px;top:360px}
}
@media(max-width:600px){
  /* Mobile uses a clean central hero. Peripheral cards are moved out of the sea/title zone instead of floating over it. */
  .page-home .home-hero--ensemble{height:760px;min-height:760px;margin-top:10px}
  .page-home .home-hero--ensemble::before{left:5%;right:2%;top:205px;height:320px}
  .page-home .home-hero--ensemble .hero-sea{left:5%;top:235px;width:94%;height:275px;border-width:6px}
  .page-home .home-hero--ensemble .hero-copy{left:8%;top:112px;width:84%;text-align:left}
  .page-home .home-hero--ensemble .hero-copy .eyebrow{padding-left:0;background:transparent}
  .page-home .home-hero--ensemble .hero-copy h1{font-size:clamp(58px,17vw,78px);line-height:1.05;letter-spacing:.055em}
  .page-home .home-hero--ensemble .hero-copy>p:last-child{font-size:13px;line-height:1.75;margin:11px 0 0;max-width:21em}
  .page-home .hero-side-note{display:none}
  .page-home .ensemble-field--home .ensemble-piece--ocean,
  .page-home .ensemble-field--home .ensemble-piece--film,
  .page-home .ensemble-field--home .ensemble-piece--ai,
  .page-home .ensemble-field--home .ensemble-piece--zoth{display:none}
  .page-home .ensemble-field--home .ensemble-piece--field{left:6%;top:548px;bottom:auto;width:104px;height:78px}
  .page-home .ensemble-field--home .ensemble-piece--jh{left:40%;top:548px;bottom:auto;width:96px;height:96px}
  .page-home .ensemble-field--home .ensemble-piece--fusion{display:block;right:3%;top:548px;bottom:auto;width:96px;height:79px}
  .page-home .ensemble-field--home .ensemble-field__note{display:none}
}
@media(prefers-reduced-motion:reduce){.page-home .ensemble-field--home .ensemble-piece{transform:none!important;transition:none!important}}
