/* Shared poster layout for the six parent scene pages. */
.page-scene-poster .hero--scene-poster .hero-context-decor {
  display: none;
}

.page-scene-poster .hero--scene-poster .hero-title--scene-poster em {
  color: #ffe837;
  font-style: normal;
}

.page-scene-poster .hero--scene-poster .scene-poster-accent {
  color: #ffe837;
}

/* The approved PC homepage uses baked display lettering; keep that same ink here. */
.page-scene-poster .scene-poster-pc-lettering { display: none; }
.page-scene-poster .scene-poster-pc-products { display: none; }
.page-scene-poster .scene-poster-lead-sp { display: none; }

@media (min-width: 1200px) {
  .page-scene-poster .hero--scene-poster {
    height: calc(100svh - var(--scene-fv-header-height, 124px));
    min-height: 0;
  }

  /* Use the v21 source canvas and crop, not the independent responsive tile grid. */
  .page-scene-poster .hero--scene-poster .hero-item-background {
    z-index: 1;
    background-color: #5ca7f7;
    background-image: url("/assets/generated/scene-fv-art-pc-v1.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transform: scale(1.04);
    transform-origin: center;
  }
  .page-scene-poster .hero--scene-poster .hero-item-background__grid { display: none; }
  :is(.page-scene-ihinseiri, .page-scene-seizenseiri, .page-scene-realestate) .hero--scene-poster .hero-item-background {
    background-image: url("/assets/generated/scene-fv-art-firstline-pc-v1.webp");
  }
  :is(.page-scene-ihinseiri, .page-scene-seizenseiri, .page-scene-realestate) .hero--scene-poster .scene-poster-intro {
    opacity: 0;
  }
  .page-farm-clearing .hero--scene-poster .hero-item-background {
    background-image: url("/assets/generated/scene-fv-background-pc-v1.webp");
  }
  /* Farm machinery stays in the same 1942x809 source coordinate system. */
  .page-farm-clearing .farm-hero-products__cluster {
    inset: auto;
    top: 50%;
    left: 50%;
    width: 1942px;
    height: 809px;
    transform: translate(-50%, -50%) scale(var(--scene-pc-art-zoom, 1));
    transform-origin: center;
  }
  .page-farm-clearing .farm-hero-products__item--tiller {
    top: 350px;
    right: 370px;
    width: 430px;
  }
  .page-farm-clearing .farm-hero-products__item--brush-cutter {
    top: clamp(180px, calc(263.24px - calc(5.78 * var(--salon-width-unit))), 210px);
    right: clamp(380px, calc(574.2px - calc(13.487 * var(--salon-width-unit))), 450px);
    width: clamp(520px, calc(378px + calc(15.414 * var(--salon-width-unit))), 600px);
  }

  .page-scene-poster .hero--scene-poster .scene-poster-pc-products {
    display: none;
    position: absolute;
    z-index: 2;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: scale(1.04);
    transform-origin: center;
    pointer-events: none;
  }

  .page-scene-poster .hero--scene-poster .hero-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: calc(22svh - 30px) 40px 40px max(40px, calc(calc(50 * var(--salon-width-unit)) - 62svh + 49px));
    text-align: left;
  }

  .page-scene-poster .hero--scene-poster .hero-kicker {
    margin: 0 0 8px;
    font-size: clamp(26px, 4.4svh, 40px);
    line-height: 1.08;
    letter-spacing: -.035em;
    text-shadow: 0 2px 7px rgba(55, 67, 96, .3);
    transform: scale(1.1, 1.08);
    transform-origin: left top;
  }

  .page-scene-poster .hero--scene-poster .hero-kicker span {
    display: inline;
    margin: 0;
    color: #fff;
    font-size: 1em;
  }
  .page-scene-poster .hero--scene-poster .hero-title--scene-poster {
    max-width: 100%;
    margin: 0;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0;
    text-align: left;
  }

  .page-scene-poster .hero--scene-poster .hero-title--scene-poster > span {
    display: block;
    white-space: nowrap;
  }

  .page-scene-poster .hero--scene-poster .scene-poster-intro {
    font-size: clamp(32px, 5.5svh, 50px);
    line-height: 1.08;
    letter-spacing: -.045em;
    text-shadow: 0 2px 7px rgba(55, 67, 96, .3);
    transform: scale(1.04, 1.05);
    transform-origin: left top;
  }

  .page-scene-poster .hero--scene-poster .scene-poster-main {
    font-size: clamp(96px, 14.2svh, 132px);
    line-height: 1;
    letter-spacing: -.085em;
    text-shadow: none;
    transform: translate(-29px, -2px) scale(1.22, 1.05);
    transform-origin: left top;
  }

  .page-scene-poster .hero--scene-poster .scene-poster-accent {
    color: transparent;
    font-size: clamp(106px, 15.4svh, 144px);
    line-height: .98;
    letter-spacing: -.065em;
    text-shadow: none;
  }

  .page-scene-poster .hero--scene-poster .scene-poster-pc-lettering {
    display: block;
    position: absolute;
    z-index: 4;
    top: 0;
    left: 50%;
    width: auto;
    max-width: none;
    height: 100%;
    transform: translateX(-50%) scale(1.04);
    clip-path: inset(52.53% 54.89% 29.29% 23.27%);
    pointer-events: none;
  }

  .page-scene-poster .hero--scene-poster .hero-lead {
    max-width: 35em;
    margin: 17px 0 0;
    font-size: clamp(18px, 2.8svh, 25px);
    line-height: 1.36;
    text-align: left;
    text-shadow: 0 2px 5px rgba(55, 67, 96, .3);
  }

  .page-scene-poster .hero--scene-poster .hero-buttons {
    display: none;
  }
}

@media (max-width: 1199px) {
  .page-scene-poster .scene-poster-lead-pc { display: none; }
  .page-scene-poster .scene-poster-lead-sp { display: block; }

  .page-scene-poster .hero--scene-poster .hero-foreground-products {
    display: block;
    position: absolute;
    z-index: 2;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    clip-path: polygon(0 0, 100% 0, 100% 45%, 0 54.9%);
  }

  .page-scene-poster .hero--scene-poster .home-fv-baked__campaign,
  .page-scene-poster .hero--scene-poster .home-fv-baked__rail {
    display: none;
  }

  .page-scene-poster .hero--scene-poster .hero-copy {
    display: block;
    min-height: 0;
    padding: 50px 16px 262px;
    text-align: left;
  }

  .page-scene-poster .hero--scene-poster .hero-kicker {
    margin: 0 0 9px;
    font-size: clamp(12px, calc(3.3 * var(--salon-width-unit)), 16px);
    line-height: 1.25;
    letter-spacing: .01em;
    text-shadow: 0 2px 5px rgba(55, 67, 96, .25);
  }

  .page-scene-poster .hero--scene-poster .hero-kicker span {
    display: inline;
    margin: 0;
    color: #fff;
    font-size: 1em;
  }
  .page-scene-poster .hero--scene-poster .hero-title--scene-poster {
    max-width: 100%;
    margin: 0;
    line-height: 1;
    letter-spacing: 0;
    text-align: left;
    text-shadow: none;
  }

  .page-scene-poster .hero--scene-poster .hero-title--scene-poster > span {
    display: block;
    white-space: nowrap;
  }

  .page-scene-poster .hero--scene-poster .scene-poster-intro {
    font-size: clamp(19px, calc(5.6 * var(--salon-width-unit)), 26px);
    line-height: 1.22;
    letter-spacing: -.045em;
    text-shadow: 0 2px 7px rgba(55, 67, 96, .3);
  }

  .page-scene-poster .hero--scene-poster .scene-poster-main {
    font-size: clamp(56px, calc(16 * var(--salon-width-unit)), 78px);
    line-height: 1.05;
    letter-spacing: -.085em;
    text-shadow: 0 3px 7px rgba(55, 67, 96, .3);
  }

  .page-scene-poster .hero--scene-poster .scene-poster-accent {
    font-size: clamp(70px, calc(20 * var(--salon-width-unit)), 96px);
    line-height: .98;
    letter-spacing: -.065em;
    text-shadow: 0 3px 0 rgba(55, 67, 96, .12);
  }

  .page-scene-poster .hero--scene-poster .hero-lead {
    max-width: 28em;
    margin: 7px 0 0;
    font-size: clamp(12px, calc(3.15 * var(--salon-width-unit)), 15px);
    line-height: 1.42;
    text-align: left;
    white-space: normal;
    text-shadow: 0 2px 5px rgba(55, 67, 96, .3);
  }
}

@media (max-width: 360px) and (max-height: 600px) {
  .page-scene-poster .hero--scene-poster .hero-foreground-products { clip-path: none; }
}

@media (max-width: 1199px) and (orientation: portrait) and (max-height: 700px) {
  .page-scene-poster .hero--scene-poster .hero-copy { padding-top: 36px; }
}

@media (max-width: 1199px) and (orientation: portrait) and (max-height: 600px) {
  .page-scene-poster .hero--scene-poster .hero-copy { padding-top: 12px; }
  .page-scene-poster .hero--scene-poster .hero-kicker { margin-bottom: 5px; font-size: 11px; }
  .page-scene-poster .hero--scene-poster .scene-poster-intro { font-size: clamp(18px, calc(5.2 * var(--salon-width-unit)), 22px); }
  .page-scene-poster .hero--scene-poster .scene-poster-main { font-size: clamp(49px, calc(15 * var(--salon-width-unit)), 60px); }
  .page-scene-poster .hero--scene-poster .scene-poster-accent { font-size: clamp(58px, calc(18 * var(--salon-width-unit)), 72px); }
  .page-scene-poster .hero--scene-poster .hero-lead { margin-top: 4px; font-size: 11px; line-height: 1.3; }
}


@media (min-width: 1200px) {
  .page-scene-poster .hero--scene-poster--plain-accent .scene-poster-accent { color: #ffe837; }
}






/* PC scene copy follows the same 1942x809 source canvas as the v21 artwork. */
@media (min-width: 1200px) {
  .page-scene-poster .hero--scene-poster .hero-copy {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 1942px;
    height: 809px;
    min-height: 0;
    margin: 0;
    padding: 0;
    transform: translate(-50%, -50%) scale(var(--scene-pc-art-zoom, 1));
    transform-origin: center;
    text-align: left;
  }

  .page-scene-poster .hero--scene-poster .hero-kicker {
    position: absolute;
    top: 177px;
    left: 470px;
    margin: 0;
    font-size: 40px;
    line-height: 1.15;
    white-space: nowrap;
    transform: none;
  }

  .page-scene-poster .hero--scene-poster .hero-title--scene-poster {
    position: static;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
  }

  .page-scene-poster .hero--scene-poster .hero-title--scene-poster > span {
    position: absolute;
    display: block;
    white-space: nowrap;
  }

  .page-scene-poster .hero--scene-poster .scene-poster-intro {
    top: 237px;
    left: 470px;
    font-size: 50px;
    line-height: 1.08;
    transform: none;
  }

  .page-scene-poster .hero--scene-poster .scene-poster-main {
    top: 300px;
    left: 460px;
    font-size: 132px;
    line-height: 1;
    transform: none;
  }

  .page-scene-poster .hero--scene-poster .scene-poster-accent {
    top: 427px;
    left: 460px;
    font-size: 144px;
    line-height: .98;
  }

  .page-scene-poster .hero--scene-poster .hero-lead {
    position: absolute;
    top: 577px;
    left: 460px;
    width: 430px;
    max-width: 430px;
    margin: 0;
    font-size: 26px;
    line-height: 1.28;
  }
}


@media (min-width: 1200px) {
  .page-scene-poster .hero--scene-poster .scene-poster-pc-lettering {
    top: 50%;
    left: 50%;
    width: 1942px;
    height: 809px;
    transform: translate(-50%, -50%) scale(var(--scene-pc-art-zoom, 1));
  }
}

/* PC lettering uses the homepage v21 trim-and-resize artwork coordinates. */
@media (min-width: 1200px) {
  .page-scene-poster {
    --scene-fv-kicker-pc: url("/assets/generated/scene-fv-kicker-home-pc-v1.png");
    --scene-fv-kicker-width: 520px;
    --scene-fv-accent-pc: url("/assets/generated/scene-fv-accent-appraisal-pc-v1.png");
  }
  .page-scene-ihinseiri {
    --scene-fv-kicker-pc: url("/assets/generated/scene-fv-kicker-ihinseiri-pc-v1.png");
    --scene-fv-kicker-width: 512px;
    --scene-fv-middle-pc: url("/assets/generated/scene-fv-middle-ihinseiri-pc-v2.png");
  }
  .page-scene-seizenseiri {
    --scene-fv-kicker-pc: url("/assets/generated/scene-fv-kicker-seizenseiri-pc-v1.png");
    --scene-fv-kicker-width: 512px;
    --scene-fv-middle-pc: url("/assets/generated/scene-fv-middle-seizenseiri-pc-v1.png");
  }
  .page-scene-realestate {
    --scene-fv-middle-pc: url("/assets/generated/scene-fv-middle-realestate-pc-v1.png");
    --scene-fv-accent-pc: url("/assets/generated/scene-fv-accent-buy-pc-v1.png");
  }
  .page-organizations {
    --scene-fv-intro-pc: url("/assets/generated/scene-fv-intro-organizations-pc-v1.png");
    --scene-fv-middle-pc: url("/assets/generated/scene-fv-middle-organizations-pc-v1.png");
  }
  .page-store-closing {
    --scene-fv-intro-pc: url("/assets/generated/scene-fv-intro-store-closing-pc-v1.png");
    --scene-fv-middle-pc: url("/assets/generated/scene-fv-middle-store-closing-pc-v1.png");
  }
  .page-farm-clearing {
    --scene-fv-kicker-pc: url("/assets/generated/scene-fv-kicker-farm-clearing-pc-v1.png");
    --scene-fv-kicker-width: 554px;
    --scene-fv-intro-pc: url("/assets/generated/scene-fv-intro-farm-clearing-pc-v2.png");
    --scene-fv-middle-pc: url("/assets/generated/scene-fv-middle-farm-clearing-pc-v1.png");
    --scene-fv-accent-pc: url("/assets/generated/scene-fv-accent-buy-pc-v1.png");
  }
  .page-scene-poster .hero--scene-poster .hero-kicker {
    top: 176px;
    left: 469px;
    width: var(--scene-fv-kicker-width);
    height: 61px;
    overflow: hidden;
    background: var(--scene-fv-kicker-pc) 0 0 / 100% 100% no-repeat;
    font-size: 0;
    line-height: 0;
    text-shadow: none;
  }
  .page-scene-poster .hero--scene-poster .hero-kicker span { font-size: 0; }
  .page-scene-poster .hero--scene-poster .scene-poster-main {
    top: 301px;
    left: 460px;
    width: 550px;
    height: 123px;
    background: var(--scene-fv-middle-pc) 0 0 / 100% 100% no-repeat;
    font-size: 0;
    line-height: 0;
    text-shadow: none;
  }
  .page-scene-poster .hero--scene-poster .scene-poster-accent {
    top: 429px;
    left: 457px;
    width: 415px;
    height: 139px;
    background: var(--scene-fv-accent-pc) 0 0 / 100% 100% no-repeat;
    font-size: 0;
    line-height: 0;
    text-shadow: none;
  }
  :is(.page-organizations, .page-store-closing, .page-farm-clearing)
    .hero--scene-poster .scene-poster-intro {
    top: 244px;
    left: 474px;
    width: 500px;
    height: 50px;
    background: var(--scene-fv-intro-pc) 0 0 / 100% 100% no-repeat;
    font-size: 0;
    line-height: 0;
    text-shadow: none;
  }
}

