/* セクションA：共感／コンセプト／素材／場面 */
.frame{margin:0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line-strong);box-shadow:0 40px 80px -30px rgba(0,0,0,.75),0 0 0 6px rgba(214,178,116,.05);background:var(--panel)}
.frame img{width:100%;height:100%;object-fit:cover}
.frame--paper{border-color:rgba(34,26,18,.28);box-shadow:0 34px 60px -28px rgba(34,26,18,.5);background:var(--paper-2)}

/* 共感 */
.empathy{overflow:hidden}
.empathy-glass{position:absolute;right:max(2vw,-20px);top:50%;transform:translateY(-50%);height:min(82%,560px);width:auto;color:var(--brass);opacity:.08;pointer-events:none}
.empathy-inner{position:relative}
.empathy-lines{margin-top:clamp(36px,6vw,72px);max-width:820px}
.empathy-lines li{display:flex;align-items:baseline;gap:clamp(16px,3vw,36px);padding-block:clamp(22px,3.4vw,36px);border-top:1px solid var(--line)}
.empathy-lines li:last-child{border-bottom:1px solid var(--line)}
.empathy-no{flex:none;font-size:clamp(1.3rem,2.4vw,1.7rem);color:var(--brass);min-width:2.2ch}
.empathy-lines p{font-family:var(--f-display);font-weight:700;font-size:clamp(1.25rem,3.1vw,2.1rem);line-height:1.6;letter-spacing:.03em;text-wrap:balance}
.empathy-bridge{margin-top:clamp(32px,5vw,56px);font-family:var(--f-display);font-weight:700;font-size:clamp(1.1rem,2.2vw,1.5rem);line-height:1.8;color:var(--brass-hi)}

/* コンセプト */
.concept-top{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,88px);align-items:center}
.concept-fig{aspect-ratio:4/5;max-width:460px;justify-self:end;width:100%}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(56px,8vw,104px);position:relative}
.steps::before{content:"";position:absolute;left:0;right:0;top:calc(clamp(2.6rem,5vw,3.6rem)*.62);height:1px;background:var(--line-strong)}
.steps li{position:relative;padding-right:clamp(16px,3vw,40px)}
.step-no{display:inline-block;padding-right:18px;background:var(--ink);font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;color:var(--brass);font-weight:500}
.steps .h3{margin-top:22px}
.steps p{margin-top:10px;color:var(--muted);font-size:.95rem;line-height:1.95;max-width:22em}
.concept-vs{margin:clamp(40px,6vw,64px) auto 0;max-width:36em;text-align:center;color:var(--muted);font-size:.95rem;line-height:2;text-wrap:balance}
.concept-closing{margin-top:clamp(44px,6vw,72px);font-family:var(--f-display);font-weight:700;font-size:clamp(1.1rem,2.2vw,1.45rem);line-height:1.8;text-align:center;text-wrap:balance}

/* 素材（紙色の帯） */
.craft-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,88px);align-items:start}
.craft-fig{align-self:stretch;min-height:420px}
.craft-fig img{object-position:50% 50%}
.craft .lead{color:var(--paper-muted)}
.craft-items{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,44px) clamp(20px,3vw,40px);margin-top:clamp(36px,5vw,56px)}
.craft-items li{border-top:1px solid var(--paper-line);padding-top:20px}
.thumb{display:block;width:72px;height:72px;border-radius:10px;overflow:hidden;border:1px solid rgba(34,26,18,.3);box-shadow:0 10px 20px -10px rgba(34,26,18,.5);margin-bottom:16px}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--mp-ease-out)}
.craft-items li:hover .thumb img{transform:scale(1.14)}
.craft-items li:hover .craft .eyebrow{color:#6f4f1a}
.craft-tag{font-size:.82rem;letter-spacing:.3em;color:#6f4f1a;margin-bottom:4px}
.craft-items .h3{margin-bottom:8px}
.craft-text{color:var(--paper-muted);font-size:.93rem;line-height:1.9}

/* 場面 */
.scenes-wrap{margin-top:clamp(36px,5vw,64px)}
.scene-list{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}
.scene{position:relative;min-height:clamp(380px,42vw,500px);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);display:flex;align-items:flex-end;isolation:isolate;background:#14100c}
.scene-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.6s var(--mp-ease-out)}
.scene::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,7,5,.12) 0%,rgba(10,7,5,.5) 50%,rgba(10,7,5,.94) 100%)}
.scene-bg--lift{mix-blend-mode:multiply}
.scene:has(.scene-bg--lift){background:#9c7b53}
.scene-bg--zoom{transform:scale(1.7);transform-origin:32% 100%}
.scene:hover .scene-bg--zoom{transform:scale(1.78)}
.scene:hover .scene-bg{transform:scale(1.06)}
.scene-body{padding:clamp(22px,3vw,32px)}
.scene-label{font-family:var(--f-latin);font-weight:600;font-size:.85rem;letter-spacing:.3em;text-transform:uppercase;color:var(--brass)}
.scene-title{font-family:var(--f-display);font-weight:700;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.5;margin-top:10px;text-wrap:balance}
.scene-text{margin-top:10px;color:var(--muted);font-size:.93rem;line-height:1.9}
.scenes-note{margin-top:28px;color:var(--dim);font-size:.82rem;line-height:1.8}

@media (max-width:860px){
  .concept-top,.craft-grid{grid-template-columns:1fr}
  .concept-fig{justify-self:start;max-width:420px}
  .craft-fig{aspect-ratio:1/1;max-width:520px;min-height:0}
  .steps{grid-template-columns:1fr;gap:34px}
  .steps::before{display:none}
  .step-no{padding-right:0}
  .craft-items{gap:28px 18px}
  .scene-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);padding-bottom:8px;scrollbar-width:none}
  .scene-list::-webkit-scrollbar{display:none}
  .scene{flex:0 0 82%;scroll-snap-align:center;min-height:420px}
}
@media (max-width:520px){
  .craft-items{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.thumb img,.scene-bg{transition:none}}
.craft-items li:hover 