/* EIT people special issue. A stage programme: bold recognition, intimate memories. */
:root{--paper:#f6f4ef;--ink:#202e3b;--green:#3b5265;--muted:#566371;--line:#b8bdc1;--pencil:#856749;--lime:#ddc9a4;--night:#202e3b}
body{background:var(--paper)}
.masthead{height:56px;background:var(--paper);color:var(--ink);border:0;padding:0 4vw}
.masthead small{color:var(--green)}
.slide{min-height:calc(100dvh - 56px);padding:25px 4vw 98px;animation:none;overflow:hidden}
.slide:before,.slide.chapter .chapter-body:after,.person-name:after{display:none}
.slide.dark{background:var(--night);color:var(--paper)}
.page-meta{font-size:12px;margin-bottom:26px;padding-bottom:14px;border-bottom:1px solid currentColor;opacity:.8}
.page-meta>span:last-child{color:inherit}.page-bottom{font-size:11px;margin-top:22px}
.dark .page-bottom{color:#cbd3db}.dark .page-meta{color:#d1d8df;border-color:#6a7783}
.controls{min-height:54px;padding:8px 3vw;background:var(--paper);border-color:var(--line)}
.controls button{border-color:transparent;font-size:12px;padding:8px 12px}.controls #next-button{background:var(--night);color:var(--paper)}
.festival-cover{display:flex;flex-direction:column;flex:1;justify-content:space-between;gap:24px}
.cover-word{font-family:Georgia,serif;font-weight:900;font-size:clamp(100px,18vw,260px);letter-spacing:-.065em;line-height:.8;color:var(--ink);width:100%;border-bottom:12px solid var(--lime);padding-bottom:22px}
.cover-main{display:flex;justify-content:space-between;align-items:end;gap:35px}
.slide .cover-main h1{font-size:clamp(42px,5.6vw,82px);line-height:1.16;font-weight:600;letter-spacing:-.025em}
.cover-main h1 em{font-style:normal;color:var(--green)}
.cover-caption{padding-bottom:5px;font-size:18px;min-width:275px}.cover-caption p+p{font-size:14px;margin-top:8px}.cover-caption .hand-note{font-size:23px;margin-top:18px}
.cover-navigation{display:flex;gap:32px;border-top:1px solid var(--ink);padding-top:14px}
.cover-navigation .toc-row{border:0;padding:6px 0;display:flex;gap:16px;width:auto;flex:1}
.cover-navigation .toc-row>span:first-child{display:none}.cover-navigation .toc-row strong{font:22px var(--sans)}.cover-navigation .toc-row>span:last-child{font-size:12px}
.cover-navigation .toc-row:hover{background:transparent;color:var(--green);text-decoration:underline}
.slide.chapter .chapter-body{position:relative;align-items:flex-start;justify-content:center;gap:28px}
.slide.chapter .chapter-body h1{font-family:var(--serif);font-weight:600;font-size:clamp(70px,10vw,144px);letter-spacing:-.035em;line-height:1.15;width:auto}
.slide.chapter .chapter-body h1 .pen-line{display:none}
.slide.chapter .chapter-body>p{margin-top:0;font-size:clamp(23px,2.4vw,35px);max-width:30em}
.slide[data-chapter="同行岁月"].chapter{background:#344b5e;color:#f6f4ef}.slide[data-chapter="同行岁月"] .page-meta,.slide[data-chapter="同行岁月"].dark .page-bottom{color:inherit}
.slide[data-chapter="新声登场"].chapter{background:#edf1ef;color:var(--ink)}
.slide[data-chapter="新声登场"].chapter .page-meta,.slide[data-chapter="新声登场"].chapter .page-bottom{color:var(--ink)}
.award-spread{grid-template-columns:1fr 1fr;gap:9vw}.slide .award-name{font-family:var(--serif);font-size:clamp(40px,5vw,72px);line-height:1.3}
.award-name .suffix{font-family:var(--sans);font-size:.28em;letter-spacing:.14em;margin-top:25px}
.award-spread .value{font-size:18px;margin-top:30px}.award-spread .value span{background:var(--lime);padding:4px 14px;border:0}
.award-definition{border-top:1px solid var(--ink);padding-top:24px}.award-definition h2{font-family:var(--sans);font-size:15px;color:var(--green)}.award-definition p{font-size:clamp(22px,2vw,28px);line-height:1.85}
.slide[data-page-type="nominees"]{background:#f0f2f2}
.nomination-header{align-items:end;gap:25px}.slide .nominee-heading{font-family:var(--serif);font-size:clamp(34px,4.1vw,60px)!important;line-height:1.25}.nominee-heading em{font-style:normal;color:#3b5265}
.nomination-header p{font-size:17px;color:var(--ink);max-width:14em;text-align:right}
.nominees{margin:28px 0 10px;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:5vw;align-content:center}
.nominees .name{font-size:clamp(34px,4.4vw,64px);font-family:var(--sans);font-weight:500;border-color:#b8bdc1;padding:22px 0;letter-spacing:-.035em}
.nominees.team .name{font-size:clamp(19px,2vw,29px);letter-spacing:0;font-weight:500;line-height:1.4}
.reveal-body{justify-content:center;align-items:center;text-align:center;gap:50px}.reveal-body .award-name{color:var(--lime);max-width:15em}
.reveal-fold{border:0;display:flex;flex-direction:column;gap:24px;padding:0;width:100%}.reveal-fold>span{font:24px var(--serif)}
.reveal-fold button{font-size:15px;padding:14px 28px;background:var(--lime);border-color:var(--lime)}
.slide[data-page-type="winner"]{background:var(--night);color:var(--paper)}
.slide[data-page-type="winner"] .page-meta,.slide[data-page-type="winner"] .page-bottom{color:#cbd3db;border-color:#6a7783}
.winner-spread{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:38px}
.winner-identity{border:0;padding:0;display:grid;grid-template-columns:1.2fr 1fr;gap:8px 40px;align-items:end}
.winner-spread .winner-name{font-family:var(--serif);font-size:clamp(70px,8.5vw,122px)!important;line-height:1.08;color:var(--lime);grid-row:span 2;letter-spacing:.01em}
.winner-award{font-size:20px;color:var(--paper);margin:0;align-self:end}.co-winners{font-size:18px;color:#cbd3db;margin:0}
.winner-story{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;border-top:1px solid #6a7783;padding:26px 0 0}
.slide .winner-story .story-headline{font-family:var(--serif);font-size:clamp(28px,3.1vw,44px);font-weight:500;line-height:1.5;max-width:13em}
.winner-story>.pen-line{display:none}.story-copy{font-size:clamp(19px,1.55vw,23px);line-height:1.8}.story-copy p+p{margin-top:16px}
.team-story .winner-name{font-size:clamp(36px,4.6vw,65px)!important;grid-row:span 2}.team-story .winner-name>span{display:inline}.team-story .team-members{grid-column:2;font-size:20px;margin:5px 0 0;gap:4px 20px;line-height:1.6}
.slide[data-page-type="tenure"]{background:#eeece6}.years{font-family:Georgia,serif;font-style:italic;color:#344b5e;font-size:clamp(110px,18vw,250px)}
.tenure-list{font-family:var(--sans);font-size:clamp(23px,2.3vw,33px)}
.slide[data-page-type="person"]{background:#f6f2eb}.service-spread{grid-template-columns:.75fr 1.25fr;gap:7vw}
.person-name{font-family:var(--serif);font-size:clamp(44px,5.3vw,76px)!important}.service-years{margin-top:22px;font-size:20px;color:#705c46}.service-years strong{font:italic 90px Georgia,serif;display:block;line-height:1.1;margin-bottom:6px}
.person-message:before{color:#344b5e}.quote{font-size:clamp(24px,2.5vw,36px)}.quote.long{font-size:clamp(21px,1.9vw,28px)}
.person-with-photo{grid-template-columns:1.25fr .75fr;gap:5vw}.person-with-photo .service-years{font-size:17px;margin-top:12px}.person-with-photo .service-years strong{display:inline;font-size:36px;margin-right:8px}
.person-with-photo .photo-pair{margin-top:24px;margin-bottom:0}.photo-pair{gap:16px}.photo-pair:has(figure:only-child){grid-template-columns:1fr}.photo-pair .portrait{background:#e9e3d9;height:34vh}.photo-pair figcaption{font-size:14px;color:#705c46}
.reader{max-width:1120px}.reader .reader-cover{border-bottom:5px solid var(--green)}
@keyframes name-onstage{from{clip-path:inset(0 0 100% 0);transform:translateY(18px)}to{clip-path:inset(0);transform:translateY(0)}}
@keyframes story-onstage{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.festival-reveal .winner-identity{animation:name-onstage .65s cubic-bezier(.16,1,.3,1)}
.festival-reveal .winner-story{animation:story-onstage .55s .45s both cubic-bezier(.16,1,.3,1)}
body.static .festival-reveal *{animation:none}
@media(prefers-reduced-motion:reduce){.festival-reveal *{animation:none!important}}
@media(min-width:801px) and (max-height:760px){.slide{padding-top:18px;padding-bottom:80px}.page-meta{margin-bottom:18px}.cover-word{font-size:17vw;padding-bottom:12px;border-bottom-width:8px}.cover-main h1{font-size:52px!important}.festival-cover{gap:16px}.cover-caption .hand-note{margin-top:10px;font-size:21px}.cover-navigation{padding-top:8px}.winner-spread{gap:26px}.winner-spread .winner-name{font-size:82px!important}.team-story .winner-name{font-size:46px!important}.winner-story{padding-top:20px}.story-copy{font-size:19px}.nominees .name{font-size:44px;padding:18px 0}.nominees.team .name{font-size:21px}.slide .nominee-heading{font-size:40px!important}.quote.long{font-size:21px}}
@media(max-width:800px){.masthead{height:56px}.slide{padding:22px 6vw 135px}.cover-word{font-size:19vw;padding-bottom:12px;border-bottom-width:7px}.cover-main{display:block}.slide .cover-main h1{font-size:48px;line-height:1.2;margin:22px 0}.cover-caption{min-width:0;font-size:18px}.cover-caption .hand-note{font-size:21px}.cover-navigation{display:block;padding-top:10px}.cover-navigation .toc-row{padding:13px 0;width:100%;border-bottom:1px solid var(--line)}.cover-navigation .toc-row>span:last-child{display:block;margin-left:auto}.festival-cover{gap:14px}.award-spread,.service-spread,.person-with-photo{grid-template-columns:1fr;gap:30px}.slide .award-name{font-size:42px}.award-name .suffix{font-size:19px;letter-spacing:0}.nomination-header{display:block}.nomination-header p{text-align:left;max-width:none;font-size:15px}.slide .nominee-heading{font-size:34px!important}.nominees{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.nominees .name{font-size:30px;padding:22px 0;letter-spacing:0}.nominees.team{grid-template-columns:1fr}.nominees.team .name{font-size:21px}.winner-spread{gap:28px}.winner-identity{display:block}.winner-spread .winner-name{font-size:66px!important}.winner-award{font-size:17px;margin-top:22px}.co-winners{margin-top:12px;font-size:16px}.winner-story{display:block;padding-top:22px}.slide .winner-story .story-headline{font-size:29px;max-width:none;margin-bottom:24px}.story-copy{font-size:20px}.team-story .winner-name{font-size:40px!important}.team-story .team-members{font-size:17px;margin-top:20px;gap:10px 16px}.service-years strong{display:inline;font-size:52px;margin-right:10px}.person-message{padding-top:0}.slide.chapter .chapter-body h1{font-size:65px}.slide.chapter .chapter-body>p{font-size:25px}.photo-pair .portrait{height:32vh}.controls{min-height:88px}.controls button{padding:7px 9px}}
.nominee-heading .suffix{display:block;font:18px var(--sans);letter-spacing:.12em;margin-top:16px}
.illustrated-award{display:grid;grid-template-columns:.9fr 1.1fr;gap:4vw;flex:1;align-items:center}
.illustrated-copy{min-width:0}.illustrated-copy .award-definition{margin-top:26px;padding-top:22px;border-color:var(--line)}
.illustrated-copy .award-definition p{font-size:clamp(20px,1.6vw,24px);line-height:1.9}
.award-illustration{margin:0;min-width:0}.award-illustration img{width:100%;height:auto;max-height:53vh;object-fit:contain;display:block}
.award-illustration figcaption{text-align:right;font-size:11px;color:var(--muted);margin-top:8px}
@media(max-width:800px){.illustrated-award{grid-template-columns:1fr;gap:25px}.illustrated-copy .award-definition p{font-size:20px}.award-illustration img{max-height:40vh}.illustrated-copy .award-definition{margin-top:22px}}
.award-art{display:block;width:240px;height:140px;margin-top:26px;color:#456b7a;overflow:visible}
.award-art path,.award-art rect,.award-art circle{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.award-art .art-pencil{stroke:#94744d;stroke-width:1.5}
.award-art .art-motion path,.award-art .art-arrow{stroke-width:2.5}
.art-execution{color:#856442}
.award-art-margin{position:absolute;top:123px;right:6vw;pointer-events:none}
.award-art-margin .award-art{width:170px;height:100px;margin:0}
.slide[data-page-type="nominees"] .award-art-margin{right:22vw;top:123px}
.slide[data-page-type="winner"] .award-art-margin,.slide[data-page-type="reveal"] .award-art-margin{top:117px}
.slide[data-page-type="winner"] .award-art,.slide[data-page-type="reveal"] .award-art{color:#ddc9a4}
.slide[data-page-type="winner"] .award-art .art-pencil,.slide[data-page-type="reveal"] .award-art .art-pencil{stroke:#bccbd6}
@keyframes award-route{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.art-motion path{stroke-dasharray:1;stroke-dashoffset:0;animation:award-route 1.1s cubic-bezier(.16,1,.3,1)}
.art-execution .art-motion path{animation-duration:.8s}
body.static .art-motion path{animation:none}
@media(prefers-reduced-motion:reduce){.art-motion path{animation:none!important}}
@media(min-width:801px) and (max-height:760px){.award-art{width:195px;height:114px;margin-top:18px}.award-art-margin .award-art{width:130px;height:76px}.award-art-margin,.slide[data-page-type="nominees"] .award-art-margin{top:112px}.slide[data-page-type="winner"] .award-art-margin,.slide[data-page-type="reveal"] .award-art-margin{top:96px}}
@media(max-width:800px){.award-art{width:200px;height:117px;margin-top:24px}.award-art-margin{top:142px;right:5vw}.award-art-margin .award-art{width:80px;height:47px}.slide[data-page-type="nominees"] .award-art-margin{top:200px;right:7vw}.slide[data-page-type="winner"] .award-art-margin,.slide[data-page-type="reveal"] .award-art-margin{top:140px;right:5vw}.slide[data-page-type="winner"][data-award="execution"] .winner-name{max-width:75%}}

/* Projection palette and editorial penwork. Decorations stay outside reading areas. */
.editorial-mark{position:absolute;right:7vw;top:140px;width:82px;height:78px;color:#94744d;pointer-events:none;transform:rotate(-9deg)}
.editorial-mark path{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mark-cover{top:170px;right:6vw;width:110px;height:105px;transform:rotate(12deg)}
.mark-nominees{top:144px;right:21vw;width:68px;height:64px}
.mark-winner,.mark-reveal{color:#ddc9a4;right:7vw;top:132px;width:86px;height:80px;transform:rotate(8deg)}
.mark-chapter{top:165px;right:13vw;width:135px;height:130px;color:#ddc9a4}
.slide[data-chapter="新声登场"] .mark-chapter{color:#94744d}
.mark-person,.mark-tenure{top:128px;right:6vw;width:85px;height:80px}
.cover-word{position:relative;border-bottom:0}
.cover-word:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:12px;border-bottom:2px solid #9b805c;border-radius:0 0 48% 30%;transform:rotate(-.4deg)}
.slide.chapter .chapter-body h1 .pen-line{display:block;color:#ddc9a4;width:180px;bottom:-18px;height:14px}
.slide[data-chapter="新声登场"] .chapter-body h1 .pen-line{color:#94744d}
.slide.chapter .chapter-body{gap:42px}
.photo-pair figure{position:relative;padding:8px;background:#fcfaf6;border:1px solid #c6bba8;transform:rotate(-1deg)}
.photo-pair figure:nth-child(2){transform:rotate(1deg)}
.photo-pair figure:before{content:'';position:absolute;top:-5px;left:-5px;width:22px;height:22px;border-top:2px solid #94744d;border-left:2px solid #94744d;transform:rotate(-4deg);pointer-events:none}
.photo-pair figcaption{font-family:var(--hand);font-size:17px;margin-top:10px}
.person-message:before{font-family:var(--hand);color:#94744d;transform:rotate(-8deg);transform-origin:left center}
@media(max-width:800px){.editorial-mark{width:45px;height:44px;right:6vw;top:140px}.mark-cover{top:245px;right:7vw;width:55px;height:54px}.mark-nominees{top:195px;right:7vw;width:42px;height:40px}.mark-winner{top:130px;right:7vw;width:40px;height:39px}.mark-chapter{top:130px;right:8vw;width:70px;height:68px}.mark-person,.mark-tenure{top:142px;right:8vw;width:42px;height:40px}.photo-pair{gap:14px}.photo-pair figure{padding:5px}.photo-pair figcaption{font-size:15px}}
@media(min-width:801px) and (max-height:760px){.mark-cover{top:130px;width:85px;height:82px}.mark-nominees{top:130px;width:56px;height:54px}.mark-winner,.mark-reveal{top:108px;width:60px;height:58px}.mark-person,.mark-tenure{top:100px;width:56px;height:54px}}
/* v13: years become small illustrated stories; names remain the foreground. */
.tenure-spread,.welcome-spread{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:center;flex:1;min-width:0}
.tenure-copy{min-width:0}.tenure-heading{display:flex;align-items:baseline;gap:22px}.tenure-heading .years{font-size:clamp(100px,11vw,154px);line-height:1.05;margin:0;white-space:nowrap}.tenure-heading .years small{font:24px var(--sans);margin-left:10px}.tenure-heading>span{font-size:20px;white-space:nowrap}
.slide .time-caption{font:clamp(22px,2vw,29px)/1.5 var(--serif);margin:20px 0 26px;color:#705c46}
.tenure-spread .tenure-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px;font:clamp(23px,2vw,29px)/1.4 var(--sans);border-top:1px solid var(--line);padding-top:22px}.tenure-list>span{white-space:nowrap}
.time-illustration{margin:0;min-width:0}.time-illustration img{display:block;object-fit:contain;width:100%;height:46vh;max-height:440px}
.slide[data-page-type="newcomers"]{background:var(--paper);color:var(--ink)}.slide .welcome-spread h1{font:clamp(38px,4.4vw,64px)/1.3 var(--serif)}.welcome-note{font:clamp(23px,2vw,29px)/1.6 var(--serif);color:#705c46;margin-top:28px}.welcome-pending{margin-top:34px;font-size:16px}
@media(min-width:801px) and (max-height:760px){.tenure-heading .years{font-size:100px}.slide .time-caption{margin:12px 0 18px;font-size:24px}.tenure-spread .tenure-list{gap:10px 18px;padding-top:16px;font-size:24px}.time-illustration img{height:43vh}}
@media(max-width:800px){.tenure-spread,.welcome-spread{grid-template-columns:1fr;gap:28px}.tenure-heading .years{font-size:104px}.tenure-heading{gap:16px}.tenure-heading>span{font-size:18px}.slide .time-caption{font-size:23px}.tenure-spread .tenure-list{font-size:22px;gap:14px 12px}.time-illustration img{height:32vh}.welcome-spread{padding-top:35px}.slide .welcome-spread h1{font-size:39px}}
.slide.chapter .welcome-spread .welcome-pending{font:16px/1.6 var(--sans);margin-top:34px;color:var(--muted)}
/* Supplied photographs stay uncropped, including landscape and group shots. */
.photo-pair .portrait,.slide[data-page-type="person"]>.spread>div>.portrait{object-fit:contain;object-position:center;image-orientation:from-image}
.person-with-photo{grid-template-columns:1fr 1fr;gap:4vw}.person-message .quote{white-space:pre-line}.person-message .quote.extra-long{font-size:clamp(18px,1.4vw,21px);line-height:1.65}
@media(min-width:801px) and (max-height:760px){.person-with-photo .person-name{font-size:45px!important}.person-with-photo .photo-pair{margin-top:16px}.person-with-photo .photo-pair .portrait{height:30vh}.person-message .quote.long{font-size:19px;line-height:1.65}.person-message .quote.extra-long{font-size:18px;line-height:1.55}}
@media(max-width:800px){.person-with-photo{grid-template-columns:1fr}.person-message .quote.extra-long{font-size:20px;line-height:1.75}}
/* v17: dedicate the full column height to photographs. */
.service-portrait-spread{display:grid;grid-template-columns:1.12fr 1fr;gap:5vw;align-items:center;flex:1;min-width:0}
.service-gallery,.service-profile{min-width:0}.service-gallery .photo-pair{margin:0;align-items:center;gap:20px}
.service-gallery .photo-pair figure{width:fit-content;max-width:100%;margin:0 auto;padding:6px;background:transparent;border:0;transform:none}
.service-gallery .photo-pair figure:before{display:none}
.service-gallery .photo-pair .portrait{display:block;width:auto;max-width:100%;height:55vh;margin:0 auto;background:transparent;object-fit:contain}
.service-gallery .photo-pair figcaption{text-align:center;margin-top:10px;font-size:16px}
.service-profile .person-name{font-size:clamp(42px,4.5vw,64px)!important}.service-profile .service-years{margin-top:12px;font-size:18px}.service-profile .service-years strong{display:inline;font-size:36px;margin-right:8px}
.service-profile .person-message{padding:24px 0 0}.service-profile .person-message:before{height:36px;font-size:56px}
.service-profile .quote{font-size:clamp(23px,2vw,29px);line-height:1.75}.service-profile .quote.long{font-size:clamp(20px,1.65vw,24px)}.service-profile .quote.extra-long{font-size:clamp(18px,1.4vw,21px);line-height:1.65}
.layout-stacked .photo-pair{grid-template-columns:1fr;gap:16px}.layout-stacked .photo-pair .portrait{height:25vh;max-width:100%}.layout-stacked .photo-pair figcaption{margin-top:4px;font-size:14px}
@media(min-width:801px) and (max-height:760px){.service-gallery .photo-pair .portrait{height:53vh}.layout-stacked .photo-pair .portrait{height:23vh}.service-profile .person-name{font-size:42px!important}.service-profile .service-years{margin-top:8px}.service-profile .person-message{padding-top:16px}.service-profile .quote.long{font-size:19px;line-height:1.6}.service-profile .quote.extra-long{font-size:18px;line-height:1.5}}
@media(max-width:800px){.service-portrait-spread{grid-template-columns:1fr;gap:28px}.service-gallery .photo-pair .portrait{height:48vh}.service-gallery .photo-pair{gap:12px}.layout-stacked .photo-pair .portrait{height:auto;max-height:40vh}.service-profile .quote.extra-long{font-size:20px;line-height:1.75}}
.layout-paired .photo-pair .portrait{width:100%;height:auto;max-height:55vh}@media(max-width:800px){.layout-paired .photo-pair .portrait{max-height:48vh}}
/* v18: a quiet magazine cover, with one edition line and one date. */
body:has(.slide[data-page-type="cover"]) .masthead{visibility:hidden}
.slide[data-page-type="cover"] .page-meta{display:none}
.slide[data-page-type="cover"] .festival-cover{justify-content:center;gap:40px}
.slide[data-page-type="cover"] .cover-main{display:block}
.cover-edition{font:16px/1.6 var(--sans);color:var(--muted);letter-spacing:.025em}
.slide[data-page-type="cover"] .mark-cover{top:90px;right:6vw}
@media(min-width:801px) and (max-height:760px){.slide[data-page-type="cover"] .festival-cover{gap:28px}.slide[data-page-type="cover"] .mark-cover{top:65px}.slide[data-page-type="cover"] .cover-main h1{margin:0}}
@media(max-width:800px){.slide[data-page-type="cover"] .festival-cover{gap:32px}.slide[data-page-type="cover"] .cover-main h1{margin:0}.cover-edition{font-size:14px}.slide[data-page-type="cover"] .mark-cover{top:70px}}
/* New colleagues: portraits and personal voices from their supplied decks. */
.newcomer-spread{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:center;flex:1;min-width:0}.newcomer-photo{margin:0;min-width:0}.newcomer-photo .portrait{display:block;object-fit:contain;width:100%;height:55vh;max-height:520px;background:transparent}.newcomer-profile{min-width:0}.slide .newcomer-profile h1{font:clamp(42px,4vw,60px)/1.2 var(--serif)}.newcomer-profile h1>span{display:inline-block;margin-left:20px;font:20px var(--sans);color:var(--muted)}.newcomer-role{font-size:22px;margin-top:16px}.newcomer-meta{font-size:16px;line-height:1.6;margin-top:12px;color:var(--muted)}.newcomer-story{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font:clamp(19px,1.5vw,22px)/1.8 var(--sans)}.newcomer-story p+p{margin-top:14px}.slide.chapter .welcome-names{font:24px/1.6 var(--sans);margin-top:32px}.reader .people-entry h4{font-size:19px;margin:24px 0 8px}
@media(min-width:801px) and (max-height:760px){.newcomer-spread{gap:5vw}.slide .newcomer-profile h1{font-size:42px}.newcomer-role{font-size:20px;margin-top:12px}.newcomer-meta{font-size:15px;margin-top:8px}.newcomer-story{font-size:18px;line-height:1.65;margin-top:16px;padding-top:16px}.newcomer-story p+p{margin-top:10px}}
@media(max-width:800px){.newcomer-spread{grid-template-columns:1fr;gap:28px}.newcomer-photo .portrait{height:45vh}.newcomer-profile h1>span{display:block;margin:12px 0 0}.newcomer-story{font-size:20px}.slide.chapter .welcome-names{font-size:22px}}
/* Small personal hobby illustrations, secondary to portraits and introductions. */
.newcomer-heading{position:relative;padding-right:156px;min-height:140px}.newcomer-doodle{position:absolute;right:0;top:0;width:144px;height:140px;object-fit:contain;pointer-events:none}.newcomer-photo{transform:rotate(-.65deg)}.newcomer-photo .portrait{filter:drop-shadow(3px 5px 2px #202e3b12)}
@media(min-width:801px) and (max-height:760px){.newcomer-heading{padding-right:140px;min-height:132px}.newcomer-doodle{width:130px;height:128px}.newcomer-profile h1>span{font-size:18px;margin-left:14px}}
@media(max-width:800px){.newcomer-heading{padding-right:94px;min-height:130px}.newcomer-doodle{width:90px;height:100px}.newcomer-profile h1>span{margin-left:0}.newcomer-role{font-size:20px}}
/* v21: slightly larger personal doodles. */
.newcomer-heading{padding-right:184px}.newcomer-doodle{width:176px;height:168px;top:-12px}
@media(min-width:801px) and (max-height:760px){.newcomer-heading{padding-right:168px}.newcomer-doodle{width:160px;height:154px;top:-10px}}
@media(max-width:800px){.newcomer-heading{padding-right:112px}.newcomer-doodle{width:108px;height:120px;top:0}}
