:root{--paper:#f8f4ee;--white:#fffdf9;--ink:#382d32;--muted:#71636a;--wine:#754659;--line:#d9cfc9;--lilac:#e6dce4;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--wine);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}h2{font-size:clamp(2.4rem,4.3vw,4.8rem);line-height:1.13}h3{font-size:2rem}p{line-height:1.8}em{font-weight:400}::selection{background:var(--lilac)}[hidden]{display:none!important}.skip-link{position:fixed;top:-70px;left:20px;background:var(--white);padding:12px;z-index:100}.skip-link:focus{top:12px}
.site-header{height:88px;display:flex;align-items:center;gap:40px;padding:0 5.5%;border-bottom:1px solid var(--line);background:rgba(248,244,238,.97);position:sticky;top:0;z-index:20}.wordmark{font-family:var(--serif);font-size:22px;white-space:nowrap;letter-spacing:-.035em}.wordmark em{color:var(--wine)}.site-header nav{display:flex;align-items:center;gap:30px;margin-left:auto;font-size:13px}.site-header nav a{padding:12px 0}.site-header nav a:hover{color:var(--wine)}.nav-family{border-bottom:1px solid var(--wine)}.language{display:flex;gap:10px;font-size:12px;letter-spacing:.06em}.language a{padding:12px 2px;color:var(--muted)}.language a[aria-current]{color:var(--wine);font-weight:700}.language span{padding-top:12px;color:var(--line)}
.hero{max-width:1600px;margin:auto;min-height:calc(100svh - 88px);padding:60px 9% 32px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;column-gap:9%;position:relative}.hero-copy{padding-bottom:35px}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--wine);font-weight:600;margin-bottom:28px}.hero h1{font-size:clamp(5rem,8.8vw,9rem);line-height:.97;letter-spacing:-.055em}.hero h1 em{color:var(--wine);display:block;padding-top:8px;padding-bottom:12px}.tagline{font-family:var(--serif);font-size:clamp(1.25rem,1.8vw,1.8rem);max-width:350px;margin:28px 0 26px;line-height:1.5}.text-link{font-size:13px;display:inline-flex;gap:28px;align-items:center;line-height:1.5;border-bottom:1px solid var(--wine);padding:10px 0;color:var(--wine)}.text-link span{font-size:21px}.hero-image{position:relative;margin:0 0 32px;max-width:480px;justify-self:end}.hero-image img{position:relative;z-index:1;aspect-ratio:1/1;object-fit:contain;border:14px solid var(--white);box-shadow:0 18px 50px #3c203019}.photo-mat{position:absolute;inset:-24px 22px 24px -22px;border:1px solid #b89eac;transform:rotate(-5deg)}.hero-footnote{grid-column:1/-1;font-family:var(--serif);font-size:15px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:30px}
.memory-scene{max-width:1440px;margin:auto;padding:115px 9%;}.shore-scene{padding-top:110px}.scene-photo{max-width:1000px;margin:0 auto}.scene-photo img{aspect-ratio:16/9;object-fit:contain;background:var(--white);box-shadow:0 12px 40px #39283012;border:12px solid var(--white)}.scene-words{text-align:center;max-width:850px;margin:46px auto 0}.scene-words p{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.65rem);color:var(--wine);margin-top:20px}.together-scene{padding-top:50px}.paired-photos{display:grid;grid-template-columns:1.1fr .85fr;gap:9%;align-items:center;margin-top:70px}.paired-photos figure:first-child{transform:rotate(-3deg)}.paired-photos figure:last-child{transform:rotate(4deg);margin-top:80px}.paired-photos img{border:12px solid var(--white);box-shadow:0 15px 40px #382d3214}.afternoon-scene{display:grid;grid-template-columns:.9fr 1fr;gap:14%;align-items:center;padding-top:60px}.afternoon-photo{max-width:430px}.afternoon-photo img{border:12px solid var(--white);box-shadow:0 15px 40px #382d3212}.afternoon-scene .scene-words{text-align:left;margin:0}.section-pad{padding:110px 9%;max-width:1440px;margin:auto}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line);margin-top:70px}.about-body p{font-size:16px;color:var(--muted);line-height:1.95}.about-heading .eyebrow{margin-bottom:25px}.about-heading h2{font-size:clamp(2.4rem,4vw,4.1rem)}.section-intro{max-width:730px;margin-bottom:60px}.section-intro p{max-width:600px;margin-top:24px;color:var(--muted);font-size:16px}.events-section{background:#eee6e8;max-width:none;padding-left:max(9%,calc((100vw - 1180px)/2));padding-right:max(9%,calc((100vw - 1180px)/2))}.events{display:grid;grid-template-columns:1fr 1fr;gap:8%}.event{border-top:1px solid #c1a8b4;padding:30px 0}.event-type{font-size:13px;color:var(--wine);margin-bottom:18px}.event h3{font-size:clamp(1.8rem,2.7vw,2.8rem);margin-bottom:22px}.event-detail{color:var(--muted);font-size:15px}.event-note{margin-top:35px;font-size:13px;color:var(--muted)}.event-note span{display:block}.public-stories{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-bottom:32px}.public-stories blockquote{margin:0;border-left:2px solid #b99bae;padding:6px 30px;overflow-wrap:anywhere}.public-stories blockquote p{font-family:var(--serif);font-size:22px;white-space:pre-line}.public-stories cite{display:block;font-style:normal;font-size:13px;margin-top:20px;color:var(--wine)}.empty-state{color:var(--muted);font-family:var(--serif);font-size:21px;grid-column:1/-1;padding:20px 0}.contribute-section{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;border-top:1px solid var(--line);align-items:center}.contribute-section h2{font-size:clamp(2.3rem,3.8vw,3.8rem)}.contribute-section p{margin-top:25px;color:var(--muted)}.contribute-section .button{margin-top:30px}.contribute-photo img{border:10px solid var(--white);box-shadow:0 15px 30px #382d3212}.small{font-size:12px!important;line-height:1.7}.button{border:1px solid var(--wine);background:var(--wine);color:#fffdf9;display:inline-flex;gap:28px;align-items:center;justify-content:center;padding:15px 24px;min-height:48px;border-radius:3px;font-size:14px;line-height:1.4;text-align:center;transition:background .2s,transform .16s}.button:hover{background:#5b3446}.button:active{transform:scale(.98)}.button.secondary{color:var(--wine);background:transparent}.button.secondary:hover{background:var(--lilac)}.site-footer{padding:45px 5.5%;border-top:1px solid var(--line);display:flex;align-items:center;gap:30px;font-size:12px;color:var(--muted)}.site-footer>p{margin:auto;font-family:var(--serif);font-style:italic;font-size:16px}.site-footer>div{display:flex;gap:25px}
.workspace{padding-top:65px;min-height:70vh}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.workspace h1,.legal h1{font-size:clamp(2.8rem,5.5vw,5.5rem)}.workspace h2,.legal h2{font-size:clamp(1.9rem,3vw,3rem);margin-bottom:24px}.workspace-heading p:not(.eyebrow){margin-top:15px;color:var(--muted)}.workspace-heading .eyebrow{margin-bottom:18px}.login-form{max-width:460px;margin:55px 0 20px}.login-form>p{margin-bottom:25px}.login-form .button{margin-top:12px}label{display:flex;flex-direction:column;gap:9px;font-size:13px;margin:18px 0;color:var(--ink)}input:not([type=checkbox]),textarea{width:100%;border:1px solid #b9a9b1;border-radius:3px;padding:13px 14px;background:var(--white);color:var(--ink);min-height:46px;line-height:1.6}textarea{resize:vertical}input::placeholder{color:#83747b}.form-row{display:grid;grid-template-columns:2fr 1fr;gap:22px}.checkbox{display:flex;flex-direction:row;gap:13px;align-items:flex-start;font-size:13px;line-height:1.65;margin:24px 0}.checkbox input{width:19px;height:19px;flex-shrink:0;accent-color:var(--wine);margin-top:2px}.upload-panel{max-width:850px;padding:40px;background:var(--white);border:1px solid var(--line);margin:40px 0 70px}.upload-panel>p{color:var(--muted)}.file-select{margin-top:28px}.file-select input{border:1px dashed var(--wine);padding:25px;cursor:pointer}.file-select input::file-selector-button{background:var(--lilac);border:0;color:var(--ink);padding:10px 15px;margin-right:15px;cursor:pointer}.form-status,#global-status{white-space:pre-line;font-size:14px;color:var(--wine);margin-top:14px}.error-state{color:#a12538!important}.queue-item{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.queue-item strong{font-size:13px;overflow-wrap:anywhere}.queue-item p{font-size:12px;margin:5px 0}.queue-item progress{display:block;width:100%;height:7px;margin:12px 0;accent-color:var(--wine)}.queue-item button{margin-right:12px;font-size:12px;padding:8px 12px;min-height:36px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:30px 0 60px}.media-card{min-width:0}.media-open{display:block;border:0;width:100%;padding:0;background:#eae1e5;aspect-ratio:4/3;overflow:hidden;border-radius:3px}.media-open img{width:100%;height:100%;object-fit:contain}.media-open .preview-placeholder{display:flex;align-items:center;justify-content:center;padding:20px;height:100%;font-family:var(--serif);font-size:18px;color:var(--wine)}.media-caption{font-size:13px;margin-top:12px;color:var(--muted);overflow-wrap:anywhere;white-space:pre-line}.media-credit{font-size:12px;color:var(--wine);margin-top:5px}.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.card-actions button,.card-actions a{font-size:12px;border:0;background:transparent;color:var(--wine);padding:7px 0;text-decoration:underline}.card-actions label{margin:0;font-size:12px;display:flex;flex-direction:row;align-items:center;gap:7px}.card-actions .danger{color:#9f2638}.story-panel{max-width:800px;border-top:1px solid var(--line);padding-top:55px}.admin-section{margin:60px 0}.admin-stats{display:flex;gap:35px;flex-wrap:wrap;margin:35px 0;font-size:14px}.admin-stats p{color:var(--muted)}.toolbar{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin:25px 0}.toolbar span{font-size:13px}.review-item{padding:25px;border:1px solid var(--line);margin:18px 0}.review-item p{white-space:pre-line;overflow-wrap:anywhere}.review-item h3{font-size:23px;margin-bottom:12px}.review-item .button{margin:15px 10px 0 0}.review-item small{display:block;color:var(--wine);margin-top:15px}details{border-top:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-family:var(--serif);font-size:24px}fieldset{border:1px solid var(--line);margin:25px 0;padding:20px}legend{font-family:var(--serif);font-size:23px}.legal{max-width:900px;min-height:65vh}.legal p{margin:30px 0}dialog{max-width:min(94vw,1050px);width:100%;max-height:94svh;background:var(--paper);border:0;border-radius:4px;padding:50px 30px 30px;color:var(--ink)}dialog::backdrop{background:#241b24c9}.viewer-close{position:absolute;right:14px;top:6px;border:0;background:none;font-size:35px;color:var(--wine);width:44px;height:44px}#viewer-content img,#viewer-content video{max-height:68svh;max-width:100%;width:auto;margin:auto;object-fit:contain}#viewer-content p{margin:15px 0 0;text-align:center;white-space:pre-line;overflow-wrap:anywhere}
@media(prefers-reduced-motion:no-preference){.reveal{transition:opacity .85s ease,translate .85s cubic-bezier(.22,.61,.36,1)}.reveal.waiting-reveal{opacity:0;translate:0 24px}.hero-copy{animation:arrive .9s ease both}.hero-image{animation:arrive 1.2s .1s ease both}@keyframes arrive{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}}
@media(min-width:1600px){.hero{min-height:840px}}
@media(max-width:900px){.site-header{gap:18px;padding:0 5%;height:76px}.site-header nav{gap:18px;font-size:12px}.hero{padding:60px 7% 28px;column-gap:7%;min-height:700px}.hero h1{font-size:clamp(4rem,10vw,6.5rem)}.hero-image img{border-width:9px}.photo-mat{inset:-16px 12px 18px -12px}.memory-scene,.section-pad{padding:80px 7%}.afternoon-scene{gap:9%}.about-section{gap:7%}.site-footer{flex-wrap:wrap}.site-footer>p{margin-left:auto;margin-right:0}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.public-stories{grid-template-columns:1fr}.contribute-section{gap:7%}}
@media(max-width:600px){html{scroll-padding-top:115px}.site-header{height:auto;min-height:96px;padding:16px 6% 12px;display:grid;grid-template-columns:1fr auto;gap:10px 20px}.wordmark{font-size:21px}.site-header nav{grid-row:2;grid-column:1/-1;justify-content:space-between;margin:0;gap:12px;font-size:11px}.site-header nav a{padding:6px 0}.language{grid-column:2;grid-row:1}.language a{padding:5px 1px}.language span{padding-top:5px}.hero{padding:40px 8% 24px;grid-template-columns:1fr;min-height:0;gap:20px}.hero-copy{padding:0}.eyebrow{font-size:10px;margin-bottom:18px}.hero h1{font-size:clamp(4.8rem,16vw,6.2rem);line-height:.98}.tagline{font-size:1.3rem;max-width:300px;margin:20px 0 12px}.hero-image{max-width:330px;justify-self:center;width:88%;margin:36px 0 8px}.hero-footnote{font-size:13px;margin-top:5px;padding-top:18px}.memory-scene,.section-pad{padding:60px 7%}.scene-photo img{border-width:7px}.scene-words{margin-top:32px}h2{font-size:2.4rem}.scene-words p{font-size:1.2rem}.paired-photos{gap:7%;margin-top:35px}.paired-photos img{border-width:6px}.paired-photos figure:last-child{margin-top:50px}.afternoon-scene{grid-template-columns:1fr;gap:30px}.afternoon-photo{max-width:340px;margin:auto}.afternoon-scene .scene-words{text-align:center}.about-section{margin-top:20px;grid-template-columns:1fr;gap:30px}.about-body p{font-size:15px}.section-intro{margin-bottom:35px}.events{grid-template-columns:1fr;gap:15px}.event{padding-top:25px}.event h3{font-size:2rem}.event-note{margin-top:15px}.contribute-section{grid-template-columns:1fr;gap:35px}.contribute-photo{max-width:400px}.site-footer{padding:30px 7%;display:block}.site-footer>p{margin:15px 0}.site-footer>div{margin-top:20px}.workspace-heading{align-items:flex-start;flex-direction:column}.workspace{padding-top:35px}.workspace h1{font-size:2.9rem}.upload-panel{padding:22px 18px;margin-top:25px}.form-row{grid-template-columns:1fr;gap:0}.gallery{gap:22px 12px}.media-caption{font-size:12px}.media-open .preview-placeholder{font-size:14px;padding:10px}.toolbar .button{font-size:12px;padding:12px 15px}.admin-stats{gap:15px}.card-actions{gap:9px}dialog{padding:50px 16px 24px}.public-stories blockquote{padding-left:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;translate:none!important}}
