:root{--font-display:"Hoefler Text Engr1 A", "Hoefler Text Engr1 B", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-body:"Sentinel SSm A", "Sentinel SSm B", Georgia, "Times New Roman", serif;--font-accent:"Hoefler Text A", "Hoefler Text B", "Hoefler Text", Georgia, serif;--paper:#f6efe2;--paper-deep:#ede4d2;--paper-input:#fffaf099;--paper-input-focus:#fffaf0f2;--ink:#2a2117;--ink-soft:#5c5044;--ink-faint:#8a7d6d;--rule:#d4c8b3;--accent:#6a7a5c;--accent-deep:#4a5840;--error:#8a4a3a;--error-bg:#8a4a3a14;--error-border:#8a4a3a40;font-size:18px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 50% -10%,#fffaeb99 0%,#0000 60%),radial-gradient(at 50% 110%,#4a58400d 0%,#0000 60%);min-height:100vh;line-height:1.5}.memorial-page{justify-content:center;padding:5rem 1.5rem 6rem;display:flex}.memorial-container{opacity:0;width:100%;max-width:36rem;animation:.9s ease-out .1s forwards fadeUp;transform:translateY(12px)}@keyframes fadeUp{to{opacity:1;transform:none}}.hero{text-align:center;margin-bottom:2.5rem}.hero .eyebrow{font-family:var(--font-display);letter-spacing:.35em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1.5rem;font-size:.7rem;font-weight:400}.hero h1{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0 0 1.25rem;font-size:39px;font-style:normal;font-weight:400;line-height:1}.hero .dates{font-family:var(--font-body);color:var(--ink-soft);letter-spacing:.02em;font-size:1rem;font-style:italic;font-weight:400}.photo{background:var(--paper-deep);border:1px solid var(--rule);max-width:17rem;color:var(--ink-faint);font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;justify-content:center;align-items:center;margin:2rem auto 3rem;font-size:.7rem;display:flex}.prose{color:var(--ink);font-size:1.0625rem;font-weight:400;line-height:1.65}.prose p{margin:0 0 1.25rem}.prose p:last-child{margin-bottom:0}section{margin-top:3.5rem}section h2{font-family:var(--font-display);letter-spacing:-.005em;color:var(--ink);margin:0 0 1.25rem;font-size:1.5rem;font-weight:400}.cta-block{text-align:center;margin:1.75rem 0 0}.cta{font-family:var(--font-display);letter-spacing:.01em;color:var(--paper);background:var(--accent-deep);border:1px solid var(--accent-deep);cursor:pointer;border-radius:999px;padding:.95rem 2.25rem;font-size:1rem;font-weight:500;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;display:inline-block;box-shadow:0 1px 2px #2a211714}.cta:hover:not(:disabled){background:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #2a21171f}.cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.cta:disabled{opacity:.55;cursor:not-allowed}.cta-note{color:var(--ink-soft);margin-top:1rem;font-size:.875rem;font-style:italic}ul.tips{margin:0;padding:0;list-style:none}ul.tips li{border-bottom:1px dotted var(--rule);color:var(--ink);padding:.65rem 0 .65rem 1.5rem;font-size:1rem;line-height:1.6;position:relative}ul.tips li:last-child{border-bottom:none}ul.tips li:before{content:"·";color:var(--accent);font-size:1.75rem;line-height:1;position:absolute;top:.35rem;left:.25rem}.event-card{background:var(--paper-deep);border:1px solid var(--rule);color:var(--ink-soft);text-align:center;border-radius:2px;padding:2rem 1.5rem;font-size:1rem;font-style:italic;line-height:1.6}.event-card p{line-height:1.3}.event-card-body{text-align:left;display:inline-block}.directions-link{letter-spacing:.06em;color:var(--ink-soft);text-underline-offset:3px;margin-top:1rem;font-size:.85rem;font-style:normal;text-decoration:underline;display:block}.directions-link:hover{color:var(--ink)}.venue-map{border:1px solid var(--rule);filter:grayscale(.4);border-top:none;border-radius:0 0 2px 2px;width:100%;height:280px;display:block}footer{border-top:1px solid var(--rule);text-align:center;color:var(--ink-soft);margin-top:5rem;padding-top:2rem;font-size:.95rem;font-style:italic;line-height:1.8}.memory-form{flex-direction:column;gap:1.25rem;margin-top:1.75rem;display:flex;position:relative}.field{flex-direction:column;gap:.4rem;display:flex}.field label{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-size:.7rem;font-weight:500}.field input,.field textarea{font-family:var(--font-body);color:var(--ink);background:var(--paper-input);border:1px solid var(--rule);appearance:none;border-radius:2px;outline:none;padding:.7rem .85rem;font-size:1rem;line-height:1.6;transition:border-color .15s,background .15s}.field input:hover,.field textarea:hover{border-color:var(--ink-faint)}.field input:focus,.field textarea:focus{border-color:var(--accent);background:var(--paper-input-focus)}.field textarea{resize:vertical;min-height:9rem;font-family:var(--font-body)}.field textarea::placeholder{color:var(--ink-faint);opacity:.7;font-style:italic}.honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}.turnstile{min-height:65px;margin:.25rem 0 .5rem}.form-actions{justify-content:center;margin-top:.5rem;display:flex}.form-status{border-radius:2px;margin-top:1.5rem;padding:1rem 1.25rem;font-size:.95rem;font-style:italic;line-height:1.6}.form-status.success{background:var(--paper-deep);border:1px solid var(--rule);color:var(--ink)}.form-status.error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error)}.form-status a{color:inherit;text-underline-offset:2px;text-decoration:underline}@media (max-width:480px){.memorial-page{padding:3rem 1.25rem 4rem}.hero{margin-bottom:1.5rem}section{margin-top:2.75rem}}
