/* 01–04 閱讀層與商品說明。05 的 RWD 只在 site.css 的「05 RWD」區塊維護。 */
.product p strong{font-weight:600}
.checklist-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px}
.checklist-actions a{color:inherit;text-underline-offset:5px}
.checklist-status{font-size:14px;max-width:660px;line-height:1.7}
.brief-fallback{display:block;max-width:740px;font-size:15px}
.brief-fallback[hidden]{display:none}
.brief-fallback textarea{display:block;width:100%;margin-top:12px;padding:16px;font:inherit;line-height:1.7;color:var(--ink);background:var(--paper);border:1px solid var(--muted)}
.scroll-note a{color:inherit;text-decoration:none}
@media(prefers-reduced-motion:reduce){
  .hero-stage .hero-en-letter,.hero-stage .hero-en-group,.hero-stage .hero-sub-letter,.hero-stage .hero-main-line,.stage-0 .s01-prestrong,.stage-0 .s01-strong{opacity:1!important;animation:none!important;transform:none!important;filter:none!important}
}

/* 01–04 閱讀層：只調整文字，影片、鏡頭與 3D 物件位置不變 */
.hero-stage:not(.stage-4) .hero-copy .hero-main{max-width:100%;line-height:1.2}
.hero-stage:not(.stage-4) .hero-main-line + .hero-main-line{margin-top:.1em}
.hero-stage:not(.stage-4) .hero-subtitle{
  font-size:clamp(15px,1.25vw,20px);line-height:1.7;letter-spacing:.015em;
  color:#fffaf4;text-wrap:pretty;white-space:normal;
}
.hero-stage:not(.stage-4) .hero-sub-line{white-space:normal;overflow-wrap:normal}
.stage-0 .hero-copy{gap:clamp(26px,4.2vh,54px)}
.stage-0 .hero-copy .hero-subtitle{background:rgba(25,19,16,.86);max-width:min(660px,84vw);padding:12px 18px}
.stage-0 .hero-copy .hero-main .s01-strong{background:#a64418}
.stage-1 .hero-copy .hero-main em{color:#ffdab7}
.stage-1 .hero-copy .hero-subtitle{
  width:max-content;max-width:min(510px,46vw);padding:12px 18px;
  background:rgba(25,19,16,.86);text-shadow:0 1px 3px #191310;
}
.stage-2 .hero-copy{translate:0 -50%}
.stage-2 .hero-copy .hero-en{color:#ffd0a6}
.stage-2::after{display:none}
.stage-2 .hero-copy .hero-subtitle{
  max-width:100%;padding:12px 16px;background:rgba(25,19,16,.86);
  font-family:GenYo,"Microsoft JhengHei",sans-serif;text-shadow:0 1px 3px #191310;
}
.stage-3 .hero-copy .hero-en{font-size:clamp(28px,4.5vw,80px);line-height:1.05}
.stage-3 .hero-copy .hero-main{font-size:clamp(34px,4.5vw,78px)}
.stage-3 .hero-copy .hero-main em{font-size:.68em;line-height:1.4;padding:.05em .28em;clip-path:none}
.stage-3 .hero-copy .hero-subtitle{
  max-width:min(640px,calc(100vw - 36px));background:#9b411b;
  padding:13px 24px;border-radius:32px;color:#fffaf4;
}
.stage-3 .hero-copy .hero-sub-line{display:block}

/* Fast legible entrances; decorative English and the 3D scene keep their character. */
@keyframes r2-reading-in{from{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  .stage-0.is-text-entering{--s01-en-delay:650ms}
  .stage-0.is-text-entering .hero-main-line:nth-child(1),
  .stage-0.is-text-entering .hero-main-line:nth-child(2) .s01-prestrong,
  .stage-0.is-text-entering .hero-main-line:nth-child(2) .s01-strong,
  .stage-0.is-text-entering .hero-subtitle{
    animation:r2-reading-in .55s .06s ease-out both;filter:none;clip-path:none;
  }
  .stage-0.is-text-entering .hero-main-line:nth-child(2) em{animation:none}
  .stage-0.is-text-entering .hero-sub-line .hero-sub-letter{
    animation:r2-reading-in .35s calc(.12s + var(--type-delay,0s)) ease-out both;clip-path:none;
  }
  .stage-1.is-text-entering .hero-sub-line,
  .stage-2.is-text-entering .hero-sub-line,
  .stage-3.is-text-entering .hero-sub-line{animation:r2-reading-in .55s .12s ease-out both}
  .stage-3.is-text-entering .hero-subtitle{animation:r2-reading-in .55s .12s ease-out both;clip-path:none;filter:none}
}

/* 02 沿用原本的容器與 RWD 座標；只把 3D 物件縮小 10%、視覺上往下 */
.stage-1 .object-stage model-viewer{
  scale:.9;
  translate:0 clamp(8px,1.5vh,16px);
  transform-origin:center;
}
.stage-1 .hero-copy::before,.stage-1 .hero-copy::after{
  translate:var(--s02-lockup-x) 0;
}

@media(min-width:1101px){
  .stage-1{
    --s02-lockup-x:clamp(130px,calc(810px - 35.4vw),300px);
    --s02-lockup-y:clamp(-110px,-11vh,-70px);
  }
  .stage-1 .hero-copy .hero-subtitle{transform:translate3d(clamp(160px,22vw,350px),-45px,0)}
}
@media(min-width:761px) and (max-width:1100px){
  .stage-1{--s02-lockup-x:clamp(18px,4vw,36px)}
  .stage-1 .hero-copy .hero-en,.stage-1 .hero-copy .hero-main{translate:var(--s02-lockup-x) 0}
}
@media(max-width:1100px){
  .stage-1 .hero-copy .hero-subtitle{max-width:100%;margin-top:12px}
  .stage-2 .hero-copy{width:min(60vw,460px)}
  .stage-3 .hero-copy .hero-main{font-size:clamp(30px,5.5vw,52px)}
}
@media(max-width:760px){
  .stage-1{--s02-lockup-x:clamp(12px,4vw,20px)}
  .stage-0 .hero-copy .hero-main{font-size:clamp(27px,7.5vw,40px)}
  .stage-1 .hero-copy{left:50%;width:calc(100vw - 40px);top:34%}
  .stage-1 .hero-copy .hero-main{font-size:clamp(27px,7.6vw,40px)}
  .stage-1 .hero-copy .hero-en,.stage-1 .hero-copy .hero-main{translate:var(--s02-lockup-x) -16px}
  .stage-1 .hero-copy .hero-en{font-size:clamp(23px,6.7vw,36px);line-height:1.05}
  .stage-2 .hero-copy{right:20px;width:calc(100vw - 40px);top:30%}
  .stage-2 .hero-copy .hero-en{font-size:12px;letter-spacing:.1em}
  .stage-2 .hero-copy .hero-main{font-size:clamp(28px,7.8vw,40px)}
  .stage-2 .hero-copy .hero-main-line{white-space:nowrap}
  .stage-2 .hero-copy .hero-subtitle{max-width:100%;padding:10px 12px;margin-top:20px}
  .stage-3 .hero-copy .hero-en{font-size:clamp(24px,6.4vw,36px)}
  .stage-3 .hero-copy .hero-main{font-size:clamp(28px,7.6vw,40px)}
  .stage-3 .hero-copy .hero-subtitle{max-width:calc(100vw - 40px);padding:12px 16px;margin-top:18px}
  /* 被移除區塊之後的第一個標題：最後一個字不要單獨換行 */
  .showroom-head h2{font-size:clamp(34px,10.5vw,46px);line-height:1.12;letter-spacing:-.055em}
}
@media(prefers-reduced-motion:reduce){
  .hero-stage:not(.stage-4) .hero-subtitle{opacity:1!important;filter:none!important;clip-path:none!important;animation:none!important}
}
