/* Original oak keepsake box: a hinged lid over a linen-lined collection. */
.space-page #main .treasure-chest{--box-ink:#604324;position:relative;max-width:960px;margin:36px auto 32px;padding:0;color:var(--box-ink);isolation:isolate}
.space-page #main .treasure-disclosure{margin:0;padding:0;border:0;background:none}
.space-page #main .treasure-chest-toggle{position:relative;display:block;margin:0;padding:0 0 28px;border:0;border-radius:22px 22px 12px 12px;list-style:none;cursor:pointer;background:repeating-linear-gradient(0deg,#aa7039 0 2px,#b58048 3px 7px,#9c632f 8px 9px);box-shadow:inset 0 -5px 6px #58301445,0 3px 0 #73441f}
.space-page #main .treasure-chest-toggle::-webkit-details-marker{display:none}
.space-page #main .treasure-chest-toggle::after{content:none}
.space-page #main .treasure-chest-toggle:focus-visible{outline:3px solid #82633d;outline-offset:7px}
.space-page #main .treasure-lid{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(26px,5vw,64px);min-height:320px;padding:44px 48px;border:9px solid #ad773f;border-radius:22px 22px 12px 12px;background-color:#c79459;background-image:linear-gradient(110deg,#dfb275c9,#c18b4eb8),repeating-linear-gradient(1deg,transparent 0 4px,#72401638 5px,transparent 6px 13px),url('treasures/keepsake-box.png');background-size:100% 100%,100% 100%,100% 1500%;background-position:center,center,center top;box-shadow:inset 0 0 0 2px #ecc08a,inset 0 0 18px #673b2440,0 6px 8px #53301540;transform-origin:center bottom;transition:transform .65s ease,min-height .65s ease,padding .65s ease}
.space-page #main .treasure-lid::before{content:'';position:absolute;inset:15px;border:1px solid #794a2670;outline:1px solid #f6d8ab80;outline-offset:3px;border-radius:8px;pointer-events:none}
.space-page #main .treasure-lid-corner{position:absolute;top:25px;width:30px;height:30px;border-top:2px solid #75452060}
.space-page #main .treasure-lid-corner--left{left:25px;border-left:2px solid #75452060;border-radius:6px 0 0}
.space-page #main .treasure-lid-corner--right{right:25px;border-right:2px solid #75452060;border-radius:0 6px 0 0}
.space-page #main .treasure-lid-portrait{display:grid;place-items:center;flex-shrink:0;width:clamp(140px,19vw,180px);aspect-ratio:.85;padding:7px;border:2px solid #a47b42;border-radius:48%;background:#e6c18b;box-shadow:0 5px 12px #643f2638,inset 0 0 0 2px #fff0be;transform:rotate(-3deg);transition:width .65s ease}
.space-page #main .treasure-lid-portrait img{display:block;width:100%;height:100%;aspect-ratio:.85;object-fit:cover;border-radius:48%;filter:saturate(.75) sepia(.12)}
.space-page #main .treasure-lid-copy{position:relative;min-width:0;text-align:center;text-shadow:0 1px 0 #ffe8bd80}
.space-page #main .treasure-lid-eyebrow{margin:0 0 13px;color:#6d492a;font:9px/1.6 var(--sans);letter-spacing:2px}
.space-page #main .treasure-lid h3{margin:0;color:#543319;font:400 clamp(27px,3vw,38px)/1.5 var(--serif);letter-spacing:-.04em;word-break:keep-all;overflow-wrap:anywhere}
.space-page #main .treasure-lid-flourish{display:block;width:124px;height:26px;margin:12px auto;color:#785127}
.space-page #main .treasure-lid-note{margin:0;color:#674527;font:14px/1.9 var(--serif)}
.space-page #main .treasure-latch{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);z-index:2;display:flex;align-items:center;justify-content:center;gap:9px;width:max-content;max-width:calc(100% - 32px);min-height:48px;margin:0;padding:8px 22px;border:1px solid #826030;border-radius:8px;background:linear-gradient(105deg,#c49b52,#efcf87 48%,#bc914b);box-shadow:inset 0 1px 1px #fff4bb,0 3px 5px #593c2840;color:#50381e;font:15px/1.5 var(--serif)}
.space-page #main .treasure-latch>svg{width:21px;height:21px}
.space-page #main .treasure-toggle-arrow{margin-left:5px;font:22px/1 var(--serif);transition:transform .3s}
.space-page #main .treasure-toggle-open,.space-page #main .treasure-disclosure[open] .treasure-toggle-closed{display:none}
.space-page #main .treasure-disclosure[open] .treasure-toggle-open{display:inline}
.space-page #main .treasure-disclosure[open] .treasure-toggle-arrow{transform:rotate(180deg)}
.space-page #main .treasure-disclosure[open] .treasure-chest-toggle{padding-bottom:0;background:none;box-shadow:none}
.space-page #main .treasure-disclosure[open] .treasure-lid{min-height:200px;padding-block:25px;transform:perspective(1500px) rotateX(30deg)}
.space-page #main .treasure-disclosure[open] .treasure-lid-portrait{width:106px}
.space-page #main .treasure-disclosure[open] .treasure-lid-note{display:none}
.space-page #main .treasure-disclosure[open] .treasure-latch{bottom:-22px}
.space-page #main .treasure-interior{position:relative;margin:-41px 0 0;padding:20px clamp(6px,2vw,24px) 18px;border-style:solid;border-width:70px 48px 65px;border-image:url('treasures/keepsake-box.png') 155 92 165 92 fill / 70px 48px 65px / 0 stretch;clip-path:inset(41px 0 0)}
.space-page #main .treasure-interior-heading{text-align:center}
.space-page #main .treasure-interior-heading>span{color:#775b38;font:10px/1.6 var(--sans);letter-spacing:1px}
.space-page #main .treasure-interior-note{margin:7px 0 16px;color:#796549;font:13px/1.8 var(--serif);text-align:center;word-break:keep-all}
.space-page #main .treasure-chest .treasure-grid{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;align-items:start;gap:16px 28px;margin:0;padding:8px;overflow:visible}
.space-page #main .treasure-chest .treasure-card{min-width:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;--item-tilt:-5deg}
.space-page #main .treasure-chest .treasure-card:nth-child(even){--item-tilt:5deg}
.space-page #main .treasure-chest .treasure-card:nth-child(3n){--item-tilt:-2deg}
.space-page #main .treasure-chest .treasure-open{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:start;gap:4px;height:auto;min-height:44px;padding:8px;border:0;border-radius:8px;background:none;transform:rotate(var(--item-tilt));transition:transform .25s ease}
.space-page #main .treasure-chest .treasure-open:hover,.space-page #main .treasure-chest .treasure-open:focus-visible{background:none;transform:translateY(-5px) rotate(0)}
.space-page #main .treasure-chest .treasure-card:not(.treasure-card--photo) .treasure-open{mix-blend-mode:multiply}
.space-page #main .treasure-chest .treasure-mini-frame,.space-page #main .treasure-chest .treasure-card:nth-child(even) .treasure-mini-frame{display:block;width:min(100%,175px);padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;transform:none}
.space-page #main .treasure-chest .treasure-mini-frame img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:0;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse at center,#000 54%,#000e 68%,transparent 94%)}
.space-page #main .treasure-chest .treasure-card.treasure-card--photo .treasure-mini-frame{width:min(86%,145px);margin:8px 0 10px;padding:6px 6px 15px;border:1px solid #dfd2b7;background:#fffaf0;box-shadow:0 5px 8px #6d4f2c30}
.space-page #main .treasure-chest .treasure-card--photo .treasure-mini-frame img{mask-image:none;mix-blend-mode:normal}
.space-page #main .treasure-chest .treasure-item-name{position:relative;max-width:100%;padding:4px 9px;border-radius:2px;background:#faf3e1e6;box-shadow:0 2px 4px #6c4e2920;color:#624b30;font:21px/1.35 'Memory Handwriting',var(--serif);word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
.space-page #main .treasure-chest .treasure-item-period{display:none}
.space-page #main .treasure-interior-signature{margin:24px 0 0;color:#88714e;font:21px/1.6 'Memory Handwriting',var(--serif);text-align:center}
.space-page #main .treasure-disclosure[open] .treasure-interior{animation:treasure-reveal .65s ease both}
@keyframes treasure-reveal{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){
 .space-page #main .treasure-chest{margin:24px auto}
 .space-page #main .treasure-lid{flex-direction:column;gap:18px;min-height:340px;padding:30px 23px;border-width:7px}
 .space-page #main .treasure-lid::before{inset:10px}
 .space-page #main .treasure-lid-corner{top:20px;width:22px;height:22px}
 .space-page #main .treasure-lid-corner--left{left:20px}
 .space-page #main .treasure-lid-corner--right{right:20px}
 .space-page #main .treasure-lid-portrait{width:116px}
 .space-page #main .treasure-lid h3{font-size:27px}
 .space-page #main .treasure-lid-eyebrow{font-size:7px;letter-spacing:1px}
 .space-page #main .treasure-lid-note{font-size:13px}
 .space-page #main .treasure-disclosure[open] .treasure-lid{flex-direction:row;gap:16px;min-height:145px;padding:26px 22px;transform:perspective(900px) rotateX(24deg)}
 .space-page #main .treasure-disclosure[open] .treasure-lid-portrait{width:68px;padding:4px}
 .space-page #main .treasure-disclosure[open] .treasure-lid h3{font-size:23px}
 .space-page #main .treasure-disclosure[open] .treasure-lid-eyebrow{display:none}
 .space-page #main .treasure-disclosure[open] .treasure-lid-flourish{width:86px;height:20px;margin:5px auto 0}
 .space-page #main .treasure-latch{min-height:44px;padding:8px 16px;font-size:14px}
 .space-page #main .treasure-interior{margin-top:-27px;padding:14px 4px 16px;border-width:46px 20px 38px;border-image-width:46px 20px 38px;clip-path:inset(27px 0 0)}
 .space-page #main .treasure-interior-note{margin-bottom:10px;font-size:11px}
 .space-page #main .treasure-chest .treasure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 6px;padding:4px 0}
 .space-page #main .treasure-chest .treasure-open{padding:4px}
 .space-page #main .treasure-chest .treasure-item-name{padding:4px 5px;font-size:19px}
 .space-page #main .treasure-interior-signature{margin-top:18px;font-size:18px}
}
@media(prefers-reduced-motion:reduce){
 .space-page #main .treasure-lid,.space-page #main .treasure-lid-portrait,.space-page #main .treasure-open,.space-page #main .treasure-toggle-arrow{transition:none}
 .space-page #main .treasure-disclosure[open] .treasure-interior{animation:none}
}

