/* ===== РЕДАКЦИОННАЯ ВЕРСИЯ 4: ритм, типографика, натуральный скролл ===== */
:root{--paper:#efe5ce;--ink:#211b16;--pr:#a9231e}
body{background:#201e19}
.arrival .a-stage img{filter:saturate(.86) contrast(1.03)}
.arrival .shade{background:linear-gradient(90deg,rgba(20,16,10,.22),transparent 56%),linear-gradient(0deg,rgba(20,16,10,.54),transparent 39%)}
.arrival .hud{font-size:12px;letter-spacing:.17em;font-weight:400}
.arrival .hud::after{content:'';position:absolute;top:26px;left:0;right:0;border-top:1px solid rgba(255,248,226,.48)}
.a-paper{width:min(54vw,790px);top:clamp(125px,18vh,210px);min-height:clamp(185px,29vh,345px);padding-left:clamp(46px,6vw,104px);clip-path:polygon(0 2%,14% 0,31% 1%,49% 0,66% 2%,84% 0,100% 1%,99% 98%,79% 100%,58% 98%,39% 100%,18% 99%,0 100%);box-shadow:0 14px 30px rgba(0,0,0,.13)}
.a-paper::before{width:0}
.a-paper h1{font-size:clamp(80px,10.9vw,184px);letter-spacing:-.035em}
.a-tab{top:clamp(113px,16vh,195px);left:min(38vw,550px);height:17px;background:#b42b24;opacity:.95}
.a-side{bottom:clamp(72px,13vh,160px);right:clamp(40px,6.5vw,120px);width:min(365px,31vw)}
.a-side p{font:400 clamp(20px,1.8vw,26px)/1.43 'PT Sans',sans-serif;letter-spacing:0;text-wrap:pretty;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.arrival .btn{max-width:220px;min-height:60px;align-items:center;padding:17px 20px;border:1px solid rgba(34,24,19,.18);font-size:15px;letter-spacing:.13em;transition:background .2s,transform .2s}
.arrival .btn:hover{transform:translateY(-2px)}
.arrival .btn span:last-child{font-size:24px;line-height:1;font-weight:400}
/* На фотографии живут отдельные, не перерисованные текстовые слои */
.story-chapter{position:relative;background:#191a16;color:#f6eddb;isolation:isolate}
.chapter-image{position:sticky;top:0;height:100svh;overflow:hidden;z-index:0}
.chapter-image .photo{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.06) sepia(.1)}
.chapter-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,7,.68),rgba(8,9,7,.25) 54%,rgba(8,9,7,.03)),linear-gradient(0deg,rgba(8,9,7,.42),transparent 45%)}
.chapter-meta{position:absolute;top:clamp(28px,5vh,65px);left:clamp(24px,6vw,100px);right:clamp(24px,6vw,100px);display:flex;justify-content:space-between;gap:12px;font:12px/1.4 'IBM Plex Mono',monospace;letter-spacing:.16em;color:#f0e5d0;border-top:1px solid rgba(250,237,216,.5);padding-top:14px}
.story-flow{position:relative;z-index:2;margin-top:-100svh;pointer-events:none}
.chapter-intro{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:0 8vw 12vh;max-width:900px}
.chapter-number{font:12px 'IBM Plex Mono',monospace;letter-spacing:.2em;color:#edc5a0;margin-bottom:20px}
.chapter-intro h2{font:400 clamp(62px,9vw,138px)/.92 var(--disp);margin:0 0 24px;color:#f5ead4;text-shadow:0 2px 22px rgba(0,0,0,.2)}
.chapter-intro p{font:400 clamp(18px,1.7vw,23px)/1.55 'PT Sans',sans-serif;max-width:470px;margin:0}
.story-beat{min-height:77svh;display:flex;align-items:center;padding:15vh 9vw;}
.story-beat:nth-child(even){justify-content:flex-end;padding-right:11vw}
.beat-inner{width:min(600px,78vw);position:relative}
.beat-rule{display:block;width:56px;height:2px;background:#cc4132;margin-bottom:20px}
.beat-who{margin:0 0 14px;font:13px/1.3 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:#e4c2a7}
.beat-quote{margin:0;font:400 clamp(31px,4.4vw,67px)/1.15 'PT Sans',sans-serif;letter-spacing:-.035em;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.45)}
.beat-last{min-height:100svh;justify-content:center!important;align-items:flex-end;padding-bottom:24vh}
.beat-narration{font:italic 400 clamp(24px,3vw,42px)/1.4 'PT Sans',sans-serif;max-width:560px;margin:0}
.story-chapter .placeholder{background:#35362e;color:#eee4cf}
.story-chapter .placeholder span{font:13px/1.8 'IBM Plex Mono',monospace}
/* спокойный переход и более тщательная работа с набором */
.d-text{left:8vw;bottom:10vh;max-width:560px}.d-text p{font-size:clamp(20px,2vw,28px);line-height:1.5}
.p-text{right:8vw;bottom:17vh;max-width:560px;font-weight:400;font-size:clamp(24px,2.8vw,39px);line-height:1.36}
.transition{background:#e4d8bd}.t-day{box-shadow:none;transform:rotate(-.8deg)}.t-photo{box-shadow:8px 12px 0 rgba(49,40,29,.1)}
@media(max-width:700px){
.arrival .hud{font-size:10px}.arrival .hud::after{top:24px}
.a-paper{top:16svh;width:95vw;min-height:0;padding:20px 6vw 24px 8vw}
.a-paper h1{font-size:clamp(58px,17vw,105px)}.a-tab{top:calc(16svh - 10px);left:62vw}
.a-side{bottom:max(48px,calc(env(safe-area-inset-bottom) + 30px));left:7vw;right:7vw;width:86vw}
.a-side p{font-size:20px;max-width:340px}.arrival .btn{max-width:200px}
.chapter-meta{font-size:10px;left:6vw;right:6vw}
.chapter-intro{padding:0 7vw 15vh}.chapter-intro h2{font-size:clamp(56px,13vw,90px)}.chapter-intro p{font-size:18px}
.story-beat,.story-beat:nth-child(even){min-height:72svh;padding:14vh 7vw;justify-content:flex-start}
.beat-inner{width:100%}.beat-quote{font-size:clamp(30px,8vw,46px)}.beat-last{min-height:85svh;padding-bottom:20vh}
.story-chapter .chapter-shade{background:linear-gradient(0deg,rgba(7,8,6,.72),rgba(7,8,6,.22) 65%,rgba(7,8,6,.4))}
}
@media(prefers-reduced-motion:reduce){.arrival .btn:hover{transform:none}}

/* v4.1 — более цельный кинематографичный первый экран и живое чтение */
.arrival .hud,.arrival .hud::after,.chapter-meta{display:none!important}
.arrival .a-stage img{filter:saturate(.82) contrast(1.06) brightness(.86)}
.arrival .shade{background:linear-gradient(90deg,rgba(10,13,11,.52),rgba(10,13,11,.08) 60%,rgba(10,13,11,.12)),linear-gradient(0deg,rgba(12,13,9,.72),transparent 48%)}
.a-paper{top:clamp(110px,17vh,220px);width:min(53vw,790px);min-height:clamp(170px,29vh,360px);padding:3vw 4vw 3vw 6vw;transform:rotate(-1deg);background:#ede2c9;clip-path:polygon(0 1%,14% 0,32% 1%,53% 0,73% 1%,100% 0,99% 98%,79% 100%,56% 99%,30% 100%,0 99%);box-shadow:18px 22px 50px rgba(8,8,7,.15)}
.a-paper::before{display:none!important}
.a-paper h1{font-size:clamp(90px,10.7vw,195px);letter-spacing:-.025em;line-height:.95;color:#ae281f}
.a-tab{left:38vw;top:clamp(94px,15vh,202px);width:72px;height:24px;transform:rotate(4deg);background:#9c2b23}
.a-side{left:auto;right:clamp(38px,6vw,120px);top:auto;bottom:clamp(60px,12vh,150px);width:min(365px,34vw);padding:0}
.a-side p{font-size:clamp(21px,2vw,29px);font-weight:400;line-height:1.38;letter-spacing:-.02em;margin-bottom:26px;color:#fff7e9}
.arrival .btn{width:auto;min-width:185px;max-width:225px;min-height:59px;padding:16px 22px;background:#eee4cf;color:#281f1b;border:1px solid rgba(45,28,19,.15);font-size:14px;letter-spacing:.09em;transition:background .2s,transform .2s}
.arrival .btn:hover{background:#c53227;color:white;transform:translateY(-2px)}
.chapter-shade{background:linear-gradient(90deg,rgba(6,9,8,.65),rgba(6,9,8,.13) 70%),linear-gradient(0deg,rgba(6,9,8,.58),transparent 65%)}
.chapter-intro{padding-bottom:13vh}
.chapter-number{font:600 12px/1.5 'PT Sans',sans-serif;letter-spacing:.13em;color:#f2d8b8;margin-bottom:18px}
.chapter-intro h2{font-size:clamp(65px,9.5vw,150px);line-height:.93;letter-spacing:-.02em}
.story-beat{min-height:92svh;padding:15vh 9vw}
.story-beat:nth-child(even){padding-right:12vw}
.beat-inner{width:min(560px,75vw)}
.beat-rule{display:none!important}
.beat-who{font:700 14px/1.3 'PT Sans',sans-serif;letter-spacing:.03em;text-transform:none;color:#f0d6ba;margin-bottom:16px}
.beat-quote{font-size:clamp(32px,4.5vw,66px);font-weight:400;line-height:1.16;letter-spacing:-.025em}
.dialogue-break{display:block;height:clamp(24px,4vh,45px)}
.lineup .counselor{justify-content:flex-start;min-height:100svh;padding-left:11vw}
.lineup .counselor .beat-inner{width:min(690px,74vw)}
.lineup .child-left{justify-content:flex-end;min-height:85svh;padding-right:15vw}
.lineup .child-right{justify-content:flex-start;min-height:95svh;padding-left:18vw}
.dorm .dorm-beat-1{justify-content:flex-start;padding-left:10vw}
.dorm .dorm-beat-2{justify-content:flex-end;padding-right:12vw}
.dorm .dorm-beat-3{justify-content:flex-start;padding-left:18vw}
.dorm .dorm-beat-4{justify-content:flex-end;padding-right:17vw}
.dorm .dorm-closing{justify-content:center;align-items:flex-end;min-height:90svh;padding-bottom:20vh}
.reveal-on-scroll{opacity:0;transform:translateY(36px);filter:blur(3px);transition:opacity .85s ease,transform 1s cubic-bezier(.2,.65,.25,1),filter .9s ease}
.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0);filter:blur(0)}
@media(max-width:700px){
 .a-paper{top:16svh;width:94vw;min-height:0;padding:24px 6vw 25px 8vw;transform:rotate(-1deg)}
 .a-paper h1{font-size:clamp(64px,17vw,105px)}
 .a-tab{left:64vw;top:calc(16svh - 12px);width:58px;height:19px}
 .a-side{left:7vw;right:7vw;width:86vw;bottom:max(42px,calc(env(safe-area-inset-bottom) + 34px))}
 .a-side p{font-size:clamp(19px,5vw,24px);max-width:340px}
 .arrival .btn{min-height:56px}
 .story-beat,.story-beat:nth-child(even),.lineup .counselor,.lineup .child-left,.lineup .child-right,.dorm .dorm-beat-1,.dorm .dorm-beat-2,.dorm .dorm-beat-3,.dorm .dorm-beat-4{min-height:80svh;padding:16vh 8vw;justify-content:flex-start}
 .lineup .child-left,.dorm .dorm-beat-2,.dorm .dorm-beat-4{padding-left:18vw}
 .beat-inner,.lineup .counselor .beat-inner{width:100%}
 .beat-quote{font-size:clamp(30px,8vw,46px)}
 .chapter-intro{padding-left:8vw}
}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1;transform:none;filter:none;transition:none}}

/* v4.2 — восстановление утверждённого заголовка и шапки, единый скролл-ритм */
.arrival .hud,.chapter-meta{display:flex!important}
.arrival .hud::after{display:none!important}
.arrival .hud{z-index:9;top:clamp(25px,4vh,52px);left:clamp(26px,4vw,72px);right:clamp(26px,4vw,72px);font:700 clamp(12px,1.1vw,15px)/1.3 'PT Sans',sans-serif;letter-spacing:.11em;color:#fff8e9;text-shadow:0 2px 13px rgba(0,0,0,.85);justify-content:space-between;gap:18px}
.arrival .hud span{background:rgba(22,23,19,.33);padding:9px 13px;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(4px)}
.chapter-meta{z-index:5;top:clamp(24px,4vh,55px);font:700 13px/1.4 'PT Sans',sans-serif;letter-spacing:.11em;text-shadow:0 2px 10px #15130d;border:0;padding:0}
.chapter-meta span{background:rgba(20,20,16,.55);border:1px solid rgba(255,255,255,.16);padding:9px 13px;backdrop-filter:blur(4px)}
/* Бумага с мягким рваным нижним краем, как на исходном утверждённом референсе */
.a-paper{left:clamp(-12px,-1vw,0px);top:clamp(110px,14vh,170px);width:min(56vw,820px);min-height:0;height:auto;padding:clamp(25px,3.5vw,52px) clamp(30px,4vw,65px) clamp(35px,4vw,58px) clamp(50px,6vw,105px);display:block;transform:rotate(-2deg);background:#efe4cc;clip-path:polygon(0 5%,7% 2%,24% 3%,44% 0,65% 2%,85% 1%,100% 3%,99% 82%,88% 84%,76% 88%,63% 91%,51% 90%,39% 95%,27% 96%,13% 99%,0 97%);box-shadow:none}
.a-paper h1{font:400 clamp(100px,12.7vw,205px)/.88 var(--disp);letter-spacing:-.02em;color:#a52b22;white-space:nowrap;margin:0;transform:none}
.paper-subtitle{font:400 clamp(15px,1.45vw,21px)/1.3 'PT Sans',sans-serif;color:#29221c;letter-spacing:.015em;margin:18px 0 0 6px;transform:rotate(-1deg)}
.a-tab{top:clamp(100px,12.5vh,156px);left:min(40vw,585px);height:clamp(18px,2.5vw,30px);width:clamp(65px,6.4vw,100px);transform:rotate(4deg);background:#b72f25;z-index:7}
.a-side{top:clamp(220px,27vh,340px);bottom:auto;right:clamp(38px,6vw,120px);width:min(340px,28vw)}
.a-side p{font:400 clamp(20px,1.8vw,26px)/1.38 'PT Sans',sans-serif;max-width:340px;margin:0 0 27px;color:#fff8ed;text-shadow:0 2px 15px #16140f}
.arrival .btn{min-width:225px;justify-content:space-between;background:#efe4ce}
/* Текст проявляется строго по прогрессу прокрутки, как на сцене после обеда. */
.reveal-on-scroll{opacity:var(--reveal,0);transform:translateY(calc((1 - var(--reveal,0))*24px));filter:none;transition:none;will-change:opacity,transform}
@media(max-width:700px){
 .arrival .hud{font-size:10px;letter-spacing:.05em;top:22px;left:4vw;right:4vw;gap:6px}
 .arrival .hud span{padding:8px 7px}
 .chapter-meta{font-size:11px;left:5vw;right:5vw}
 .chapter-meta span{padding:8px 10px}
 .a-paper{left:-4vw;top:15svh;width:98vw;padding:26px 5vw 35px 10vw;transform:rotate(-2deg)}
 .a-paper h1{font-size:clamp(65px,16.4vw,110px)}
 .paper-subtitle{font-size:15px;margin-top:13px}
 .a-tab{top:calc(15svh - 9px);left:64vw;width:65px;height:19px}
 .a-side{left:7vw;right:7vw;top:auto;bottom:max(46px,calc(env(safe-area-inset-bottom) + 35px));width:86vw}
 .a-side p{font-size:20px;max-width:340px}
}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll{transform:none}}


/* v4.3 — обложка строго по утверждённому референсу */
.arrival-reference{height:100svh;min-height:0;overflow:hidden;background:#241e17}
.arrival-reference .reference-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.arrival-reference .reference-enter{position:absolute;left:61.3%;top:35%;width:19.1%;height:7.7%;border:0;background:#eee6d5;color:#29221c;display:flex;align-items:center;justify-content:space-evenly;font:700 clamp(12px,1.5vw,19px)/1 'PT Sans',sans-serif;letter-spacing:.21em;cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.08)}
.arrival-reference .reference-enter:hover{background:#fff4db}
.arrival-reference .reference-enter span:last-child{font:400 30px/1 'PT Sans',sans-serif;letter-spacing:0}
/* v4.4: обложка не меняется при наведении. Кнопка — прозрачная зона поверх нарисованной кнопки на референсе. */
.arrival-reference .reference-enter,
.arrival-reference .reference-enter:hover,
.arrival-reference .reference-enter:focus-visible,
.arrival-reference .reference-enter:active{
 background:transparent!important;box-shadow:none!important;border:0!important;
 color:transparent!important;transform:none!important;filter:none!important;
 outline-offset:3px;
}
.arrival-reference .reference-enter span{opacity:0!important}
.arrival-reference .reference-enter:focus-visible{outline:2px solid #f8edcf!important}
/* Появление реплик из старой версии: плавное проявление при прокрутке, без перехвата колеса. */
.story-chapter .reveal-on-scroll{opacity:0;transform:translateY(30px);filter:blur(2px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.65,.25,1),filter .8s ease}
.story-chapter .reveal-on-scroll.is-visible{opacity:1;transform:translateY(0);filter:blur(0)}
@media(prefers-reduced-motion:reduce){.story-chapter .reveal-on-scroll{transition:none;transform:none;filter:none}}

/* ===== v5 — единая сетка. Первый экран (.arrival) не затронут ===== */
:root{--gutter:clamp(20px,6vw,100px);--gap:clamp(12px,2vw,32px)}
.hud,.story-chapter .chapter-meta{left:var(--gutter);right:var(--gutter)}
.story-chapter .chapter-intro{padding:0 var(--gutter) 12vh;max-width:none;align-items:flex-start}
.story-chapter .chapter-intro-content{max-width:min(900px,100%)}
.story-chapter .story-beat{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:center;justify-content:normal;padding:15vh var(--gutter);min-height:92svh}
.story-chapter .story-beat .beat-inner{width:auto;max-width:620px;justify-self:start;grid-row:1}
.story-chapter .counselor .beat-inner{grid-column:1/6;max-width:700px}
.story-chapter .child-left .beat-inner{grid-column:8/13;justify-self:end}
.story-chapter .child-right .beat-inner{grid-column:2/7}
.story-chapter .dorm-beat-1 .beat-inner{grid-column:1/7}
.story-chapter .dorm-beat-2 .beat-inner{grid-column:7/13;justify-self:end}
.story-chapter .dorm-beat-3 .beat-inner{grid-column:2/8}
.story-chapter .dorm-beat-4 .beat-inner{grid-column:6/13;justify-self:end}
.story-chapter .dorm-closing .beat-inner{grid-column:4/10;justify-self:center;text-align:center}
/* на линейке текст держится в верхней части кадра — над соснами, не над лицами */
.story-chapter.lineup .story-beat{align-items:start;padding-top:16svh;min-height:95svh}
.d-text{left:var(--gutter);bottom:10vh;width:min(560px,calc(100% - 2*var(--gutter)))}
.p-text{right:var(--gutter);bottom:17vh;width:min(560px,calc(100% - 2*var(--gutter)))}
.transition{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:center;padding:0 var(--gutter)}
.transition .t-day{position:relative;left:auto;top:auto;grid-column:1/8;grid-row:1;justify-self:start}
.transition .t-photo{position:relative;right:auto;top:auto;bottom:auto;width:auto;max-width:520px;grid-column:8/13;grid-row:1;height:min(80svh,640px)}
@media(max-width:1199px){
.story-chapter .counselor .beat-inner{grid-column:1/8}
.story-chapter .child-left .beat-inner{grid-column:5/13}
.story-chapter .child-right .beat-inner{grid-column:2/9}
.story-chapter .dorm-beat-1 .beat-inner{grid-column:1/9}
.story-chapter .dorm-beat-2 .beat-inner{grid-column:5/13}
.story-chapter .dorm-beat-3 .beat-inner{grid-column:2/10}
.story-chapter .dorm-beat-4 .beat-inner{grid-column:4/13}
.story-chapter .dorm-closing .beat-inner{grid-column:3/11}
.transition .t-day{grid-column:1/7}.transition .t-photo{grid-column:7/13}}
@media(max-width:767px){
.photo{object-position:var(--mpos)}
.story-chapter .story-beat{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:12px;padding:14svh var(--gutter);min-height:80svh;align-items:center}
.story-chapter.lineup .story-beat{align-items:start;padding-top:15svh;min-height:85svh}
.story-chapter .story-beat .beat-inner{grid-column:1/-1;justify-self:start;max-width:none;width:100%}
.story-chapter .child-left .beat-inner,.story-chapter .dorm-beat-2 .beat-inner,.story-chapter .dorm-beat-4 .beat-inner{grid-column:2/-1}
.story-chapter .child-right .beat-inner,.story-chapter .dorm-beat-3 .beat-inner{grid-column:1/-2}
.story-chapter .dorm-closing .beat-inner{grid-column:1/-1}
.story-chapter .beat-quote{font-size:clamp(29px,7.6vw,46px)}
.story-chapter .chapter-intro{padding-bottom:15vh}
.d-text{bottom:12vh}.d-text p{font-size:18px}.p-text{left:var(--gutter);right:var(--gutter);width:auto;bottom:14vh}
.transition{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:center;row-gap:4svh}
.transition .t-day{grid-column:1;grid-row:1;padding:20px 24px}.transition .t-photo{grid-column:1;grid-row:2;max-width:none;height:40svh}}


/* ===== v5.1 — единая архивная цветокоррекция и более живые реплики ===== */
/* Первый экран намеренно не затрагиваем. Все последующие фотографии сводим к одной тёплой плёночной палитре. */
.story-chapter .chapter-image .photo,
#dining .photo,
#play .photo,
#day2 .photo,
.scene:not(.arrival) .photo,
.sticky .photo,
.t-photo .photo{
  filter: sepia(.19) saturate(.72) contrast(1.045) brightness(.94) !important;
  transition: filter .8s ease;
}
.story-chapter .chapter-image::after,
#dining .table::after,
#play .sticky::before,
#day2 .t-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(177,126,75,.10),transparent 48%,rgba(49,35,24,.08));
  mix-blend-mode:soft-light;
}
.story-chapter .chapter-shade{z-index:1}
.story-chapter .chapter-meta{
  border:0!important;
  padding:0!important;
  display:flex;
  align-items:center;
  gap:clamp(18px,3vw,42px);
  text-shadow:0 2px 12px rgba(0,0,0,.82),0 1px 2px rgba(0,0,0,.7);
  background:none!important;
}
.story-chapter .chapter-meta span{
  padding:0!important;
  border:0!important;
  background:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
  color:#fff2dc;
}
.story-chapter .chapter-meta span:first-child{
  font:500 12px/1.4 'IBM Plex Mono',monospace;
  letter-spacing:.15em;
  color:#f3d2ac;
}
.story-chapter .chapter-meta span:last-child{
  font:700 12px/1.4 'PT Sans',sans-serif;
  letter-spacing:.13em;
}
.story-chapter .chapter-meta span:last-child::before{
  content:"";
  display:inline-block;
  width:6px;height:6px;
  margin:0 10px 1px 0;
  border-radius:50%;
  background:#b63a2b;
  box-shadow:0 0 10px rgba(182,58,43,.35);
}
.story-chapter .beat-inner{
  position:relative;
  max-width:100%;
}
.story-chapter .beat-who{
  display:flex;
  align-items:center;
  gap:10px;
  width:fit-content;
  margin:0 0 12px;
  padding:0;
  background:none;
  border:0;
  color:#f0c8a3;
  font:700 13px/1.4 'PT Sans',sans-serif;
  letter-spacing:.055em;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,0,0,.8);
}
.story-chapter .beat-who::before{
  content:"";
  display:inline-block;
  width:18px;height:2px;
  background:#b63a2b;
  flex:0 0 auto;
}
.story-chapter .beat-quote{
  position:relative;
  text-wrap:pretty;
  text-shadow:0 2px 20px rgba(0,0,0,.78),0 1px 3px rgba(0,0,0,.65);
}
.story-chapter .beat-quote::before{
  content:"“";
  position:absolute;
  left:-.34em;
  top:-.22em;
  color:rgba(194,66,49,.92);
  font:700 .92em/.8 Georgia,serif;
  opacity:.95;
  pointer-events:none;
}
.story-chapter .reveal-on-scroll .beat-who{
  opacity:0;
  transform:translateY(7px);
  transition:opacity .45s ease,transform .5s ease;
}
.story-chapter .reveal-on-scroll .beat-quote{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .65s ease .12s,transform .7s cubic-bezier(.2,.65,.25,1) .12s;
}
.story-chapter .reveal-on-scroll.is-visible .beat-who,
.story-chapter .reveal-on-scroll.is-visible .beat-quote{
  opacity:1;
  transform:translateY(0);
}
.story-chapter .beat-last .beat-narration{
  text-shadow:0 2px 20px rgba(0,0,0,.78);
}
@media(max-width:767px){
  .story-chapter .chapter-meta{top:22px;left:var(--gutter);right:var(--gutter);gap:12px}
  .story-chapter .chapter-meta span:first-child{font-size:11px;letter-spacing:.1em}
  .story-chapter .chapter-meta span:last-child{font-size:11px;letter-spacing:.08em}
  .story-chapter .chapter-meta span:last-child::before{width:5px;height:5px;margin-right:6px}
  .story-chapter .beat-who{font-size:12px;margin-bottom:9px}
  .story-chapter .beat-quote::before{left:-.22em;top:-.18em}
}
@media(prefers-reduced-motion:reduce){
  .story-chapter .reveal-on-scroll .beat-who,
  .story-chapter .reveal-on-scroll .beat-quote{opacity:1;transform:none;transition:none}
}


