/* Keep animated illustration parts in their own space, including narrow cards. */
.feature-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);min-height:0;align-items:center}
.feature-hero>.hero-copy,.feature-hero>.scene,.scene-sm,.home-visual{min-width:0;max-width:100%}
.feature-hero h1{overflow-wrap:break-word}.mechanism-scene{max-width:100%;min-width:0}.mechanism-stage{box-sizing:border-box;isolation:isolate;overflow:hidden}
/* A paper's footer participates in layout instead of covering its contents. */
.mechanism-scene:not(.template-scene):not(.scene-home) .paper-card{box-sizing:border-box;display:flex;flex-direction:column;padding:8%;gap:0}
.mechanism-scene:not(.template-scene):not(.scene-home) .paper-heading{font-size:clamp(12px,4.4cqw,30px);line-height:1.12;margin:7% 0 5%;overflow-wrap:break-word}
.mechanism-scene:not(.template-scene):not(.scene-home) .paper-letterhead{font-size:clamp(5px,1.45cqw,9px);gap:6px;padding-bottom:5%;flex-shrink:0}
.mechanism-scene:not(.template-scene):not(.scene-home) .paper-subtitle{font-size:clamp(5px,1.4cqw,9px);line-height:1.5;margin-bottom:6%;flex-shrink:0}
.mechanism-scene:not(.template-scene):not(.scene-home) .paper-foot{position:static;inset:auto;margin-top:auto;padding-top:6%;font-size:clamp(5px,1.35cqw,8px);line-height:1.4;flex-shrink:0}
.mechanism-scene:not(.template-scene):not(.scene-home) .paper-line{margin:3% 0;flex-shrink:0}
.mechanism-scene:not(.template-scene):not(.scene-home) .signature-lines{margin-top:5%;gap:clamp(4px,1.6cqw,10px);margin-bottom:6%}
.mechanism-scene:not(.template-scene):not(.scene-home) .signature-lines span{font-size:clamp(6px,1.6cqw,10px);padding-bottom:5px;line-height:1.4}
.mechanism-scene:not(.template-scene):not(.scene-home) .source-reference{margin:7% 0;padding:7%;font-size:clamp(5px,1.4cqw,9px);line-height:1.5}
/* Consent: manuscript left, chain detail and review strip right. */
.scene-consent .paper-stack{left:12%;top:9%;width:43%;height:76%}
.scene-consent .consent-tag{left:67%;right:auto;top:23%;max-width:25%;padding:clamp(7px,2cqw,14px);font-size:clamp(7px,1.65cqw,11px);gap:7px;box-sizing:border-box}
.scene-consent .record-strip{left:65%;right:6%;bottom:20%;padding:clamp(8px,2cqw,14px);font-size:clamp(7px,1.6cqw,11px);line-height:1.7;box-sizing:border-box}
.scene-consent .object-symbol{width:clamp(15px,4cqw,26px);height:clamp(15px,4cqw,26px)}
/* Source: lens sits beside the document rather than covering its title. */
.scene-lab .paper-stack{left:14%;top:9%;width:41%;height:68%}
.scene-lab .reference-lens{right:-72%;bottom:22%;width:44%;border-width:clamp(5px,1.7cqw,11px);box-sizing:border-box}
.scene-lab .reference-lens span{font-size:clamp(6px,1.5cqw,9px);padding:5px}
.scene-lab .consent-tag{left:18%;right:12%;top:auto;bottom:7%;max-width:none;width:auto;justify-content:center;padding:clamp(7px,1.7cqw,11px);font-size:clamp(7px,1.6cqw,10px);box-sizing:border-box}
/* Studio and shortlist: trays and bookmarks clear the document text. */
.scene-studio .studio-ledger{left:24%;top:8%;width:47%;height:65%}
.scene-studio .studio-tray{left:22%;right:15%;bottom:9%;padding:clamp(8px,2cqw,14px);font-size:clamp(6px,1.6cqw,10px);gap:8px;box-sizing:border-box}
.scene-watch .watch-stack{left:22%;top:9%;width:43%;height:67%}
.scene-watch .bookmark-tab{right:-18%;top:5%;width:16%;height:32%}
.scene-watch .record-strip{left:15%;right:12%;bottom:8%;padding:clamp(7px,1.8cqw,12px);font-size:clamp(7px,1.6cqw,11px);line-height:1.5;box-sizing:border-box}
/* Rulebook: independent leaves, with the caption strip outside the pages. */
.scene-book .rulebook{left:13%;right:13%;top:15%;height:64%}
.scene-book .book-leaf{box-sizing:border-box;min-width:0;padding:7% 6%;overflow:hidden}
.scene-book .book-leaf b{font-size:clamp(11px,3.1cqw,23px);line-height:1.4;overflow-wrap:break-word;margin:13% 0}
.scene-book .book-leaf .object-eyebrow{font-size:clamp(5px,1.45cqw,9px)}
.scene-book .record-strip{left:18%;right:12%;bottom:7%;padding:clamp(7px,1.8cqw,12px);font-size:clamp(7px,1.6cqw,11px);box-sizing:border-box}
.empty .mechanism-scene{max-width:520px;margin:0 auto 24px}
.network-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.network-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.header-note{font-size:11px;color:#a9b8d5}
.home-draft-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.delete-draft{color:#d6b6b9}.delete-draft:hover{color:#f0d9dc}.home-server-link{display:grid;gap:12px;min-width:0}.home-server-link:focus-visible{outline:2px solid #b5c8f7;outline-offset:4px}
@media(max-width:960px){.feature-hero{grid-template-columns:minmax(0,1fr);gap:26px;padding:32px 0}.feature-hero>.scene{max-width:680px;justify-self:center;width:100%}.feature-hero h1{font-size:clamp(40px,7vw,65px)}}
@media(max-width:550px){.feature-hero{gap:22px}.network-actions{gap:12px}.network-bar{padding-top:12px;padding-bottom:12px}.home-draft-actions{gap:10px}.scene-lab .consent-tag .object-symbol{width:19px;height:19px}}


/* Real copy is printed on the paper; the object keeps its original silhouette. */
:is(.scene-lab,.scene-consent,.scene-studio,.scene-watch,.scene-book) .mechanism-stage{min-height:320px}
.paper-notes{display:grid;gap:clamp(4px,1.2cqw,7px);margin:2% 0 3%;flex-shrink:0}
.paper-notes>div{padding-bottom:3%;border-bottom:1px solid #a5b4cc80}
.paper-notes b,.paper-notes span{display:block;overflow-wrap:break-word}
.paper-notes b{font-size:clamp(7px,1.7cqw,11px);font-weight:600;line-height:1.35;margin-bottom:3px;color:#253d64}
.paper-notes span{font-size:clamp(6px,1.5cqw,10px);line-height:1.5;color:#465c7c}
.scene-book .book-leaf b{margin:10% 0}
.scene-book .paper-notes b{font-size:clamp(7px,1.7cqw,11px);line-height:1.35;margin:0 0 3px}
.scene-book .paper-notes{gap:clamp(7px,2cqw,14px)}
.scene-book .rulebook{top:12%;height:70%}

.mechanism-scene:not(.template-scene):not(.scene-home) .paper-card{padding:7%}
.mechanism-scene:not(.template-scene):not(.scene-home) .paper-letterhead{padding-bottom:3%}
.mechanism-scene:not(.template-scene):not(.scene-home) .paper-heading{margin:5% 0 3%}
.mechanism-scene:not(.template-scene):not(.scene-home) .paper-subtitle{margin-bottom:4%}
.mechanism-scene:not(.template-scene):not(.scene-home) .paper-foot{padding-top:4%}
