/* Expedition IX: a cinema entrance, a living diorama, a cabinet of field plates. */
[hidden]{display:none!important}
body.arrival-open{overflow:hidden}
.arrival-gate{position:fixed;inset:0;width:100%;max-width:none;height:100svh;max-height:none;margin:0;padding:0;border:0;background:#161b18;color:#fff;overflow:hidden;opacity:1;transition:opacity .4s ease}
.arrival-gate::backdrop{background:#fff}.arrival-gate.is-leaving{opacity:0}
.arrival-gate>video{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}
.arrival-shade{position:absolute;inset:0;background:linear-gradient(90deg,#061710a6,transparent 72%),linear-gradient(0deg,#05180b80,transparent 26%);transition:opacity .8s}
.arrival-top,.arrival-bottom{position:absolute;left:36px;right:36px;display:flex;justify-content:space-between;align-items:center;gap:20px;font:12px var(--mono);z-index:2}
.arrival-top{top:25px;letter-spacing:1px}.arrival-top button,.arrival-bottom button{color:inherit;border:1px solid #ffffff80;border-radius:30px;padding:9px 16px;font-size:12px;background:#00000015;backdrop-filter:blur(10px)}
.arrival-top button:hover,.arrival-bottom button:hover{background:#ffffff25}
.arrival-bottom{bottom:25px}.arrival-bottom>div{display:flex;align-items:center;gap:14px}.arrival-bottom output{font-variant-numeric:tabular-nums;min-width:96px}
.arrival-invitation{position:absolute;left:7%;top:50%;transform:translateY(-50%);max-width:850px;transition:opacity .65s,transform .65s}
.arrival-eyebrow{font:12px var(--mono);letter-spacing:2px}
.arrival-invitation h1{font:400 clamp(56px,7.6vw,112px)/.98 Georgia,'Times New Roman',serif;letter-spacing:-3px;margin:30px 0 36px}
.arrival-invitation h1 em{font-weight:400}.arrival-invitation h1>span{font:400 17px/1.6 var(--sans);letter-spacing:2px;margin-top:30px}
#arrival-start{background:#fff;color:#222;border-radius:35px;padding:15px 22px;font:14px var(--sans);display:flex;gap:36px;align-items:center}#arrival-start span{font-size:25px}
.arrival-invitation>p{font:12px/1.6 var(--sans);margin-top:16px;color:#ffffffbd}
.arrival-cue{position:absolute;left:5%;bottom:110px;max-width:550px;opacity:0;transform:translateY(12px);transition:opacity .7s,transform .7s;text-shadow:0 2px 20px #000}
.arrival-cue>span{font:12px var(--mono);letter-spacing:2px}.arrival-cue>p{font:400 clamp(20px,2.3vw,32px)/1.7 var(--sans);margin-top:12px}
.arrival-gate.has-started .arrival-invitation{opacity:0;transform:translateY(-45%);pointer-events:none;visibility:hidden}
.arrival-gate.has-started .arrival-cue{opacity:1;transform:none}.arrival-gate.has-started .arrival-shade{opacity:.7}
.arrival-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#fff;transform:scaleX(var(--arrival-progress,0));transform-origin:left}
.replay-arrival{border:1px solid var(--ink);border-radius:30px;font-size:12px;padding:7px 13px;white-space:nowrap}
.replay-arrival:hover{background:var(--ink);color:white}
.film-caption{width:min(465px,calc(100% - 48px))}.film-caption p{font-size:14px;line-height:1.85}.film-fact-source{display:inline-block;font:12px var(--sans);margin-top:12px;color:#737373;border-bottom:1px solid #aaa;pointer-events:auto}
.film-screen:not(.is-held) .film-fact-source{visibility:hidden}
@media(max-width:760px){.arrival-top,.arrival-bottom{left:18px;right:18px;font-size:10px}.arrival-top{top:18px}.arrival-top>span{max-width:160px;line-height:1.6}.arrival-top button,.arrival-bottom button{font-size:11px;padding:8px 11px}.arrival-bottom{bottom:18px;align-items:flex-end}.arrival-bottom>span{max-width:94px;font-size:9px;line-height:1.7}.arrival-bottom>div{gap:8px;flex-wrap:wrap;justify-content:flex-end}.arrival-bottom output{font-size:10px;min-width:auto}.arrival-invitation{left:7%;right:7%}.arrival-invitation h1{font-size:clamp(50px,12vw,80px);letter-spacing:-2px}.arrival-invitation h1>span{font-size:14px;letter-spacing:1px}.arrival-eyebrow{font-size:10px;letter-spacing:1px}.arrival-cue{left:7%;right:7%;bottom:110px}.arrival-cue p{font-size:20px}.film-caption p{font-size:13px}.film-caption{width:calc(100% - 24px)}.replay-arrival{font-size:10px;padding:6px 9px}}
@media(prefers-reduced-motion:reduce){.arrival-gate,.arrival-invitation,.arrival-cue,.arrival-shade{transition:none}}
/* A white gallery wall around a three-dimensional forest. */
.observatory{height:850px;border:0;border-top:1px solid #ccc;margin-inline:-18px;overflow:hidden}
.observatory:before{display:none}.observatory-top{padding-inline:28px}.field-title{top:108px;left:28px;max-width:285px}.field-title h1{font-size:clamp(46px,5vw,72px);letter-spacing:-4px}.field-title>span{font-size:11px}.field-title p{font-size:14px;max-width:240px}
.world-viewport{inset:73px 0 85px}.field-inspector{width:265px;bottom:125px;right:25px;box-shadow:none;background:#ffffffec;border:0;border-top:1px solid #bbb;border-bottom:1px solid #bbb}
.field-inspector>p{font-size:14px}.field-inspector h2{font-size:18px}.field-bottom{background:#ffffffed}.field-bottom p,.field-tools button{font-size:12px}
#forest-stage{position:absolute;inset:0;display:none}#forest-stage canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}
#forest-pins{position:absolute;inset:0;display:none;pointer-events:none}
.forest-ready[data-scene=habitat] #forest-stage,.forest-ready[data-scene=habitat] #forest-pins{display:block}
.forest-ready[data-scene=habitat] #world-plane{visibility:hidden;pointer-events:none}
.forest-pin{position:absolute;top:0;left:0;display:flex;gap:7px;align-items:center;pointer-events:auto;white-space:nowrap;padding:7px;font-size:12px;color:#282c27}
.forest-pin b{font:12px var(--mono);display:grid;place-items:center;width:32px;height:32px;border:1px solid #929a88;background:#fffffff0;border-radius:50%;box-shadow:0 0 0 6px #ffffff60;transition:background .3s,transform .3s}
.forest-pin span{background:#fffffff0;padding:3px 7px;border-bottom:1px solid #aaa}.forest-pin[aria-pressed=true] b{background:#dcf1ab;border-color:#7c9561;transform:scale(1.13)}.forest-pin:hover b{transform:scale(1.2)}
#forest-motion[aria-pressed=false]{border-style:dashed;color:#777}
.coord-left{bottom:132px}.coord-right{top:96px;font-size:11px}
@media(max-width:1100px){.observatory{height:830px}.field-title{max-width:220px;left:20px}.field-title h1{font-size:48px}.field-title p{font-size:12px}.field-inspector{width:225px;right:20px}.field-inspector>p{font-size:13px}}
@media(max-width:760px){.observatory{height:auto;min-height:920px}.observatory-top{padding:12px}.field-title{position:relative;top:auto;left:auto;max-width:none;padding:22px 20px 0}.field-title h1{font-size:48px;letter-spacing:-3px}.field-title p{max-width:none;font-size:14px}.world-viewport{position:relative;inset:auto;height:420px;min-height:420px}.field-inspector{position:relative;right:auto;bottom:auto;width:auto;margin:0 20px 22px;background:#fff}.field-inspector>p{font-size:14px}.field-bottom{position:relative}.field-tools{justify-content:flex-start;gap:7px}.forest-pin span{font-size:11px}.forest-pin b{width:28px;height:28px}.observatory.expanded .world-viewport{height:550px;min-height:550px}.field-title>span{font-size:11px}}
/* Three photographs, treated as an open set of archival plates. */
.field-cabinet{position:relative;isolation:isolate;padding:90px 36px 65px;overflow:hidden;border-top:1px solid #ccc;background:#fff}
.cabinet-ghost{position:absolute;left:2%;top:0;font:400 clamp(95px,15.5vw,225px)/.83 Georgia,serif;letter-spacing:-7px;color:#f0f2f1;z-index:-1;pointer-events:none}
.cabinet-intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:80px;margin:30px 0 40px;padding-inline:3%}
.eyebrow{font:12px var(--mono);letter-spacing:1.4px}
.cabinet-intro h2{font:400 clamp(38px,4.5vw,68px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-1.8px;margin-top:22px}
.cabinet-intro h2 em{font-weight:400}.cabinet-intro h2>span{display:block;font:400 18px/1.8 var(--sans);letter-spacing:1px;margin-top:22px}
.cabinet-instructions{padding-bottom:7px;max-width:470px}.cabinet-instructions>p{font:14px/1.95 var(--sans);color:#5a5a5a}
.cabinet-controls{display:flex;gap:25px;align-items:center;margin-top:24px;font:12px var(--mono);color:#777}.cabinet-controls button{font:13px var(--sans);border-bottom:1px solid #444;padding:7px 0;color:#222}
.stamp-collection{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start;padding:45px 10px 40px;perspective:1800px;min-height:580px}
.photo-card.field-stamp{--card-angle:0deg;margin:0;width:100%;position:relative;transform:none;transition:transform .5s,margin .5s;filter:drop-shadow(0 16px 16px #0000000b);z-index:1}
.photo-card.field-stamp:nth-child(2){--card-angle:0deg;margin-top:0}.photo-card.field-stamp:nth-child(3){--card-angle:0deg;margin-top:0}
.photo-card.field-stamp:hover,.photo-card.field-stamp:focus-within{z-index:3}.photo-card.field-stamp:focus-within{--card-angle:0deg}
.stamp-turner{position:relative;height:500px;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.is-flipped .stamp-turner{transform:rotateY(180deg)}
.stamp-face{position:absolute;inset:0;padding:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#f7f7f5;border:8px dotted #fff;outline:1px solid #e8e8e5;display:flex;flex-direction:column}
.stamp-back{transform:rotateY(180deg);background:#fff}.stamp-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font:10px/1.5 var(--mono);letter-spacing:.5px;color:#6f716a;padding-bottom:13px;border-bottom:1px solid #ddd}
.stamp-top button{font-size:12px;white-space:nowrap;padding:0}
.stamp-photo{position:relative;padding:0;width:100%;height:290px;overflow:hidden;margin-top:14px;background:#fff;flex-shrink:1;min-height:160px;cursor:pointer}
.stamp-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.field-stamp:first-child .stamp-photo img{object-position:43% center}.field-stamp:nth-child(2) .stamp-photo img{object-position:58% center}
.stamp-photo:hover img{transform:scale(1.065)}.stamp-photo>span{position:absolute;right:10px;bottom:10px;background:#fffffff0;padding:7px 10px;font:12px var(--sans);color:#222}
.stamp-ident{padding:17px 0 15px}.stamp-ident h3{font:400 clamp(20px,2vw,28px)/1.15 Georgia,serif}.stamp-ident i{display:block;font:italic 12px/1.7 var(--mono);margin-top:6px;color:#666}
.stamp-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid #d7d7d4;font:9px/1.5 var(--mono);color:#666}.stamp-foot button{font:12px var(--sans);padding:0;white-space:nowrap;color:#252525}
.stamp-back h3{font:500 22px/1.6 var(--sans);margin:22px 0 16px}.stamp-back>p{font:14px/1.95 var(--sans);color:#555}.stamp-back>small{font:10px/1.7 var(--mono);color:#888;margin-top:auto;padding-top:18px}
.stamp-back-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.stamp-back-links button{font:12px var(--sans);border-bottom:1px solid #aaa;padding:0 0 5px;text-align:left}
.field-cabinet.is-aligned .photo-card.field-stamp{--card-angle:0deg;margin-top:0}.field-cabinet.is-aligned .stamp-collection{min-height:580px}
.cabinet-footer{display:flex;align-items:center;gap:35px;justify-content:space-between;margin-top:25px;padding:20px 3% 0}
.cabinet-footer p{font:18px/1.8 var(--sans)}.cabinet-footer p span{font-size:13px;color:#888}.cabinet-footer a{font:12px var(--mono);border-bottom:1px solid #777}.cabinet-seal{font:10px/1.8 var(--mono);letter-spacing:1px;border:1px solid #aaa;border-radius:50%;width:106px;height:106px;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-17deg);color:#777}
@media(max-width:1100px){.field-cabinet{padding-inline:24px}.cabinet-intro{gap:35px}.stamp-collection{gap:19px;padding-inline:0}.stamp-face{padding:12px}.stamp-turner{height:480px}.stamp-back h3{font-size:18px;margin-block:17px 12px}.stamp-back>p{font-size:13px}.stamp-photo{height:275px}.stamp-top{font-size:9px}.stamp-ident h3{font-size:24px}.stamp-back-links{gap:9px}.stamp-back-links button{font-size:11px}}
@media(max-width:760px){.field-cabinet{padding:50px 16px 35px}.cabinet-intro{grid-template-columns:1fr;gap:25px;margin:0 0 15px;padding:0 8px}.cabinet-ghost{font-size:25vw;letter-spacing:-4px;top:30px}.cabinet-intro h2{font-size:43px;margin-top:20px}.cabinet-intro h2>span{font-size:17px;margin-top:16px}.cabinet-instructions>p{font-size:14px}.cabinet-controls{margin-top:12px}.stamp-collection{grid-template-columns:1fr;gap:30px;min-height:0;padding:25px 9% 10px}.photo-card.field-stamp:first-child{grid-column:auto;width:100%}.photo-card.field-stamp:nth-child(2),.photo-card.field-stamp:nth-child(3){margin-top:0}.stamp-turner{height:510px}.stamp-face{padding:16px}.stamp-top{font-size:10px}.stamp-photo{height:290px}.stamp-ident h3{font-size:29px}.stamp-back h3{font-size:23px}.stamp-back>p{font-size:15px}.stamp-back-links button{font-size:13px}.stamp-back>small{font-size:11px}.field-cabinet.is-aligned .stamp-collection{min-height:0}.cabinet-footer{margin-top:40px;gap:20px;flex-wrap:wrap;padding:0 8px}.cabinet-footer p{font-size:16px}.cabinet-footer a{font-size:12px}.cabinet-seal{width:85px;height:85px;font-size:9px}.cabinet-controls button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.stamp-turner,.photo-card.field-stamp,.stamp-photo img{transition:none}}

.stamp-back{overflow:auto}.arrival-cue{pointer-events:none}
.arrival-reticle{position:absolute;left:var(--observe-x,50%);top:var(--observe-y,50%);width:138px;height:138px;border:1px solid #ffffffbf;border-radius:50%;transform:translate(-50%,-50%);display:none;pointer-events:none;background:#ffffff08;box-shadow:0 0 0 10px #ffffff0c}
.arrival-reticle b{position:absolute;inset:0;display:grid;place-items:center;font:200 27px var(--mono);color:#fff}.arrival-reticle>span{position:absolute;top:-27px;left:50%;transform:translateX(-50%);font:10px var(--mono);letter-spacing:1px;white-space:nowrap}
.arrival-gate.is-observing .arrival-reticle{display:block}.arrival-hold-hint{position:absolute;right:36px;top:88px;font:12px var(--sans);color:#fff;opacity:0;text-shadow:0 1px 12px #000;pointer-events:none}.arrival-gate.has-started .arrival-hold-hint{opacity:1}
@media(max-width:760px){.arrival-hold-hint{right:18px;top:85px;font-size:11px}}
/* Order is the baseline. Motion connects the chapters, not the card edges. */
.photo-card.field-stamp:nth-child(n){margin:0;transform:none;--card-angle:0deg}
.stamp-collection{gap:24px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;padding-inline:0;min-height:580px}
.stamp-turner{height:510px}.cabinet-signature{font:11px/1.8 var(--mono);color:#888}.cabinet-intro{padding-inline:0;gap:65px}.field-cabinet{padding-top:60px}
.field-letter{margin:0 -18px;padding:30px 28px 0;background:#fff;overflow:hidden}
.letter-mast,.letter-tail{display:flex;justify-content:space-between;gap:20px;font:11px/1.6 var(--mono);letter-spacing:1px;color:#8a8e8b}
.letter-mast{padding:0 0 28px;border-top:1px solid #d7d9d7;padding-top:22px}.letter-air{position:relative;min-height:470px;display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center}
.letter-air h2{font:400 clamp(80px,10.4vw,156px)/.88 var(--sans);letter-spacing:-7px;color:#edf0ee;margin:0;position:relative}
.letter-air h2>span{display:block}.letter-air h2>span:nth-child(2){color:#e4e9e6}.letter-context{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:0 0 25px;position:relative;z-index:1}.letter-context p{font:15px/1.95 var(--sans);color:#6a716d}
.letter-birds{position:absolute;inset:0;pointer-events:none;overflow:visible}.letter-birds img{position:absolute;height:auto;object-fit:contain;will-change:transform;filter:drop-shadow(0 2px 2px #00000008)}
.letter-desk{display:grid;grid-template-columns:1fr minmax(0,2.5fr) 1fr;gap:20px;align-items:center;min-height:630px;padding:40px 0 10px}
.letter-side-note>span,.letter-route>span{display:block;font:11px/1.7 var(--mono);letter-spacing:1px;color:#929793}.letter-side-note p{font:400 20px/1.8 var(--sans);margin:17px 0}.letter-side-note small{font:12px var(--sans);color:#8a8e8a}.letter-route{text-align:right;align-self:end;padding-bottom:80px}.letter-route a{display:inline-block;font:15px/1.9 var(--sans);margin-top:15px}
.envelope-stage{position:relative;width:100%;height:580px;max-width:650px;justify-self:center;isolation:isolate}
.envelope-back,.envelope-front{position:absolute;width:100%;height:100%;object-fit:contain;left:0;bottom:0;pointer-events:none}.envelope-back{z-index:0}.envelope-front{z-index:2;clip-path:inset(52% 0 0 0)}
.letter-paper{position:absolute;left:20%;width:60%;top:32%;height:51%;padding:24px 26px;background:#fffefb;border:1px solid #e2e1d9;box-shadow:0 1px 10px #00000008;z-index:1;transform:translateY(14%);opacity:0;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .6s;overflow:auto}
.letter-paper>span{font:9px var(--mono);letter-spacing:1px;color:#999}.letter-paper h3{font:400 19px/1.8 var(--sans);margin:15px 0 12px}.letter-paper p{font:13px/1.9 var(--sans);color:#5b625d;margin-bottom:12px}.letter-paper a{font:12px var(--sans);display:inline-block;border-bottom:1px solid #8a938d;padding-bottom:4px;margin-top:3px}
.envelope-stage.is-open .letter-paper{transform:translateY(-57%);opacity:1}
.letter-open{position:absolute;bottom:20%;left:50%;transform:translateX(-50%);z-index:3;border:1px solid #749095;background:#fffffff2;border-radius:30px;padding:12px 20px;font:14px var(--sans);color:#354b51;white-space:nowrap;box-shadow:0 3px 15px #587b8a10}.letter-open span{margin-left:24px}.letter-open:hover{background:#fff;border-color:#375b63}
.letter-tail{border-top:1px solid #d7d9d7;padding:22px 0 30px;color:#6e7671}.letter-tail>span:first-child{font:14px var(--sans);letter-spacing:0}
@media(max-width:1100px){.letter-air{min-height:380px}.letter-air h2{letter-spacing:-5px}.letter-context{gap:18px}.letter-context p{font-size:13px}.letter-desk{grid-template-columns:.7fr 2.8fr .6fr;gap:10px}.letter-side-note p{font-size:17px}.letter-paper{padding:19px}.letter-paper p{font-size:12px}.letter-route a{font-size:13px}}
@media(max-width:760px){.stamp-collection{grid-template-columns:1fr;padding:25px 4% 10px;gap:28px;min-height:0}.cabinet-intro{gap:24px}.cabinet-signature{font-size:10px}.field-letter{margin:0 -6px;padding:25px 10px 0}.letter-mast{font-size:9px;gap:10px}.letter-air{grid-template-columns:1fr;gap:35px;min-height:0;padding-top:15px}.letter-air h2{font-size:clamp(70px,18.5vw,110px);letter-spacing:-4px}.letter-context{gap:25px;padding:0 4px 15px}.letter-context p{font-size:14px}.letter-birds{height:280px}.letter-birds img{max-width:35px}.letter-desk{grid-template-columns:1fr;gap:0;padding:25px 0 0;min-height:0}.letter-side-note{display:flex;justify-content:space-between;align-items:center;gap:10px}.letter-side-note p{font-size:15px;margin:0}.letter-side-note p br{display:none}.letter-side-note>span{font-size:9px}.letter-side-note small{display:none}.envelope-stage{height:520px;margin-top:40px;width:115%;max-width:none}.letter-paper{left:19%;width:62%;height:57%;padding:17px;top:30%}.letter-paper h3{font-size:17px;margin:10px 0}.letter-paper p{font-size:12px;line-height:1.8}.letter-paper a{font-size:12px}.envelope-stage.is-open .letter-paper{transform:translateY(-44%)}.letter-open{bottom:19%;font-size:13px;padding:10px 15px}.letter-route{display:none}.letter-tail{font-size:9px;letter-spacing:0;gap:15px}.letter-tail>span:first-child{font-size:13px;white-space:nowrap}.letter-air h2>span{position:relative}}
@media(prefers-reduced-motion:reduce){.letter-paper{transition:none}.letter-birds img{will-change:auto}}

/* Transition finishing rules; apply after the existing edition 10 stylesheet. */
.letter-air h2 { color: #edf0f1; }
.letter-air h2 > span { opacity: calc(.62 + var(--letter-progress, .5) * .38); }
.letter-birds { pointer-events: none; }
.letter-birds img { position: absolute; height: auto; }

.lineage-bridge { display: grid; grid-template-columns: 1fr 1.5fr auto; gap: 2rem; align-items: center; padding: 3rem 0; border-top: 1px solid #cdd0d1; margin-top: 4rem; }
.lineage-bridge p { margin: 0; font-size: 1.35rem; line-height: 1.65; }
.lineage-bridge small { font-size: .875rem; line-height: 1.5; letter-spacing: .06em; }
.lineage-bridge button { padding: .85rem 1.2rem; border: 1px solid currentColor; border-radius: 0; background: #fff; color: #202323; cursor: pointer; font: inherit; }
.lineage-bridge button:hover { background: #202323; color: #fff; }
.lineage-bridge button:focus-visible { outline: 2px solid #236ba0; outline-offset: 5px; }
@media (max-width: 760px) {
  .lineage-bridge { grid-template-columns: 1fr; gap: 1rem; margin-top: 2rem; }
  .lineage-bridge button { justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
  .letter-birds img { transform: none !important; }
  .letter-paper { transition: none !important; }
}

/* The approved illustration stays intact; the front pocket masks the moving note. */
.letter-air h2>span:nth-child(2){color:#e6eaec}
.letter-desk{grid-template-columns:1fr minmax(0,3fr) 1fr;align-items:center;min-height:0;padding-top:25px}
.envelope-stage{width:100%;height:auto;aspect-ratio:1;max-width:680px;margin-top:var(--letter-clearance,32px);transition:margin-top .9s cubic-bezier(.2,.7,.2,1)}
.envelope-front{clip-path:polygon(0 39.4%,7.6% 39.4%,40% 63.7%,50% 62.8%,60% 63.7%,92.4% 39.4%,100% 39.4%,100% 100%,0 100%)}
.letter-paper{left:15%;width:70%;top:auto;bottom:60%;height:auto;max-height:none;padding:clamp(18px,2.3vw,30px);background:#fffcf4;border:1px solid #e5dece;box-shadow:0 2px 10px #604f2c0c;transform:translateY(82%);opacity:0;overflow:visible;color:#313131;pointer-events:none}
.envelope-stage.is-open .letter-paper{transform:translateY(0);opacity:1;pointer-events:auto}
.letter-paper>span{font-size:12px;color:#687178;line-height:1.6;display:block}
.letter-paper h3{font-size:20px;line-height:1.6;margin:16px 0}
.letter-paper p{font-size:16px;line-height:1.85;color:#48505a;margin:0 0 14px}
.letter-paper a{font-size:14px;line-height:1.6;color:#2d6387;margin-top:6px}
.letter-open{bottom:13%;font-size:14px;border-color:#8fadc2;color:#2e5977;box-shadow:none}
.letter-open:focus-visible,.letter-paper a:focus-visible{outline:2px solid #276d9f;outline-offset:5px}
.letter-route{padding-bottom:50px}
@media(max-width:760px){
 .letter-desk{grid-template-columns:1fr;padding-top:24px}
 .envelope-stage{width:100%;height:auto;max-width:540px}
 .letter-paper{left:12%;width:76%;bottom:60%;top:auto;height:auto;padding:18px}
 .letter-paper h3{font-size:18px}.letter-paper p{font-size:16px}.letter-paper a{font-size:14px}
 .letter-open{font-size:14px;bottom:10%;padding:10px 14px;max-width:90%;white-space:normal}
 .letter-side-note p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.envelope-stage,.letter-paper{transition:none}}

/* Write directly on the paper painted into the approved envelope. */
.envelope-stage{margin-top:32px;margin-bottom:100px;transition:none}
.letter-paper,.envelope-stage.is-open .letter-paper{left:22%;width:56%;top:26%;bottom:auto;height:24%;padding:0;margin:0;border:0;background:none;box-shadow:none;transform:none;opacity:1;overflow:visible;pointer-events:none;transition:none}
.letter-paper #letter-ink{font:400 clamp(16px,2vw,22px)/1.5 'Kaiti SC','STKaiti','KaiTi','Songti SC',serif;color:#364653;letter-spacing:.025em;white-space:pre-line;margin:0;text-wrap:pretty}
.letter-paper .letter-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.letter-actions{position:absolute;top:100%;left:0;width:100%;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 0}
.letter-actions #letter-page{font:12px var(--mono);color:#6c8091;font-variant-numeric:tabular-nums}
.letter-actions .letter-open{position:static;transform:none;max-width:100%;font-size:14px;white-space:normal}
.letter-actions #letter-next{font:14px/1.6 var(--sans);color:#355f7b;border-bottom:1px solid #9aafbb}
.letter-actions #letter-next[hidden]{display:none}
@media(max-width:760px){
 .letter-paper #letter-ink{font-size:16px;line-height:1.45;letter-spacing:0}
 .letter-actions{gap:9px}
 .envelope-stage{margin-bottom:120px}
}
@media(max-width:360px){.letter-paper #letter-ink{font-size:14px;line-height:1.45}}
