:root{color-scheme:dark;--cream:#f5eee1;--gold:#e5c89c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#151714;color:var(--cream);font:16px/1.65 -apple-system,BlinkMacSystemFont,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #fff;outline-offset:6px}.skip{position:fixed;top:-100px;z-index:20;background:#151714;padding:12px}.skip:focus{top:0}.mast{position:absolute;inset:0 0 auto;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:30px 5%;font-size:13px}.wordmark{font:26px Georgia,serif;letter-spacing:-.04em}.chapter{min-height:100svh;position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden}.frame,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.shade{z-index:-1;background:linear-gradient(90deg,rgba(12,16,16,.78),rgba(12,16,16,.34) 48%,rgba(12,16,16,.06)),linear-gradient(0deg,rgba(12,16,16,.5),transparent 30%)}.opening .frame,.invitation .frame{object-position:65% 42%}.opening .story{padding-top:100px}.story{padding:100px 7%;width:100%;max-width:850px}.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 28px}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em;line-height:1.02;margin:0 0 28px;text-wrap:balance}h1{font-size:clamp(72px,8vw,122px)}h2{font-size:clamp(54px,6vw,88px)}em{font-weight:400;color:var(--gold)}.story>p:not(.eyebrow){max-width:450px;font:18px/1.75 Georgia,serif}.enter{display:inline-block;text-align:left;padding:16px 25px;margin-top:15px;border:1px solid #e5c89c9c;background:#eee3cd;color:#242521;font-size:15px}.enter span{display:block;font-size:10px;letter-spacing:.06em;margin-top:3px}.quiet{display:block;width:fit-content;font-size:12px;margin-top:20px;border-bottom:1px solid #ffffff50}.caption{position:absolute;bottom:25px;left:7%;right:7%;font-size:10px;color:#eee9df}.scroll-cue{position:absolute;bottom:25px;right:7%;font-size:11px}.opening .caption{bottom:55px}.story .annotation{font:11px/1.6 -apple-system,sans-serif!important;max-width:390px!important;color:#e2dcd2;margin-top:28px}.together .story{margin-left:auto;max-width:720px}.together .shade{background:linear-gradient(270deg,#101511df,#10151155 65%,transparent)}.vessel .frame{object-position:center}.invitation{min-height:85svh}footer{padding:55px 7% 25px;background:#252923;display:grid;grid-template-columns:1fr 1fr;gap:30px;font-size:12px;color:#d7d5cb}footer p{max-width:500px}footer small{grid-column:1/-1;border-top:1px solid #ffffff25;padding-top:20px;font-size:10px}summary{cursor:pointer;padding:8px 0;font:20px Georgia,serif}details a{text-decoration:underline}dialog{color:var(--cream);background:#121a24;border:1px solid #e5c89c70;width:min(960px,92vw);max-height:94svh;padding:22px;overflow:auto}dialog::backdrop{background:#02070ced}dialog h2{font-size:30px;margin:0 0 15px}dialog video{width:100%;max-height:60svh;display:block}dialog button{background:none;border:1px solid #e5c89c;color:var(--cream);padding:10px 15px}.arrival-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.arrival-credit,dialog [role=status]{font-size:11px;line-height:1.6}.arrival-credit a{text-decoration:underline}@media(max-width:650px){.mast{padding:23px 6%}.wordmark{font-size:23px}.chapter{min-height:95svh;align-items:flex-end}.story,.opening .story{padding:250px 7% 100px}.opening .frame,.invitation .frame{object-position:60% center}.shade,.together .shade{background:linear-gradient(0deg,#101511f0,#101511a0 35%,#10151112 75%)}h1{font-size:70px}h2{font-size:51px}.story>p:not(.eyebrow){font-size:16px}.eyebrow{margin-bottom:20px}.opening .caption{bottom:42px;font-size:9px}.scroll-cue{bottom:18px}.caption{font-size:9px;bottom:20px}.lake .frame{object-position:58% center}.together .frame{object-position:center}.vessel .frame{object-position:35% center}footer{grid-template-columns:1fr;padding:35px 7%}dialog{padding:18px}.arrival-controls button{font-size:12px;padding:10px}.invitation{min-height:90svh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media(min-width:651px){.opening .frame,.invitation .frame{transform:scaleX(-1)}}
@media(max-width:650px){.opening .frame,.invitation .frame{object-position:35% center}}
