@font-face{font-family:Public Sans;src:url(fonts/PublicSans-Regular.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Public Sans;src:url(fonts/PublicSans-Bold.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Public Sans;src:url(fonts/PublicSans-ExtraBold.woff2) format('woff2');font-weight:800;font-style:normal;font-display:swap}
:root{font-family:Public Sans,Arial,sans-serif;color:#f3f0e6;background:#111715;--ink:#f3f0e6;--muted:#a8b7ae;--line:#35433d;--accent:#b8dcd5;--gutter:clamp(24px,5vw,84px);color-scheme:dark;font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.35;cursor:default}a{color:inherit;text-underline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button svg,a svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button,a,input{touch-action:manipulation}[hidden]{display:none!important}::selection{background:#c8e7db;color:#111715}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.skip{position:absolute;left:20px;top:12px;z-index:10;padding:12px;background:var(--ink);color:#111715;transform:translateY(-150%)}.skip:focus{transform:none}
header{height:104px;display:flex;align-items:center;justify-content:flex-end;padding:0 var(--gutter);gap:20px}.wordmark{font-size:23px;font-weight:800;letter-spacing:-1px;text-decoration:none;white-space:nowrap}.wordmark span{color:#8bc1e3}header button{display:flex;align-items:center;gap:15px;min-height:44px;padding:10px 0 10px 12px;font-size:14px;color:var(--muted)}header button:hover{color:var(--ink)}
#room{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:clamp(40px,6vw,110px);padding:20px var(--gutter) 18px;max-width:1660px;margin:0 auto;min-height:min(760px,calc(100svh - 186px));align-items:center;outline:none}.visual-column{min-width:0;align-self:center}#object-stage{height:clamp(410px,61svh,700px);display:grid;place-items:center;position:relative;isolation:isolate;min-width:0}.object-copy{padding:26px 0 36px;max-width:570px}.invitation{color:var(--muted);font-size:15px;line-height:1.5;margin:0 0 27px}h1{font-size:clamp(58px,6.35vw,98px);line-height:.99;font-weight:800;letter-spacing:-.065em;margin:0;max-width:10ch;text-wrap:balance;overflow-wrap:normal}#object-teaser{color:#c1cdc5;font-size:clamp(17px,1.45vw,21px);line-height:1.5;max-width:30ch;margin:26px 0 0;min-height:1.5em}.object-credit{color:#a4b1a9;font-size:12px;line-height:1.55;margin:16px 0 0;text-align:center}.object-credit a{text-decoration:none;border-bottom:1px solid #53645a}.object-credit a:hover{color:white}.artwork{border:0;padding:0;display:block;position:absolute;inset:0;height:100%;max-height:100%;min-height:0;max-width:100%;width:100%;cursor:zoom-in}.artwork img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 32px #0005);transition:transform .35s ease}.artwork:hover img{transform:scale(1.012)}.artwork .inspect-hint{position:absolute;bottom:14px;right:20px;display:flex;align-items:center;gap:8px;background:#111715e8;color:var(--ink);border:1px solid #53645a;border-radius:22px;padding:11px 15px;font-size:13px;box-shadow:0 4px 18px #0005}.artwork .inspect-hint svg{width:17px;height:17px}
#instrument-controls{margin-top:26px}#instrument-controls:empty{display:none}.instrument-action{border-bottom:1px solid #8caaa0;display:inline-flex;align-items:center;gap:12px;padding:10px 0;min-height:44px;font-weight:700;font-size:15px}.instrument-action svg{width:19px;height:19px}.instrument-action:hover{color:var(--accent)}.control-hint{font-size:13px;line-height:1.5;color:var(--muted);margin:12px 0 0;max-width:37ch}.taking{margin-top:31px}.take-button{min-height:54px;background:#e8e9dc;color:#18231d;display:inline-flex;align-items:center;gap:28px;padding:16px 23px;border-radius:4px;font-size:15px;font-weight:700;border:1px solid #ffffff35;box-shadow:inset 0 1px 0 #fff,0 3px 0 #a4ada0;transition:background .15s,transform .15s,box-shadow .15s}.take-button:hover{background:#fffef0}.take-button:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #fff,0 1px 0 #a4ada0}#take-note{color:var(--muted);font-size:13px;max-width:32ch;line-height:1.5;margin:12px 0 0}#take-home{margin-top:30px;animation:appear .4s ease both}#take-home h2{font-size:clamp(27px,3vw,39px);letter-spacing:-.05em;line-height:1.1;margin:0 0 14px}#take-description{font-size:16px;line-height:1.6;margin:0 0 19px;max-width:36ch}.download{display:inline-flex;align-items:center;gap:18px;font-weight:700;font-size:16px;min-height:46px;text-decoration:none;border-bottom:1px solid #c5dbd0;padding:8px 0}.download:hover{color:#9be1c6}.download-note{color:var(--muted);font-size:12px;line-height:1.6;max-width:42ch;margin:12px 0 0}.download-note a{font-size:inherit}#story-link{margin-top:32px}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;padding:9px 0;text-decoration:none;border-bottom:1px solid #53645a}.text-link svg{width:18px;height:18px}.text-link:hover{color:var(--accent)}
.object-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px var(--gutter) 0;padding:16px 0;border-top:1px solid var(--line)}.object-navigation button{display:flex;align-items:center;gap:14px;min-height:44px;font-size:14px;padding:10px 0}.object-navigation button:hover{color:var(--accent)}#position{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.object-navigation #next{font-weight:700}
#story{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(40px,10vw,170px);padding:clamp(70px,8vw,130px) var(--gutter);border-top:1px solid var(--line);margin-top:22px;background:#19231e;scroll-margin-top:24px;outline:none}.story-heading h2{font-size:clamp(34px,3.7vw,55px);line-height:1.06;letter-spacing:-.05em;font-weight:700;margin:0;max-width:13ch;text-wrap:balance}.story-heading p{font-size:14px;line-height:1.6;color:#b4c4b9;margin:25px 0 0;max-width:28ch}.story-body{max-width:650px}.story-body p{font-size:18px;line-height:1.7;margin:0 0 24px}.story-body details{margin-top:34px;border-top:1px solid #41564a}.story-body summary{cursor:pointer;padding:20px 0;min-height:56px;font-size:14px;line-height:1.5;color:#c4d4c9;list-style-position:inside}.story-body details p{font-size:14px;line-height:1.65;margin:0 0 16px;color:#c4d4c9}.story-body ul{list-style:none;margin:0;padding:0}.story-body li a{display:inline-flex;min-height:44px;align-items:center;line-height:1.5;font-size:14px;padding:8px 0}.story-body figure{margin:30px 0 0}.story-body figure img{max-width:100%;height:auto;max-height:500px;object-fit:contain;display:block}.story-body figcaption{font-size:13px;line-height:1.6;color:var(--muted);margin-top:12px}.story-body .rights-link{font-size:14px}
footer{padding:28px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--muted);font-size:13px}footer a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}footer button{padding:10px 0;min-height:44px;font-size:13px}footer a:hover,footer button:hover{color:white}
dialog{background:#eaece2;color:#17251d;border:0;border-radius:8px;max-width:none;width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:54px 42px 38px;overflow:auto;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#080e0ada;backdrop-filter:blur(9px)}dialog[open]{animation:appear .22s ease both}dialog h2{font-size:38px;letter-spacing:-.055em;line-height:1.05;margin:0 0 30px}dialog p{font-size:16px;line-height:1.7}dialog a{color:inherit}.close{position:absolute;right:12px;top:12px;width:44px;height:44px;display:grid;place-items:center}.close:hover{background:#d6e0d3;border-radius:50%}#collection-list{display:grid;gap:0;margin-top:12px}#collection-list button{min-height:76px;display:flex;align-items:center;justify-content:space-between;text-align:left;border-bottom:1px solid #b5c4b7;font-size:23px;font-weight:700;letter-spacing:-.04em;gap:20px}#collection-list button span:last-child{font-size:13px;font-weight:400;color:#536559;letter-spacing:0;white-space:nowrap}#collection-list button:hover{color:#346f52}#collection #ending-open{margin-top:26px;color:#314e3e}.no-script{padding:40px var(--gutter)}.no-script h1{font-size:60px}.no-script p{line-height:1.6}
#zoom{width:calc(100% - 32px);height:calc(100dvh - 32px);max-height:none;background:#101613;color:var(--ink);padding:0;overflow:hidden;display:none;flex-direction:column}#zoom[open]{display:flex}.zoom-top{height:66px;display:flex;align-items:center;padding:0 25px;flex-shrink:0}.zoom-top h2{font-size:17px;letter-spacing:-.02em;margin:0}.zoom-top .close{top:11px}.zoom-scroll{overflow:auto;flex:1;min-height:0;padding:10px 20px 30px;overscroll-behavior:contain}#zoom-image{display:block;width:1200px;max-width:none;height:auto;margin:0 auto;cursor:zoom-out}#zoom>p{text-align:center;font-size:12px;margin:0;padding:13px;color:var(--muted);flex-shrink:0}#zoom .close:hover{background:#33483b}
.sound-sheet{position:relative;width:100%;padding:20px}.sound-sheet img{display:block;width:100%;height:auto;max-height:510px;object-fit:contain;filter:drop-shadow(0 20px 30px #0007)}.sound-sheet canvas{display:block;width:100%;height:270px;background:transparent;border:0}.sound-sheet .audio-progress{height:2px;background:#2d463a;margin-top:26px;position:relative}.sound-sheet .audio-progress span{height:100%;background:#c9e2d2;display:block;width:0;transition:width .15s linear}.sound-sheet .audio-time{text-align:right;color:var(--muted);font-size:12px;margin-top:12px;font-variant-numeric:tabular-nums}.waveform-caption{text-align:left;color:var(--muted);font-size:12px;line-height:1.5;margin-top:30px}.sound-seek{max-width:340px;margin-top:8px}.sound-seek input{width:100%;margin:0;min-height:44px;accent-color:#bed8ca}.audio-player{width:100%;max-width:340px;margin:20px 0 0}audio{display:none}
.paper-instrument{width:min(100%,510px);filter:drop-shadow(0 20px 25px #0006);transform:rotate(-3deg)}.paper-instrument svg{display:block;width:100%;height:auto}.paper-controls{display:flex;align-items:center;gap:16px;max-width:360px}.paper-controls input{flex:1;min-width:0;min-height:44px;accent-color:#b5d4b9}.paper-controls output{font-size:13px;min-width:50px;text-align:right;color:#bdcdbf}.paper-controls label{font-size:14px}.fold-feedback{color:#b5d4b9;font-size:13px;line-height:1.5;margin:8px 0 0}.type-sheet{width:100%;min-height:400px;background:#c5db6f;color:#24310b;padding:40px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 16px 36px #0006;transform:rotate(-2deg)}.type-sheet textarea{font-family:inherit;color:inherit;background:none;border:0;border-bottom:1px solid #6e7b39;width:100%;min-height:240px;resize:none;font-size:clamp(50px,5.5vw,80px);line-height:1;letter-spacing:-.06em;font-weight:800;padding:10px 0;overflow:hidden;border-radius:0;outline-offset:12px}.type-sheet p{font-size:12px;line-height:1.5;margin:24px 0 0;color:#46571b}.type-options{display:flex;gap:12px;align-items:center}.type-options button{min-height:44px;padding:9px 14px;border:1px solid #627c6a;border-radius:25px;font-size:14px}.type-options button[aria-pressed=true]{background:#dce7d8;color:#18251c;border-color:#dce7d8}.type-options button[data-weight="700"]{font-weight:700}.type-options button[data-weight="800"]{font-weight:800}
.geneva-shell{width:100%;max-width:590px}.geneva-shell svg{display:block;width:100%;max-height:500px}.geneva-actions{display:flex;gap:14px;margin-top:14px}.geneva-actions button{min-height:44px;padding:10px 14px;border:1px solid #71887a;border-radius:3px;font-size:14px}.geneva-actions .geneva-turn{background:#d6dbb7;color:#26321a;border-color:#d6dbb7;font-weight:700}.geneva-actions button[aria-disabled=true]{opacity:.6;cursor:default}.geneva-control input{min-height:44px;accent-color:#bfbc93}.geneva-readout,.geneva-note{font-size:13px;line-height:1.6;color:var(--muted);margin:14px 0 0;max-width:40ch}.geneva-note{font-size:12px;color:#91a395;margin-top:9px}.geneva-control{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 12px;max-width:400px;margin-top:20px}.geneva-control input{min-width:120px;width:100%;grid-column:1/-1;grid-row:2}.geneva-control label{font-size:13px}.geneva-control output{font-size:12px;color:var(--muted);max-width:19ch;text-align:right}
#ending{max-width:1480px;margin:auto;padding:60px var(--gutter) 70px;text-align:center;min-height:calc(100svh - 210px);animation:appear .55s ease both}.ending-prelude{font-size:15px;color:var(--muted);margin:0 0 36px}#ending h1{max-width:none;font-size:clamp(62px,8.3vw,128px);line-height:1.02;letter-spacing:-.07em}#ending h1 span{color:#a8d3b8}.ending-question{font-size:clamp(17px,2vw,23px);margin:36px 0 0;line-height:1.5;color:#c7d7ce}.mobile-break{display:none}#keepsakes{display:flex;flex-direction:column;align-items:center;gap:14px;margin:38px 0 45px}#keepsakes .take-button{text-decoration:none}#keepsakes p{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}.hub-link{display:inline-flex;align-items:center;gap:20px;font-size:clamp(18px,2vw,25px);min-height:52px;font-weight:700;letter-spacing:-.035em;padding:12px 0;text-decoration:none;border-bottom:1px solid #e9f0df}.hub-signature{font-size:13px;color:var(--muted);margin:14px 0 35px}#back-to-collection{font-size:13px;color:var(--muted)}
#room[data-object="letters"] #object-stage{height:auto;min-height:440px;padding:18px 8px;overflow:visible}dialog:not(#zoom) :focus-visible{outline-color:#346f52}#object-title:focus,#ending-title:focus{outline:none}body.is-ending footer{justify-content:flex-end}body.is-ending footer>a{display:none}
@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.changing{animation:appear .32s ease both}
@media(min-width:1700px){header,.object-navigation,footer{max-width:1660px;margin-inline:auto}#story{padding-left:max(var(--gutter),calc((100vw - 1500px)/2));padding-right:max(var(--gutter),calc((100vw - 1500px)/2))}}
@media(max-width:850px){:root{--gutter:26px}header{height:80px}.wordmark{font-size:21px}header button{font-size:13px;gap:10px}#room{grid-template-columns:1fr;gap:0;padding-top:12px;min-height:0}#object-stage{height:clamp(270px,46svh,520px)}.object-credit{font-size:12px;margin-top:13px}.object-copy{padding:28px 0 20px;max-width:600px;width:100%;margin:auto}.invitation{font-size:13px;margin-bottom:18px}h1{font-size:clamp(54px,11vw,76px);letter-spacing:-.06em;max-width:12ch}#object-title br{display:none}#object-teaser{font-size:17px;margin-top:18px;max-width:34ch}#instrument-controls{margin-top:18px}.taking{margin-top:23px}.take-button{min-height:51px;font-size:14px}#story-link{margin-top:22px}#take-home h2{font-size:32px}.object-navigation{margin-top:10px;padding:12px 0}#story{grid-template-columns:1fr;gap:30px;padding-top:50px;padding-bottom:58px;margin-top:10px}.story-heading h2{font-size:39px;max-width:19ch}.story-heading p{font-size:13px;margin-top:16px;max-width:none}.story-body p{font-size:17px;line-height:1.7}.story-body details p{font-size:14px}.story-body summary{font-size:13px}.artwork .inspect-hint{right:8px;bottom:8px;font-size:12px;padding:9px 12px}.sound-sheet{padding:0 10px}.sound-sheet canvas{height:180px}.paper-instrument{max-width:390px}.type-sheet{min-height:300px;padding:28px;max-width:520px}.type-sheet textarea{min-height:200px;font-size:66px}.type-sheet p{margin-top:16px}.geneva-shell svg{max-height:310px}.geneva-shell .geneva-control{margin-top:8px}#ending{padding-top:45px}#ending h1{font-size:clamp(60px,11vw,90px)}.ending-prelude{margin-bottom:28px}.ending-question{margin-top:28px}#keepsakes{margin:28px 0 34px;gap:8px}#keepsakes p{font-size:12px;max-width:30ch}.hub-link{font-size:18px;gap:12px}dialog{padding:52px 26px 30px}dialog h2{font-size:33px}#collection-list button{font-size:21px;min-height:71px}footer{padding-top:16px;padding-bottom:16px;font-size:12px}footer button{font-size:12px}}
@media(max-width:380px){:root{--gutter:20px}.wordmark{font-size:20px}header button{font-size:12px}#object-stage{height:300px}h1{font-size:52px}.object-copy{padding-top:25px}.invitation{font-size:12px}.type-sheet textarea{font-size:57px;min-height:180px}.type-sheet{min-height:270px}.mobile-break{display:block}.hub-link{font-size:16px}.object-navigation button{font-size:13px;gap:8px}#position{font-size:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
