/* S05 only — scroll-led, three-act precedent film. */
#lineage .pm-film{position:relative;isolation:isolate;margin-top:clamp(40px,6vw,100px);background:#fbfaf6}
#lineage .pm-index{position:relative;display:flex;justify-content:space-between;gap:20px;padding-block:22px;border-block:1px solid rgba(23,67,52,.18)}
#lineage .pm-index a{display:flex;gap:12px;align-items:center;color:#244436;text-decoration:none;font:600 clamp(11px,1vw,15px)/1.25 var(--sans);letter-spacing:.11em;text-transform:uppercase}
#lineage .pm-index a span{font:400 28px/1 var(--display);color:#a68142}
#lineage .pm-index a:hover,#lineage .pm-index a:focus-visible{color:#aa7c33}
#lineage .pm-act{position:relative;height:285vh;height:285svh;min-height:1800px;scroll-margin-top:0}
#lineage .pm-stage{position:sticky;top:0;height:100vh;height:100svh;min-height:610px;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 34%,#fffefc 0,#f8f6ef 52%,#f0eee4 100%);color:#17392e}
#lineage .pm-act[data-pm-act="2"] .pm-stage{background:radial-gradient(circle at 51% 42%,#fffdf6 0,#f2f2e9 55%,#e7ede7 100%)}
#lineage .pm-act[data-pm-act="3"] .pm-stage{background:radial-gradient(circle at 51% 38%,#fffdf7 0,#f6f3ea 50%,#e7eee5 100%)}
#lineage .pm-grain{position:absolute;inset:0;opacity:.23;pointer-events:none;background-image:radial-gradient(#afad92 .45px,transparent .45px);background-size:6px 6px;mask-image:linear-gradient(90deg,transparent,#000 24%,#000 76%,transparent)}
#lineage .pm-meta{position:absolute;z-index:12;top:clamp(85px,12vh,130px);left:max(5vw,32px);right:max(5vw,32px);display:flex;justify-content:space-between;gap:18px;color:#866d45;font:700 clamp(10px,.85vw,12px)/1.4 var(--sans);letter-spacing:.2em}
#lineage .pm-canvas{position:absolute;z-index:1;inset:clamp(135px,17vh,188px) max(3vw,20px) clamp(180px,21vh,235px);min-height:250px}
#lineage .pm-copy{position:absolute;z-index:9;bottom:clamp(48px,8vh,96px);left:max(6vw,35px);right:max(6vw,35px);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,.7fr);align-items:end;column-gap:clamp(30px,6vw,105px)}
#lineage .pm-kicker{grid-column:1/-1;color:#ad8141;font:700 11px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px}
#lineage .pm-copy h3{font:400 clamp(36px,5.6vw,90px)/.97 var(--display);letter-spacing:-.045em;margin:0;max-width:14ch;color:#15372b}
#lineage .pm-copy h3 em,#lineage .pm-finale h3 em{font-style:normal;color:#af8545}
#lineage .pm-copy p{font:400 clamp(14px,1.16vw,18px)/1.55 var(--sans);max-width:45ch;margin:0 0 5px;color:#334a41}
#lineage .pm-scroll-cue{position:absolute;z-index:9;right:max(5vw,25px);bottom:22px;color:#826d52;font:700 10px/1 var(--sans);letter-spacing:.16em}
#lineage .pm-scroll-cue b{font-size:18px;margin-left:8px}
#lineage .pm-progress{position:absolute;z-index:10;bottom:0;left:0;width:100%;height:4px;background:rgba(170,134,75,.15)}
#lineage .pm-progress span{display:block;width:100%;height:100%;transform:scaleX(var(--pm-progress,0));transform-origin:left;background:linear-gradient(90deg,#997540,#d4bb82,#14392e)}
#lineage .pm-rule-one{position:absolute;top:48%;left:7%;width:86%;height:1px;background:#bb985c;opacity:.4}
#lineage .pm-hero-word{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);font:700 clamp(98px,18vw,330px)/.8 var(--display);letter-spacing:-.095em;white-space:nowrap;color:#183c2f;filter:drop-shadow(0 15px 24px rgba(16,56,41,.1))}
#lineage .pm-formula{position:absolute;left:4%;right:4%;top:35%;display:flex;align-items:center;justify-content:space-evenly;gap:1vw;white-space:nowrap}
#lineage .pm-factor{font:700 clamp(39px,5.8vw,108px)/1 var(--display);letter-spacing:-.065em;color:#1b4032;display:inline-block}
#lineage .pm-multiply{font:300 clamp(38px,5vw,78px)/1 var(--display);color:#b68e50}
#lineage .pm-formula-label{position:absolute;top:58%;left:0;right:0;text-align:center;color:#856c45;font:600 clamp(9px,.9vw,13px)/1.4 var(--sans);letter-spacing:.13em}
#lineage .pm-lenses{position:absolute;top:20%;left:50%;display:flex;gap:clamp(12px,2vw,38px);transform:translateX(-50%);width:min(100%,860px);justify-content:center}
#lineage .pm-lenses span{display:grid;place-items:center;text-align:center;width:clamp(96px,12vw,190px);height:clamp(96px,12vw,190px);flex:none;border:1.5px solid #aa854a;border-radius:50%;box-shadow:0 0 0 10px rgba(197,171,115,.08),inset 0 0 34px rgba(255,255,255,.9);background:rgba(250,249,241,.85);font:500 clamp(13px,1.5vw,23px)/1.1 var(--display);color:#164233}
#lineage .pm-transfer-ring{position:absolute;left:50%;top:45%;width:clamp(98px,14vw,235px);aspect-ratio:1;border:2px solid #bf9b60;border-radius:50%;box-shadow:0 0 0 24px rgba(191,155,96,.09),0 0 55px rgba(172,136,72,.15);transform:translate(-50%,-50%)}
#lineage .pm-aperture{position:absolute;top:46%;left:50%;width:min(55vw,650px);aspect-ratio:1;transform:translate(-50%,-50%);border:1.5px solid rgba(165,131,67,.65);border-radius:50%;box-shadow:0 0 0 22px rgba(195,161,97,.06),0 0 0 55px rgba(195,161,97,.035)}
#lineage .pm-work-scene{position:absolute;left:8%;top:3%;height:82%;width:52%;overflow:hidden;border:1px solid rgba(29,65,47,.28);border-radius:26px;background:linear-gradient(140deg,#e1e9df,#fbf8ec 55%,#d9e3d5);box-shadow:0 28px 70px -45px rgba(13,45,29,.5)}
#lineage .pm-work-scene::before{content:'';position:absolute;top:0;right:18%;bottom:0;width:1px;background:rgba(44,78,55,.1)}
#lineage .pm-scene-caption{position:absolute;top:24px;left:28px;color:#516b57;font:700 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}
#lineage .pm-desk{position:absolute;bottom:14%;left:9%;width:82%;height:9%;border-radius:7px;background:#4a705e;box-shadow:0 12px 0 #a0b7a6}
#lineage .pm-person{position:absolute;bottom:22%;height:52%;width:21%}
#lineage .pm-person-one{left:17%}
#lineage .pm-person-two{right:18%;transform:scale(.93)}
#lineage .pm-person span{position:absolute;width:45%;aspect-ratio:1;top:4%;left:27%;border-radius:50%;background:#c6a383}
#lineage .pm-person i{position:absolute;top:37%;left:9%;width:82%;height:63%;border-radius:48% 48% 7px 7px;background:#285846}
#lineage .pm-person-two i{background:#a78d6a}
#lineage .pm-work-note{position:absolute;bottom:27%;left:47%;width:13%;height:16%;transform:rotate(-8deg);background:#fffdf3;box-shadow:0 5px 16px #2444382a;padding:8px}
#lineage .pm-work-note b{font:700 12px/1 var(--sans);color:#a8854d}
#lineage .pm-work-note i{display:block;width:80%;height:2px;background:#aabdad;margin-top:7px}
#lineage .pm-bracket{position:absolute;top:20%;left:45%;width:35%;height:50%;filter:drop-shadow(0 0 10px rgba(189,151,76,.4))}
#lineage .pm-bracket i{position:absolute;width:20%;height:20%;border:solid #ad8041}
#lineage .pm-bracket i:nth-child(1){top:0;left:0;border-width:3px 0 0 3px}
#lineage .pm-bracket i:nth-child(2){top:0;right:0;border-width:3px 3px 0 0}
#lineage .pm-bracket i:nth-child(3){bottom:0;left:0;border-width:0 0 3px 3px}
#lineage .pm-bracket i:nth-child(4){bottom:0;right:0;border-width:0 3px 3px 0}
#lineage .pm-record{position:absolute;right:6%;top:15%;width:35%;padding:clamp(18px,2vw,34px);border:1px solid #c7b48c;background:#fffdf7;box-shadow:0 28px 60px -35px #1d4a3e77;transform:rotate(2deg)}
#lineage .pm-record>span{color:#916f3c;font:700 clamp(10px,.8vw,12px)/1.3 var(--sans);letter-spacing:.14em}
#lineage .pm-evidence{display:flex;align-items:start;gap:12px;margin-top:24px;border-top:1px solid #d9cfb7;padding:20px 0 0;color:#194031;font:500 clamp(13px,1.3vw,19px)/1.35 var(--display)}
#lineage .pm-evidence b{color:#ae8448;font:400 26px/1 var(--display)}
#lineage .pm-feedback{display:inline-flex;align-items:center;gap:12px;margin-top:28px;padding:10px 14px;background:#1d4a38;color:#fff;font:700 10px/1 var(--sans);letter-spacing:.15em}
#lineage .pm-feedback strong{font-size:22px;color:#e3c78b}
#lineage .pm-principles{position:absolute;bottom:0;left:8%;right:6%;display:flex;justify-content:space-between;gap:10px}
#lineage .pm-principles span{font:700 clamp(9px,.7vw,12px)/1.4 var(--sans);letter-spacing:.1em;color:#315b48;text-align:center}
#lineage .pm-guide{position:absolute;top:12%;bottom:17%;width:1px;background:#b79250;transform-origin:center top}
#lineage .pm-guide-one{left:27%}
#lineage .pm-guide-two{left:50%}
#lineage .pm-guide-three{left:73%}
#lineage .pm-guide::before{content:'';position:absolute;top:0;left:-5px;width:11px;height:11px;border-radius:50%;background:#b79250}
#lineage .pm-judgement{position:absolute;top:30%;width:21%;min-height:34%;padding:clamp(15px,2.1vw,34px);display:flex;flex-direction:column;justify-content:space-between;border:1px solid #b4bfae;background:#fffdf7;box-shadow:0 28px 60px -40px #15352788}
#lineage .pm-judgement-one{left:17%}
#lineage .pm-judgement-two{left:39.5%}
#lineage .pm-judgement-three{left:62%}
#lineage .pm-judgement span{font:700 clamp(9px,.75vw,12px)/1.3 var(--sans);letter-spacing:.12em;color:#a57e43}
#lineage .pm-judgement strong{font:400 clamp(21px,2.6vw,44px)/1.05 var(--display);letter-spacing:-.04em;color:#174231}
#lineage .pm-judgement small{font:500 clamp(11px,.94vw,15px)/1.4 var(--sans);color:#5d7566;border-top:1px solid #d5decf;padding-top:12px}
#lineage .pm-final-mark{position:absolute;top:24%;left:34%;opacity:0}
#lineage .pm-final-lens{width:130px;height:130px;border:2px solid #b99354;border-radius:50%;box-shadow:0 0 0 13px #ba985829}
#lineage .pm-final-record{left:50%;width:100px;height:130px;border:1px solid #9cad98;padding:20px;background:#fffdf7;color:#b99354;font:400 38px/1.2 var(--display);transform:rotate(7deg)}
#lineage .pm-final-guide{left:65%;width:130px;height:130px;border-left:2px solid #b99354;border-bottom:2px solid #b99354}
#lineage .pm-finale{position:absolute;z-index:8;bottom:clamp(80px,12vh,145px);left:max(6vw,35px);right:max(6vw,35px)}
#lineage .pm-finale>span{color:#a57e43;font:700 11px/1.5 var(--sans);letter-spacing:.2em}
#lineage .pm-finale h3{font:400 clamp(36px,5.8vw,90px)/1 var(--display);letter-spacing:-.05em;margin:18px 0 22px;color:#163d2f}
#lineage .pm-finale p{max-width:50ch;font:400 clamp(14px,1.2vw,19px)/1.5 var(--sans);color:#31483d}
#lineage .pm-source-notes{padding-block:clamp(60px,8vw,120px)}
#lineage .pm-source-notes>p:nth-child(2){max-width:66ch;color:#395449}
#lineage .pm-source-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}
#lineage .pm-source-items details{border:1px solid #ccb995;background:#fdfcf8;min-width:0}
#lineage .pm-source-items summary{cursor:pointer;list-style:none;display:flex;gap:12px;align-items:center;min-height:80px;padding:20px;color:#194030;font:500 clamp(15px,1.2vw,19px)/1.3 var(--display)}
#lineage .pm-source-items summary::-webkit-details-marker{display:none}
#lineage .pm-source-items summary b{font:400 28px/1 var(--display);color:#a57e43}
#lineage .pm-source-items summary::after{content:'+';margin-left:auto;font:400 25px/1 var(--display);color:#a57e43}
#lineage .pm-source-items details[open] summary::after{content:'−'}
#lineage .pm-source-body{padding:0 22px 24px;color:#3e564a;font:400 14px/1.6 var(--sans)}
#lineage .pm-source-body p{margin:14px 0}
@media(max-width:900px){
  #lineage .pm-meta{top:95px}
  #lineage .pm-canvas{inset:150px 3vw 235px}
  #lineage .pm-copy{grid-template-columns:1fr;gap:12px}
  #lineage .pm-copy h3{max-width:none;font-size:clamp(39px,6vw,68px)}
  #lineage .pm-copy p{max-width:64ch}
  #lineage .pm-record{right:3%;width:39%}
  #lineage .pm-source-items{grid-template-columns:1fr}
}
@media(max-width:600px){
  #lineage .pm-index{gap:6px;padding:15px 0}
  #lineage .pm-index a{font-size:8px;letter-spacing:0;gap:3px;flex-direction:column;align-items:flex-start}
  #lineage .pm-index a span{font-size:22px}
  #lineage .pm-act{height:225svh;min-height:1300px}
  #lineage .pm-stage{min-height:540px}
  #lineage .pm-meta{top:76px;left:20px;right:20px;font-size:8px;letter-spacing:.08em}
  #lineage .pm-meta span:last-child{text-align:right;max-width:56%}
  #lineage .pm-canvas{inset:124px 12px 220px}
  #lineage .pm-copy{left:22px;right:22px;bottom:42px;gap:9px}
  #lineage .pm-copy h3{font-size:clamp(35px,9.2vw,56px)}
  #lineage .pm-copy p{font-size:12px;line-height:1.45}
  #lineage .pm-scroll-cue{bottom:13px;font-size:8px}
  #lineage .pm-hero-word{font-size:21vw;top:37%}
  #lineage .pm-formula{left:0;right:0;gap:2px;top:30%}
  #lineage .pm-factor{font-size:7vw}
  #lineage .pm-multiply{font-size:6vw}
  #lineage .pm-formula-label{font-size:8px;top:52%;letter-spacing:.07em}
  #lineage .pm-lenses{top:9%;gap:8px}
  #lineage .pm-lenses span{width:27vw;height:27vw;font-size:11px}
  #lineage .pm-work-scene{left:2%;width:66%;height:74%;top:0}
  #lineage .pm-scene-caption{top:12px;left:10px;font-size:7px}
  #lineage .pm-record{right:0;top:31%;width:53%;padding:12px;transform:rotate(2deg)}
  #lineage .pm-record>span{font-size:7px}
  #lineage .pm-evidence{margin-top:8px;padding-top:7px;font-size:10px;gap:5px}
  #lineage .pm-evidence b{font-size:14px}
  #lineage .pm-feedback{margin-top:8px;font-size:7px;padding:5px}
  #lineage .pm-feedback strong{font-size:13px}
  #lineage .pm-principles{left:0;right:0;bottom:0;flex-wrap:wrap;justify-content:center;gap:4px 9px}
  #lineage .pm-principles span{font-size:7px}
  #lineage .pm-guide{top:0;bottom:5%}
  #lineage .pm-guide-one{left:18%}
  #lineage .pm-guide-two{left:50%}
  #lineage .pm-guide-three{left:82%}
  #lineage .pm-judgement{top:14%;width:30%;left:auto!important;min-height:50%;padding:9px}
  #lineage .pm-judgement-one{left:1%!important}
  #lineage .pm-judgement-two{left:35%!important}
  #lineage .pm-judgement-three{left:69%!important}
  #lineage .pm-judgement span{font-size:7px}
  #lineage .pm-judgement strong{font-size:17px}
  #lineage .pm-judgement small{font-size:8px;padding-top:5px}
  #lineage .pm-final-mark{top:12%;transform:scale(.65);transform-origin:left top}
  #lineage .pm-final-lens{left:14%}
  #lineage .pm-final-record{left:43%}
  #lineage .pm-final-guide{left:73%}
  #lineage .pm-finale{left:22px;right:22px;bottom:58px}
  #lineage .pm-finale h3{font-size:clamp(35px,9vw,50px)}
  #lineage .pm-finale p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  #lineage .pm-act{height:auto;min-height:0}
  #lineage .pm-stage{position:relative;height:760px;min-height:0}
  #lineage .pm-canvas{inset:150px 3vw 260px}
  #lineage .pm-progress,#lineage .pm-scroll-cue,#lineage .pm-hero-word,#lineage .pm-transfer-ring,#lineage .pm-finale~.pm-scroll-cue{display:none}
  #lineage .pm-finale{display:none}
  #lineage .pm-act[data-pm-act="3"] .pm-stage{height:980px}
  #lineage .pm-act[data-pm-act="3"] .pm-finale{display:block;bottom:45px}
  #lineage .pm-act[data-pm-act="3"] .pm-copy{bottom:320px}
  #lineage .pm-act[data-pm-act="3"] .pm-canvas{bottom:510px}
  #lineage .pm-final-mark{display:none}
  #lineage .pm-principles{flex-wrap:wrap}
  #lineage .pm-canvas-one .pm-lenses{top:0}
  #lineage .pm-canvas-one .pm-formula{top:62%;opacity:.28}
  #lineage .pm-canvas-one .pm-formula-label{top:89%}
}
@media(max-width:600px) and (prefers-reduced-motion:reduce){
  #lineage .pm-stage{height:610px}
  #lineage .pm-act[data-pm-act="3"] .pm-stage{height:860px}
  #lineage .pm-act[data-pm-act="3"] .pm-copy{bottom:295px}
  #lineage .pm-act[data-pm-act="3"] .pm-canvas{bottom:510px}
}
@media print{
  #lineage .pm-act{height:auto;min-height:0;break-inside:avoid}
  #lineage .pm-stage{position:relative;height:700px}
  #lineage .pm-progress,#lineage .pm-scroll-cue{display:none}
}
