*{box-sizing:border-box}html{background:#101e2d}body{margin:0;font:16px/1.65 system-ui,"PingFang SC","Microsoft YaHei",sans-serif;color:#152b40}.book{max-width:650px;min-height:100svh;margin:auto;background:#f7f3e9;display:flex;flex-direction:column;box-shadow:0 0 50px #0006}header,nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px clamp(18px,5vw,36px);background:#102338;color:#f9f5ea}header img{width:min(60%,245px);border-radius:3px;padding:4px 6px;background:white}header span,.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:700}#pages{flex:1;touch-action:pan-y}section{padding:clamp(24px,6vw,44px);animation:enter .38s ease-out}section[hidden]{display:none}@keyframes enter{from{opacity:.25;transform:translateX(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){section{animation:none}}.eyebrow,.note,.hint{color:#496373}.eyebrow{border-bottom:1px solid #c8c3b3;padding-bottom:12px;margin:0 0 18px}h1,h2,h3,p,figure{margin:0 0 12px}h1,h2{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:clamp(34px,8vw,58px);line-height:1.22;letter-spacing:.025em}h3{font-size:21px}.lead{font-size:clamp(17px,4vw,22px);font-weight:650}figure{position:relative;margin:24px 0 18px}figure img{width:100%;aspect-ratio:2.4;object-fit:cover;display:block}figcaption{position:absolute;bottom:0;right:0;background:#102338d9;color:white;padding:3px 8px;font-size:11px}.primary{display:inline-flex;gap:14px;align-items:center;padding:11px 17px;border:0;background:#153a53;color:#fff;text-decoration:none;font-weight:650;margin:8px 0 10px;border-radius:4px}button{cursor:pointer;font:inherit}.hint,.note{font-size:13px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.stats div,article{border:1px solid #d8d1be;background:#fcfaf4;padding:12px}.stats strong{font-size:clamp(26px,7vw,46px);color:#153a53;line-height:1.3}.stats strong span{font-size:.55em}.stats small{display:block}.features{padding:0;list-style:none}.features li{border-top:1px solid #d8d1be;padding:12px 0}.features strong,.features span{display:block}article{margin:14px 0}.date{font-weight:700}dl{margin:16px 0 0;font-size:14px}dt{font-weight:700;color:#153a53}dd{margin:0 0 8px}nav{position:sticky;bottom:0;padding-bottom:calc(12px + env(safe-area-inset-bottom));z-index:1}nav button{color:inherit;background:transparent;border:1px solid #a5b4c3;border-radius:4px;padding:6px 8px;font-size:13px}nav button:disabled{opacity:.4;cursor:default}#dots{display:flex;gap:2px}#dots button{border:0;padding:5px;display:grid;place-items:center;width:19px;height:32px}#dots button:before{content:"";width:7px;height:7px;border:1px solid #dce9f2;border-radius:50%}#dots button[aria-current="page"]:before{background:#e5d29e;border-color:#e5d29e}:focus-visible{outline:2px solid #478fae;outline-offset:3px}

/* Each spread uses the invitation's ink, ivory and brushed-gold palette. */
html{background:#091522}body{background:radial-gradient(ellipse at 50% 10%,#314354,#091522 70%)}.book{max-width:540px;background:#f6f1e5}.book>header{height:58px;border-bottom:1px solid #c7ae7950}.book>header img{width:176px;padding:3px 5px}.book>header span{color:#dfc99b}#pages{display:grid;overflow:hidden}section{grid-area:1/1;position:relative;isolation:isolate;padding:28px clamp(24px,7vw,42px) 24px;background:repeating-linear-gradient(124deg,#e6dfcc35 0 1px,transparent 1px 9px),#f6f1e5;animation:spread .47s cubic-bezier(.2,.7,.2,1) both;transform-origin:left center}
section[data-back]{animation-name:spread-back;transform-origin:right center}@keyframes spread{from{opacity:0;transform:perspective(800px) rotateY(-9deg) translateX(23px)}to{opacity:1;transform:none}}@keyframes spread-back{from{opacity:0;transform:perspective(800px) rotateY(9deg) translateX(-23px)}to{opacity:1;transform:none}}
section>*{animation:rise .48s ease-out both}section>*:nth-child(2){animation-delay:.06s}section>*:nth-child(3){animation-delay:.11s}section>*:nth-child(4){animation-delay:.16s}section>*:nth-child(5){animation-delay:.20s}@keyframes rise{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
section:first-child{background:#122a40;color:#fff9e9;padding-top:31px;min-height:590px;display:flex;flex-direction:column;align-items:flex-start}section:first-child[hidden]{display:none}section:first-child:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#10253b 4%,#122a40ed 38%,#122a4050 73%,#122a40 100%),url(workshop.jpg) 59% 65%/auto 72% no-repeat}section:first-child figure{position:absolute;inset:auto 23px 118px auto;margin:0;width:95px;height:22px}section:first-child figure img{display:none}section:first-child figcaption{white-space:nowrap}.eyebrow{letter-spacing:.18em;border-color:#b4a98c90}.book section:first-child .eyebrow,.book section:first-child .hint{color:#e7d6ae}h1{font-size:clamp(62px,16vw,95px);margin-bottom:18px;line-height:1.04}h2{font-size:clamp(35px,9vw,55px);margin-bottom:18px}section:first-child .lead{font-size:clamp(15px,4.1vw,21px);font-weight:500}section:first-child .primary{margin-top:auto;background:#e1c78f;color:#172a3a}.primary{transition:transform .18s,box-shadow .18s}.primary:hover,.primary:focus-visible{box-shadow:0 5px 16px #13273d45}.primary:active{transform:scale(.97)}.stats{margin:24px 0 18px}.stats div{background:#142b40;color:#f7e5b9;border:1px solid #365168;border-radius:5px;padding:15px 12px;box-shadow:0 9px 18px #142b4026}.stats strong{color:#f7e5b9;font-size:clamp(32px,8vw,52px);font-variant-numeric:tabular-nums}.stats strong .value{font-size:1em}.stats small{color:#f4efdf}.features li{padding:12px 14px;margin:8px 0;background:#fffaf1;border:1px solid #d8ceb5;border-left:3px solid #a68c56}.features strong{font-size:16px}.features span{font-size:14px;color:#496373}details{margin:12px 0;border:1px solid #d8ceb5;border-radius:4px;background:#fffaf1}summary{list-style:none;position:relative;cursor:pointer;padding:12px 33px 12px 14px}summary::-webkit-details-marker{display:none}summary::after{content:"+";position:absolute;right:13px;top:11px;font-size:18px;transition:transform .22s}details[open] summary::after{transform:rotate(45deg)}summary span{display:block;font-size:14px;color:#456273}.detail{padding:0 14px 10px}.detail p{margin:0 0 5px}details[open] .detail{animation:rise .25s ease-out both}.credits dl{margin:0}nav{border-top:1px solid #c7ae7950}.hint{margin:0}@media(max-width:420px){section:first-child{min-height:535px}}@media(prefers-reduced-motion:reduce){section,section>*,details[open] .detail{animation:none}summary::after,.primary{transition:none}}
.orgs{border-top:1px solid #d8ceb5;margin-top:16px;padding-top:12px}.orgs h3{font-size:16px;margin:0}.orgs dl{margin:7px 0 0}.orgs dt{font-size:13px}.orgs dd{margin-bottom:7px}
