:root{--ink:#0b1727;--gold:#d6b674;--paper:#f3f0e8;--muted:#9da8b7}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 25%,#23354b 0,#0b1727 65%);color:var(--paper);font:16px/1.5 Arial,sans-serif;min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:1px solid #ffffff26;background:transparent;cursor:pointer;padding:10px 17px;border-radius:2px;transition:background .2s}button:hover{background:#ffffff12}button:disabled{opacity:.28;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}header{max-width:1500px;margin:auto;padding:23px 4vw;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font:24px Georgia,serif;color:var(--gold);text-decoration:none;letter-spacing:.13em}.brand span{display:inline-block;font:12px Arial,sans-serif;border-left:1px solid #ffffff40;margin-left:12px;padding-left:14px;letter-spacing:.22em}.edition{font-size:12px;letter-spacing:.23em;color:#c7cfdb}header button{font-size:14px}main{width:min(1360px,92vw);margin:10px auto 0}.book-wrap{perspective:2300px;padding:5px 0 12px}.book{position:relative;background:var(--paper);color:var(--ink);height:clamp(440px,65vh,820px);box-shadow:0 35px 65px #0007,3px 5px 0 #b9b6ad,6px 8px 0 #e6e0d3,9px 11px 0 #a8a69e;transform-style:preserve-3d}#page{height:100%;transform-origin:left center;backface-visibility:hidden;background:var(--paper)}.binding{position:absolute;left:0;top:0;bottom:0;width:13px;pointer-events:none;background:linear-gradient(90deg,#0003,transparent)}.cover{height:100%;display:grid;grid-template-columns:44% 56%;background:#11233b;color:var(--paper)}.cover-copy{padding:clamp(26px,4.5vw,70px);display:flex;flex-direction:column;justify-content:center;position:relative;border:1px solid #d6b67466;margin:22px}.eyebrow{font-size:12px;letter-spacing:.22em;color:var(--gold);font-weight:normal}.cover h1{font:clamp(40px,4.8vw,76px)/1.02 Georgia,serif;letter-spacing:-.04em;margin:28px 0}.cover h1 em{font-weight:normal;color:var(--gold)}.cover p{font-size:15px;color:#c1cbd8;max-width:26ch}.cover .rule{width:55px;height:1px;background:var(--gold);margin:10px 0 22px}.cover .year{margin-top:25px;font:14px Georgia,serif;letter-spacing:.3em;color:var(--gold)}.cover-photo{position:relative;overflow:hidden}.cover-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.cover-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#11233b55,transparent 60%),linear-gradient(0deg,#0006,transparent 35%)}.cover-photo span{position:absolute;bottom:25px;left:30px;z-index:1;font-size:12px;letter-spacing:.2em;color:white}.spread{height:100%;display:grid;grid-template-columns:25% 75%}.caption{padding:clamp(22px,3vw,46px);display:flex;flex-direction:column;position:relative;border-right:1px solid #15263c18}.caption .eyebrow{color:#80622c;line-height:1.8}.caption .chapter-number{font:clamp(55px,6vw,90px) Georgia,serif;color:#12243a14;margin-top:14px}.caption h2{font:clamp(25px,2.6vw,40px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:auto 0 18px}.caption p{font-size:14px;line-height:1.65;color:#546070;margin:0 0 20px}.folio{margin-top:auto;padding-top:22px;border-top:1px solid #142b4429;font-size:12px;letter-spacing:.16em;color:#80622c}.photo-page{margin:0;padding:24px;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;background:linear-gradient(90deg,#e1ddd3 0,#f3f0e8 3%,#f3f0e8 99%,#dad5c9)}.photo-page img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 8px #13202c18)}.controls{display:flex;justify-content:space-between;align-items:center;margin:20px 0 14px;gap:10px}.controls button{font-size:14px}.center-controls{display:flex;align-items:center;gap:25px}#play{border-color:var(--gold);color:var(--gold);min-width:145px}#counter{font-size:12px;letter-spacing:.16em;color:#b1bdcc;min-width:92px}.timeline{height:2px;background:#ffffff19}#progress{height:100%;background:var(--gold);transition:width .5s}footer{display:flex;align-items:center;justify-content:space-between;padding:14px 0 20px;gap:12px}.chapters{display:flex;gap:22px}.chapters button{border:0;padding:5px 0;color:#a7b3c4;font-size:12px}.chapters button.active{color:var(--gold)}.hint{font-size:12px;color:#7f8ea3}.turn-out{animation:out .38s ease-in forwards}.turn-in{animation:incoming .44s ease-out}.back-out{animation:out .3s ease-in reverse}.back-in{animation:incoming .4s ease-out reverse}@keyframes out{to{transform:rotateY(-88deg);filter:brightness(.65)}}@keyframes incoming{from{transform:rotateY(30deg);opacity:.2;filter:brightness(.85)}to{transform:rotateY(0);opacity:1;filter:brightness(1)}}#montage{position:fixed;inset:0;z-index:20;background:#091222}#montage[hidden]{display:none}#montage-image{width:100%;height:100%;object-fit:contain;animation:drift 1.4s ease-out both}.montage-shade{position:absolute;inset:0;background:linear-gradient(0deg,#071321e8,transparent 70%)}.montage-copy{position:absolute;left:7vw;bottom:10vh}.montage-copy h2{font:clamp(34px,5vw,76px)/1.08 Georgia,serif;margin:22px 0}.montage-copy #shot-count{font-size:12px;letter-spacing:.2em;color:var(--gold)}.montage-actions{position:absolute;right:4vw;top:4vh;display:flex;gap:12px}.montage-actions button{background:#081324b0}.montage-progress{position:absolute;bottom:0;height:3px;background:var(--gold);transition:width .8s linear}@keyframes drift{from{transform:scale(1)}to{transform:scale(1.035)}}.end{height:100%;background:#11233b;color:var(--paper);display:flex;align-items:center;justify-content:center;text-align:center;padding:40px}.end h2{font:clamp(38px,6vw,78px)/1.06 Georgia,serif;margin:26px 0}.end p{color:#bac7d8}.end button{margin-top:20px;border-color:var(--gold);color:var(--gold)}
@media(max-width:800px){header{padding:18px 5vw}.edition{display:none}.book{height:69svh;min-height:460px}.cover{grid-template-columns:1fr;grid-template-rows:55% 45%}.cover-copy{margin:12px;padding:20px 28px}.cover h1{font-size:42px;margin:15px 0}.cover p,.cover .rule,.cover .year{display:none}.cover-photo img{object-position:center 55%}.spread{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.photo-page{grid-row:1;padding:15px;min-height:0}.caption{grid-row:2;padding:17px 23px;border-top:1px solid #13243820;display:grid;grid-template-columns:1fr auto;gap:5px 12px}.caption .chapter-number{display:none}.caption .eyebrow{font-size:11px}.caption h2{font-size:25px;margin:3px 0;grid-column:1}.caption p{font-size:13px;line-height:1.45;margin:0;grid-column:1}.folio{grid-column:2;grid-row:1/4;margin:auto 0;padding:0;border:0;font-size:11px}.center-controls{gap:7px;flex-direction:column}#counter{font-size:10px;text-align:center}.controls button{font-size:13px;padding:9px 12px}.controls>button span{display:none}footer{align-items:flex-start}.chapters{gap:14px;flex-wrap:wrap}.chapters button{font-size:11px}.hint{display:none}.brand{font-size:20px}.brand span{font-size:10px}header button{font-size:12px}.montage-copy{bottom:12vh}.montage-copy h2{font-size:42px}}
/* Photographic jacket: the chandelier becomes the cover's gold canopy. */
.cover{display:block;position:relative;overflow:hidden;background:#091627;isolation:isolate}
.cover-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 31%;z-index:-3}
.cover-veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#04101a70 0%,#08162818 20%,#08162870 40%,#081628ee 77%,#081628 100%)}
.cover-frame{position:absolute;inset:20px;border:1px solid #d6b67480;pointer-events:none;z-index:-1}
.cover-masthead{position:absolute;top:38px;left:0;right:0;text-align:center;color:#f0d497;text-shadow:0 2px 14px #000;font:24px Georgia,serif;letter-spacing:.3em}
.cover-origin{display:block;font:10px Arial,sans-serif;letter-spacing:.55em;margin-top:6px;padding-left:.55em}
.cover-copy{position:absolute;inset:27% 5% 11%;margin:0;border:0;padding:15px;align-items:center;text-align:center;justify-content:flex-end}
.cover-copy .eyebrow{font-size:11px;letter-spacing:.32em;color:#ead4a8;text-shadow:0 2px 10px #000}
.cover h1{font:clamp(34px,4.1vw,62px)/.98 Georgia,serif;margin:18px 0 22px;color:#fff8e9;letter-spacing:-.03em;text-shadow:0 3px 24px #06111a80}
.cover h1 em{display:block;font:italic clamp(57px,7.6vw,116px)/1.08 Georgia,serif;letter-spacing:-.055em;color:#f0d59b;margin-top:3px;padding-right:.1em}
.cover-signature{display:flex;align-items:center;gap:20px;color:#e1c18a}.cover-signature span{display:block;width:65px;height:1px;background:linear-gradient(90deg,transparent,#d6b674)}.cover-signature span:last-child{transform:rotate(180deg)}.cover-signature b{font:15px Georgia,serif;letter-spacing:.35em;font-weight:normal;padding-left:.35em}
.cover-bottom{position:absolute;left:40px;right:40px;bottom:34px;display:flex;justify-content:space-between;gap:12px;color:#c8c4ba;font-size:10px;letter-spacing:.2em}
.end h2 em{font-weight:normal;color:var(--gold)}.end h2{margin:18px 0}.upcoming-intro{font-size:13px;letter-spacing:.05em}.upcoming{max-width:390px;margin:20px auto;text-align:left;border-top:1px solid #d6b67440}.upcoming p{margin:0;padding:10px 0;border-bottom:1px solid #d6b67425;font-size:15px;color:#ece6dc}.upcoming p>span{font:12px Georgia,serif;color:var(--gold);margin-right:15px}.upcoming small{display:block;margin-left:32px;color:#9cacc0;font-size:12px}.end button{margin-top:5px}
@media(max-width:800px){.cover-scene{object-position:50% 30%}.cover-frame{inset:12px}.cover-masthead{top:29px;font-size:22px}.cover-copy{inset:30% 3% 14%;padding:8px}.cover-copy .eyebrow{font-size:10px;letter-spacing:.2em}.cover h1{font-size:35px;margin:20px 0}.cover h1 em{font-size:clamp(42px,10.5vw,80px)}.cover-bottom{left:24px;right:24px;bottom:26px;flex-direction:column;align-items:center;gap:5px;font-size:8px;letter-spacing:.13em}.cover-signature span{width:38px}.end{padding:25px}.end h2{font-size:45px}.upcoming{margin:12px auto}.upcoming p{font-size:13px;padding:8px 0}.upcoming-intro{margin:12px 0}.end button{font-size:13px}.center-controls #counter{min-width:120px}}
.personal-caption .chapter-number{font-size:clamp(32px,4vw,58px);letter-spacing:.05em;color:#94733535;margin-top:26px}.personal-caption h2{font-size:clamp(25px,2.65vw,39px);line-height:1.15;overflow-wrap:anywhere;text-wrap:balance}.personal-caption h2.long-name{font-size:clamp(22px,2.05vw,30px);line-height:1.25}.personal-caption p{font-size:14px;line-height:1.6}.personal-caption .folio{border-top-color:#b58f484a}.download-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 20px;padding:0 0 24px}.download-row[hidden]{display:none}.download-original{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid #d6b67480;color:#ead1a1;text-decoration:none;font-size:14px;cursor:pointer;background:#d6b67408;border-radius:2px}.download-original:hover{background:#d6b67419}.download-original:focus-visible{outline:2px solid var(--gold);outline-offset:4px}#download-info{font-size:12px;color:#a7b3c4}
@media(max-width:800px){.personal-caption h2{font-size:24px}.personal-caption h2.long-name{font-size:20px}.personal-caption p{font-size:12px}.personal-caption .chapter-number{display:none}.download-row{gap:8px;padding-bottom:20px}.download-original{width:100%}#download-info{font-size:11px}.personal-caption{grid-template-columns:minmax(0,1fr) auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.header-gallery{color:var(--gold);font-size:14px;text-decoration:none}.chapter-jump{display:flex;align-items:center;gap:14px;color:#bac7d8;font-size:14px}.chapter-jump select{font:14px Arial,sans-serif;padding:10px 12px;background:#122239;color:var(--paper);border:1px solid #ffffff30;max-width:310px}.find-yourself{display:flex;gap:22px;align-items:center;flex-wrap:wrap;border-top:1px solid #d6b67440;padding:25px 0;margin-top:5px}.find-yourself>div{flex:1;min-width:240px}.find-yourself h2{font:28px Georgia,serif;margin:0 0 7px}.find-yourself p{color:#aebdd0;font-size:16px;margin:0}.find-yourself a,.end-actions a{color:var(--gold);font-size:16px;text-decoration:none}.find-yourself a{padding:12px 0}.stage-guide{padding:8px 0 30px;color:#b5c3d5;font-size:14px}.stage-guide summary{cursor:pointer;color:#d6b674;padding:10px 0}.stage-guide ol{display:flex;flex-wrap:wrap;gap:10px 30px;padding-left:22px}.stage-guide li{min-width:170px}.caption .degree-title{color:#76571f;font-size:16px;line-height:1.45;border-left:2px solid #c8a666;padding-left:12px;margin-bottom:15px}.caption p{font-size:16px}.caption .eyebrow{font-size:12px}.caption .chapter-number{font-size:52px}.caption h2{margin-top:auto}.caption .folio{padding-top:12px}.personal-caption h2{font-size:clamp(25px,2.3vw,36px)}.personal-caption h2.long-name{font-size:clamp(22px,1.9vw,28px)}.end h2{font-size:clamp(36px,5vw,64px)}.end-actions{display:flex;flex-direction:column;align-items:center;gap:17px;margin-top:25px}.cover-signature b{font-size:13px;letter-spacing:.18em}.cover-signature span{width:35px}.cover-copy .eyebrow{font-size:12px}.hint,#download-info{font-size:14px}.controls button{min-height:44px}.caption{overflow:auto}.book{height:clamp(540px,69vh,850px)}
@media(max-width:800px){.book{height:auto;min-height:600px}.cover,.end{min-height:620px}.spread{height:auto;grid-template-rows:minmax(300px,52svh) auto}.photo-page{min-height:300px}.caption{overflow:visible;grid-template-columns:minmax(0,1fr) auto}.caption .degree-title{font-size:15px;grid-column:1;margin:5px 0 8px}.caption p{font-size:14px}.caption h2{font-size:26px;margin-top:3px}.personal-caption h2.long-name{font-size:23px}.caption .folio{grid-row:1/5}.chapter-jump{flex-direction:column;align-items:flex-start;gap:6px}.chapter-jump select{max-width:78vw}.find-yourself{gap:12px;padding:25px 0}.find-yourself>div{flex-basis:100%}.find-yourself a{font-size:15px}.header-gallery{font-size:14px;margin-left:auto}.brand span{display:none}.cover-copy .eyebrow{font-size:12px;max-width:250px;line-height:1.7}.cover-bottom{font-size:12px}.stage-guide ol{display:block}.stage-guide li{padding:3px 0}.cover-signature b{font-size:12px;letter-spacing:.13em}.cover-signature span{width:20px}.end h2{font-size:40px}.end{padding:30px 20px}.end-actions{gap:20px}.cover h1 em{font-size:clamp(43px,10vw,74px)}}
