/* A compact keepsake journal, with participation attached to each memory. */
.space-page #main .space-body{max-width:var(--space-content-width);width:calc(100% - var(--space-content-gutter));padding-inline:0}
.space-page #main .space-sections>.memory-section,
.space-page #main .memorial-cinema{margin:0;padding:42px 0;border-top:1px solid var(--paper-line);max-width:none;width:100%}
.space-page #main .space-sections>.story-section{padding:32px 0 40px;border-top:0}
.space-page #main .tabs{gap:10px 24px;margin-bottom:0;padding-block:18px;font-size:12px}
.space-page #main .memory-section>.eyebrow,.space-page #main .memorial-cinema>.eyebrow{font:10px/1.6 var(--sans);letter-spacing:.18em;color:#96816a;margin:0 0 10px}
.space-page #main .memory-section>h2,.space-page #main .memorial-cinema>h2{font:400 clamp(25px,3vw,32px)/1.55 var(--serif);letter-spacing:-.025em;margin:0 0 14px;color:var(--paper-ink)}
.space-page #main .section-note,.space-page #main .memorial-film-note,.space-page #main .memorial-letter-note{font:14px/1.85 var(--serif);color:var(--paper-muted);margin:0 0 24px}
.space-page #main .story-masthead{max-width:none;margin:0 0 8px}
.space-page #main .story-masthead .stationery-ornament{width:30px;height:30px}
.space-page #main .story-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.space-page #main .story-title-row h2{max-width:none;margin:0;font:400 clamp(25px,3vw,32px)/1.6 var(--serif);letter-spacing:-.025em}
.space-page #main .story-listen-button{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;font:12px/1.6 var(--sans);color:#837054;padding:9px 0;border-bottom:1px solid #c6b79c;border-radius:0;background:none;min-height:40px}
.story-listen-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.3}
.space-page #main .story-text{max-width:none;font-size:16px;line-height:1.95}
.space-page #main .story-social{margin-top:14px}
.space-page #main .story-listening-panel[hidden]{display:none}
.space-page #main .story-listening-panel .memorial-listening{display:block;max-width:none;margin:0 0 22px;padding:18px 20px;background:var(--paper-tint);border:1px solid var(--paper-line);border-radius:14px}
.space-page #main .story-listening-panel .memorial-listening>div:first-child{display:none}
.space-page #main .story-listening-panel .memorial-listening-controls{margin:0}
.space-page #main .story-listening-panel audio{width:100%;margin-top:8px}
.space-page #main .story-listening-panel .story-music-panel{margin-top:12px;padding-top:12px}
.space-page #main .story-music-credit{display:none}
.space-page #main .space-album{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px;margin-top:22px}
.space-page #main .memory-photo-card{min-width:0}
.space-page #main .space-album figure:nth-child(even){margin-top:0}
.space-page #main .content-social .heart-icon{width:26px!important;height:26px!important;max-height:26px;aspect-ratio:1}
.space-page #main .content-social .heart-choice .heart-icon{width:36px!important;height:36px!important;max-height:36px}
.space-page #main .memory-photo-frame{display:block;position:relative;padding:10px;background:linear-gradient(135deg,#fffdf8,#f0e9db);border:1px solid #cbbb9f;border-radius:15px;box-shadow:0 7px 20px #58452b0b,inset 0 0 0 3px #fffaf2;overflow:hidden}
.space-page #main .memory-photo-frame>img{display:block;width:100%;height:auto!important;max-height:none;aspect-ratio:4/3;object-fit:cover;border:1px solid #b7a58266;border-radius:7px!important;background:#eee8dd;box-shadow:none}
.space-page #main .space-album figcaption{font:13px/1.75 var(--serif);margin:12px 3px 0;padding:0;border:0;color:var(--paper-muted)}
.space-page #main .memorial-album-more{margin-top:20px}
.space-page #main .memorial-album-more>summary{font-size:13px;padding:8px 0}
.space-page #main .film-screen{border:1px solid #c6b79f;box-shadow:0 12px 28px #4b392617}
.space-page #main .memorial-film-chapters{padding:8px 0}
.space-page #main .memorial-film-chapters>summary{font-size:12px}
.space-page #main .memorial-cinema .ready-film-status{font-size:11px}
.space-page #main .memorial-cinema .ready-film-controls{padding-top:12px}
.space-page #main .film-heart-actions{display:none}
.space-page #main .offering-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px;align-items:start}
.space-page #main .offering-card{min-width:0;background:#fffdf8;border:1px solid #e2d8c8;border-radius:16px;box-shadow:0 8px 20px #58452b07;padding:12px;display:flex;flex-direction:column}
.space-page #main .offering-art{display:grid;place-items:center;height:142px;background:radial-gradient(ellipse at 50% 35%,#fffaf1,#f1e8da);border:1px solid #d9cbb7;border-radius:9px;box-shadow:inset 0 0 0 5px #fffaf3}
.space-page #main .offering-art .heart-icon{width:104px;height:104px;filter:drop-shadow(0 5px 6px #a2855e1a)}
.space-page #main .offering-copy{padding:16px 5px 0;flex:1}
.space-page #main .offering-copy h3,.space-page #main .treasure-copy h3{font:400 18px/1.6 var(--serif);letter-spacing:-.03em;color:var(--paper-ink);margin:0 0 9px;word-break:keep-all}
.space-page #main .offering-copy p,.space-page #main .treasure-copy p{font:13px/1.85 var(--serif);color:var(--paper-muted);margin:0 0 10px;overflow-wrap:anywhere}
.space-page #main .offering-copy>small,.space-page #main .treasure-copy>small{display:block;font:10px/1.8 var(--sans);color:#a08b72}
.space-page #main .treasure-grid{gap:24px;margin-top:24px}
.space-page #main .treasure-card{padding:12px;background:#fffdf8;border:1px solid #e2d8c8;border-radius:16px;overflow:visible}
.space-page #main .treasure-card .memory-photo-frame{padding:6px;border-radius:10px;box-shadow:none}
.space-page #main .treasure-copy{padding:17px 5px 0}
.space-page #main .treasure-copy h3{margin-top:5px;font-size:20px}
.space-page #main .treasure-photos{padding:6px;border:1px solid #cbbb9f;border-radius:10px;background:#f7f1e6;overflow:hidden}
.space-page #main .treasure-photos img{border-radius:5px}
.space-page #main .treasure-card .content-social,.space-page #main .offering-card .content-social{margin-inline:5px}
.space-page #main .sample-letter,.space-page #main .letters article,.space-page #main .letter-form{padding:26px 30px;border-radius:14px;box-shadow:0 8px 22px #58452b08}
.space-page #main .stationery-letter-heading{margin-bottom:18px;padding-bottom:16px}
.space-page #main .stationery-postage{width:50px;height:60px}
.space-page #main .stationery-postage svg{max-width:30px;max-height:30px}
.space-page #main .sample-letter>p,.space-page #main .letters article>p{font-size:16px;line-height:1.9;margin-bottom:20px}
.space-page #main .letter-signature{padding-top:12px;font-size:11px}
.space-page #main .letter-help{display:none}
.space-page #main .memorial-closing{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:34px;text-align:left;padding:32px;margin:20px 0 30px;border:1px solid #e0d6c5;border-radius:20px;background:radial-gradient(ellipse at 10% 0%,#f0e6d3,#fbf8f0 75%)}
.space-page #main .closing-portrait{padding:7px;background:#fffcf5;border:1px solid #c8b493;border-radius:100px 100px 10px 10px;box-shadow:0 7px 18px #705b3810}
.space-page #main .closing-portrait:empty{display:none}
.space-page #main .closing-portrait img{display:block;aspect-ratio:4/5;width:100%;height:auto;object-fit:cover;border-radius:100px 100px 5px 5px}
.space-page #main .closing-copy .eyebrow{font:9px/1.7 var(--sans);letter-spacing:.16em;color:#927d60;margin:0 0 8px}
.space-page #main .memorial-closing h2{font:400 29px/1.5 var(--serif);margin:0 0 12px;letter-spacing:-.03em}
.space-page #main .memorial-closing .closing-copy>p:not(.eyebrow){font:13px/1.95 var(--serif);margin:0 0 16px}
.space-page #main .memorial-closing .quiet-link{font-size:12px}
@media(max-width:720px){
 .space-page #main .space-sections>.memory-section,.space-page #main .memorial-cinema{padding-block:30px}
 .space-page #main .story-title-row{flex-wrap:wrap;gap:4px 12px;margin-bottom:17px}
 .space-page #main .story-title-row h2{font-size:25px}
 .space-page #main .story-listen-button{font-size:11px}
 .space-page #main .story-text{font-size:15px}
 .space-page #main .space-album{gap:20px 14px}
 .space-page #main .memory-photo-frame{padding:6px;border-radius:10px}
 .space-page #main .memory-photo-frame>img{border-radius:5px;aspect-ratio:1}
 .space-page #main .space-album figcaption{font-size:12px}
 .space-page #main .offering-grid{grid-template-columns:1fr;gap:14px}
 .space-page #main .offering-card{display:grid;grid-template-columns:90px minmax(0,1fr);gap:0 14px;padding:14px}
 .space-page #main .offering-art{height:100px;grid-column:1;grid-row:1}
 .space-page #main .offering-art .heart-icon{width:74px;height:74px}
 .space-page #main .offering-copy{grid-column:2;padding:0}
 .space-page #main .offering-copy h3{font-size:17px}
 .space-page #main .offering-card>.content-social{grid-column:1/-1;margin-inline:0}
 .space-page #main .treasure-grid{grid-template-columns:1fr;gap:18px}
 .space-page #main .treasure-sample-photo>img{aspect-ratio:4/3}
 .space-page #main .sample-letter,.space-page #main .letters article,.space-page #main .letter-form{padding:22px 20px}
 .space-page #main .memorial-closing{grid-template-columns:80px 1fr;gap:18px;padding:22px 18px}
 .space-page #main .memorial-closing h2{font-size:24px}
 .space-page #main .memorial-closing .closing-copy>p:not(.eyebrow){font-size:12px}
 .space-page #main .memorial-closing .closing-copy>p br{display:none}
}

.space-page #main .write-letter-disclosure{margin:16px 0 24px}
.space-page #main .write-letter-disclosure>summary{font:13px/1.8 var(--serif);color:#897253;cursor:pointer;padding:10px 0}
/* Four memories at a time, with a stable numbered navigation. */
.space-page #main .space-album[hidden]{display:none}
.space-page #main .album-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:25px}
.space-page #main .album-pagination button{min-width:42px;min-height:42px;padding:8px 12px;border:1px solid #ded4c5;border-radius:50%;background:#fffdf8;color:#79664f;font:14px/1.5 var(--sans);cursor:pointer}
.space-page #main .album-pagination [data-album-step]{border-radius:18px}
.space-page #main .album-pagination [aria-current=page]{background:#79664f;color:#fffdf8;border-color:#79664f}
.space-page #main .album-pagination button:disabled{opacity:.4;cursor:default}
.space-page #main .album-page-status{text-align:center;font:12px/1.6 var(--sans);color:#8b7964;margin:10px 0 0}
.space-page #main .album-pagination button:focus-visible,.space-page #main .treasure-open:focus-visible,.space-page #main .treasure-close:focus-visible{outline:3px solid #967951;outline-offset:4px}
/* Small framed belongings rest inside a photographed linen-lined box. */
.space-page #main .treasure-chest{position:relative;max-width:660px;margin:24px auto 0;isolation:isolate}
.space-page #main .treasure-chest-background{display:block;width:100%;height:auto;border-radius:16px}
.space-page #main .treasure-chest .treasure-grid{position:absolute;inset:20% 10% 18%;display:grid;grid-template-columns:repeat(2,minmax(0,160px));justify-content:center;align-content:safe center;align-items:start;gap:22px 42px;overflow:auto;margin:0;padding:12px}
.space-page #main .treasure-chest .treasure-card{padding:0;border:0;background:none;box-shadow:none;min-width:0;overflow:visible}
.space-page #main .treasure-open{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;padding:0;border:0;background:none;color:#604b35;cursor:pointer;font:14px/1.65 var(--serif)}
.space-page #main .treasure-mini-frame{display:block;width:min(100%,126px);padding:9px;border:1px solid #d6bd91;border-radius:44% 44% 24% 24%;background:#fff9e9;box-shadow:0 8px 12px #5d43242e,inset 0 0 0 3px #eadbc1;transform:rotate(-5deg);transition:transform .2s}
.space-page #main .treasure-mini-frame img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:42% 42% 22% 22%}
.space-page #main .treasure-card:nth-child(even) .treasure-mini-frame{transform:rotate(5deg);border-radius:35%;background:#f5e8dc}
.space-page #main .treasure-card:nth-child(even) .treasure-mini-frame img{border-radius:30%}
.space-page #main .treasure-open:hover .treasure-mini-frame,.space-page #main .treasure-open:focus-visible .treasure-mini-frame{transform:rotate(0) translateY(-3px)}
.space-page #main .treasure-item-name{text-wrap:balance;overflow-wrap:anywhere}
body.treasure-modal-open{overflow:hidden}
.space-page #main .treasure-dialog{width:min(600px,calc(100vw - 32px));max-height:88vh;max-height:88dvh;box-sizing:border-box;margin:auto;padding:22px;border:1px solid #d7c8b1;border-radius:22px;background:#fffcf6;color:#66543e;box-shadow:0 24px 80px #251d3440;overflow:auto;overscroll-behavior:contain;text-align:left}
.space-page #main .treasure-dialog::backdrop{background:#302b258a;backdrop-filter:blur(4px)}
.space-page #main .treasure-close{display:block;margin:0 0 14px auto;min-height:40px;padding:8px 14px;background:#f1e8db;border:1px solid #d7c8b1;border-radius:20px;color:#66543e;font:14px var(--sans);cursor:pointer}
.space-page #main .treasure-full-photo{display:block;width:100%;max-height:48vh;height:auto;object-fit:contain;border-radius:13px}
.space-page #main .treasure-dialog .treasure-copy{padding:20px 4px 4px}
.space-page #main .treasure-dialog .treasure-copy h3{font-size:24px}
.space-page #main .treasure-dialog .treasure-copy p{font-size:16px;line-height:1.9}
.space-page #main .treasure-dialog .treasure-copy>small{font-size:13px}
.space-page #main .treasure-dialog .quiet-link{display:inline-block;margin:6px 12px 10px 0;font-size:14px}
/* A quiet, slimmer closing note. */
.space-page #main .memorial-closing{grid-template-columns:92px minmax(0,1fr);gap:24px;padding:20px 26px;margin:16px 0 24px;border-radius:16px}
.space-page #main .closing-portrait{padding:5px}
.space-page #main .memorial-closing h2{font-size:24px;line-height:1.5;margin:0 0 8px}
.space-page #main .memorial-closing .closing-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;margin:0}
.space-page #main .memorial-closing .closing-copy>p br{display:none}
@media(max-width:720px){
 .space-page #main .treasure-chest .treasure-grid{gap:14px 20px;padding:8px}
 .space-page #main .treasure-open{gap:8px;font-size:13px;line-height:1.5}
 .space-page #main .treasure-mini-frame{width:clamp(62px,18vw,112px);padding:6px}
 .space-page #main .treasure-dialog{padding:16px}
 .space-page #main .memorial-closing{grid-template-columns:58px minmax(0,1fr);gap:14px;padding:16px}
 .space-page #main .memorial-closing h2{font-size:20px}
 .space-page #main .memorial-closing .closing-copy>p:not(.eyebrow){font-size:13px}
}
@media(prefers-reduced-motion:reduce){.space-page #main .treasure-mini-frame{transition:none}}
