/* Publishing sections share the site's surfaces, type and button components. */
.pub-section{scroll-margin-top:24px;color:var(--text-primary);background:var(--bg-panel);border:1px solid var(--border);border-radius:24px;padding:clamp(24px,5vw,64px);margin-block:48px;overflow:hidden}
.pub-section h2{font:var(--type-display);line-height:1.12;letter-spacing:-.035em;color:var(--text-primary);margin:0 0 18px;text-wrap:balance;overflow-wrap:break-word}
.pub-section h3{font:var(--type-title);color:var(--text-primary);margin:0 0 20px}.pub-section p{font:var(--type-body);color:var(--text-secondary);line-height:1.65}.pub-section .pub-intro{max-width:630px;margin:0 0 24px}.pub-section small,.pub-section figcaption,.pub-section .pub-note{font:var(--type-small);line-height:1.6;color:var(--text-secondary)}
.pub-heading em{font-style:normal;color:var(--rose-200)}.pub-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}.pub-grid>*{min-width:0}.pub-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.pub-tabs button{font:var(--type-small);padding:10px 16px;min-height:44px;border-radius:24px;background:var(--bg-panel-2);color:var(--text-primary);border:1px solid var(--border-strong);cursor:pointer}.pub-tabs button[aria-pressed=true]{background:var(--rose-200);color:#1a1517;border-color:var(--rose-200)}.pub-section :is(button,a,summary):focus-visible{outline:2px solid var(--rose-200);outline-offset:5px}
.craft-leaf{background:var(--bg-panel-2);padding:clamp(24px,4vw,44px);border-radius:4px 18px 18px 4px;border-left:3px solid var(--rose-400);box-shadow:8px 8px 0 var(--border);position:relative}.craft-leaf .craft-label{font:var(--type-small);color:var(--text-secondary);margin:0 0 12px}.craft-leaf blockquote{font:var(--type-title);line-height:1.5;margin:0}.craft-leaf .craft-dull{color:var(--text-secondary);text-decoration:line-through;text-decoration-color:var(--rose-400);font:var(--type-body);margin:0 0 24px}.craft-leaf .craft-mark{display:block;width:42px;height:3px;background:var(--rose-400);margin:24px 0}.craft-leaf .craft-caption{font:var(--type-small);margin-bottom:0}.pub-craft-list{padding:0;list-style:none;margin:28px 0}.pub-craft-list li{padding:13px 0;border-bottom:1px solid var(--border);color:var(--text-secondary);font:var(--type-body);line-height:1.5}.pub-craft-list strong{color:var(--text-primary)}
.pub-pack-heading{margin-bottom:36px}.pub-pack-heading h2{margin:0}.wrap-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.wrap-stage{min-width:0;margin:0}.wrap-stage img{border-radius:5px;transition:transform .35s ease}.wrap-stage .image-preview-trigger:hover img{transform:scale(1.025)}.wrap-stage figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-top:14px}.wrap-stage figcaption strong{font-weight:600;color:var(--text-primary)}
.pub-kit{margin-top:36px}.pub-kit details{border-top:1px solid var(--border-strong)}.pub-kit details:last-child{border-bottom:1px solid var(--border-strong)}.pub-kit summary{display:grid;grid-template-columns:24px minmax(0,1.2fr) minmax(0,1fr) 20px;align-items:center;gap:14px;list-style:none;cursor:pointer;padding:19px 0;min-height:64px;font:var(--type-body);color:var(--text-primary)}.pub-kit summary::-webkit-details-marker{display:none}.pub-kit summary:after{content:'+';grid-column:4;text-align:center;font:var(--type-title);color:var(--rose-200)}.pub-kit details[open] summary:after{content:'−'}.pub-kit summary .pub-kit-number{color:var(--rose-200);font:var(--type-small);font-variant-numeric:tabular-nums}.pub-kit summary small{text-align:left}.pub-kit details p{margin:0 0 22px 38px;max-width:680px}.pub-kit .pub-keywords{margin:0 0 20px 38px;display:flex;gap:8px;flex-wrap:wrap}.pub-keywords span{border:1px solid var(--border-strong);border-radius:4px;padding:6px 10px;font:var(--type-small);color:var(--text-secondary)}
.rights-preview{margin:0 auto;max-width:360px;width:100%;transform:rotate(-2deg)}.rights-preview img{box-shadow:0 20px 50px #0003}.pub-rights .pub-note{margin-top:24px}.pub-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}.pub-features details{border-top:1px solid var(--border-strong);padding:20px 0}.pub-features summary{font:var(--type-body);font-weight:600;cursor:pointer;line-height:1.5;color:var(--text-primary)}.pub-features details p{font:var(--type-small);margin:14px 0 0}.pub-feature-footer{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:24px}
.pub-section[data-pub-inview=true] .craft-mark{animation:pub-underline 1s ease-out 1;transform-origin:left}.pub-section[data-pub-inview=true] .rights-preview{animation:pub-paper-settle .7s ease-out 1}@keyframes pub-underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pub-paper-settle{from{transform:translateY(12px) rotate(0)}to{transform:translateY(0) rotate(-2deg)}}
@media(max-width:760px){.pub-grid,.wrap-gallery{grid-template-columns:minmax(0,1fr)}.wrap-gallery{gap:28px}.pub-features{grid-template-columns:repeat(2,minmax(0,1fr))}.pub-section{margin-block:28px;padding:26px 20px;border-radius:16px}.craft-leaf{margin:0 8px 8px 0}.pub-kit summary{grid-template-columns:22px minmax(0,1fr) 20px;gap:10px}.pub-kit summary:after{grid-column:3}.pub-kit summary small{display:none}.pub-kit details p,.pub-kit .pub-keywords{margin-left:32px}.pub-tabs{gap:6px}.pub-tabs button{padding:9px 12px}.rights-preview{max-width:300px;transform:none}.pub-section[data-pub-inview=true] .rights-preview{animation:none}}
@media(max-width:420px){.pub-features{grid-template-columns:minmax(0,1fr)}.pub-kit details p,.pub-kit .pub-keywords{margin-left:0}}
@media(prefers-reduced-motion:reduce){.pub-section *{animation:none!important;transition:none!important}.wrap-stage .image-preview-trigger:hover img{transform:none}}
