:root{--ink:#43264e;--accent:#795682;--cream:#fbf7f2;--line:#e7dce7;--muted:#6d6870}*{box-sizing:border-box}body{margin:0;font-family:Georgia,'Times New Roman',serif;color:#302b31;background:linear-gradient(#fbf7f2,#fff)}a{color:var(--ink)}.wrap{max-width:1100px;margin:auto;padding:24px}.hero{display:grid;grid-template-columns:340px 1fr;gap:44px;align-items:center;padding:42px 0}.portrait{width:100%;border-radius:22px;box-shadow:0 14px 40px #0002}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--accent);font-size:.8rem}.hero h1{font-size:clamp(2.3rem,5vw,4.7rem);line-height:.96;color:var(--ink);margin:.3em 0}.dates{font-size:1.15rem;letter-spacing:.08em}.tagline{font-size:1.45rem;font-style:italic;color:var(--accent)}.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;padding:12px 20px;border-radius:999px;border:0;cursor:pointer;font:inherit}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}section{padding:34px 0;border-top:1px solid var(--line)}h1,h2{color:var(--ink)}h2{font-size:2rem}.story{font-size:1.07rem;line-height:1.75;white-space:pre-line}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 6px 20px #0000000a}.meta{color:var(--muted);font-size:.9rem}.memory-photo{width:100%;border-radius:12px;margin-top:12px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}label{display:block;font-weight:bold;margin-bottom:6px}input,textarea{width:100%;padding:11px;border:1px solid #cfc4cf;border-radius:9px;font:inherit}textarea{min-height:150px}.notice{padding:14px;border-radius:10px;background:#f2eaf3;margin:14px 0}.video{aspect-ratio:16/9;width:100%;border:0;border-radius:14px}.footer{text-align:center;color:var(--muted);padding:36px}.adminbar{display:flex;justify-content:space-between;align-items:center;gap:10px}.thumb{max-width:180px;border-radius:8px}.honeypot{position:absolute;left:-9999px}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:24px}.portrait{max-width:420px;margin:auto}.formgrid{grid-template-columns:1fr}.full{grid-column:auto}.wrap{padding:16px}}


/* Remember V1.1 polish */
.memory-card{position:relative;padding:22px}.memory-card h3{margin:.1rem 0 .3rem;font-size:1.35rem;color:var(--ink)}.memory-text{line-height:1.65;margin:14px 0}.memory-card.featured{border-color:#bda6c3;box-shadow:0 10px 30px #43264e18}.featured-label{display:inline-block;margin:-4px 0 12px;padding:5px 10px;border-radius:999px;background:#f2eaf3;color:var(--ink);font-size:.75rem;font-weight:bold;letter-spacing:.05em;text-transform:uppercase}.memory-gallery,.admin-gallery{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.photo-button{appearance:none;border:0;background:none;padding:0;cursor:zoom-in;border-radius:10px;overflow:hidden}.memory-photo,.thumb{display:block;width:160px;height:120px;object-fit:cover;border-radius:10px;margin:0;border:1px solid var(--line);transition:transform .15s ease,box-shadow .15s ease}.memory-photo:hover,.thumb:hover{transform:translateY(-2px);box-shadow:0 7px 18px #0002}.thumb{width:140px;height:105px}.lightbox{position:fixed;inset:0;z-index:9999;background:#130f15eF;display:none;align-items:center;justify-content:center;padding:54px 72px}.lightbox.open{display:flex}.lightbox-image{max-width:min(94vw,1500px);max-height:88vh;object-fit:contain;border-radius:8px;box-shadow:0 18px 60px #0008}.lightbox-close,.lightbox-nav{position:absolute;border:0;background:#ffffff18;color:#fff;cursor:pointer;border-radius:999px;font-family:Arial,sans-serif}.lightbox-close{right:20px;top:16px;width:44px;height:44px;font-size:34px;line-height:40px}.lightbox-nav{top:50%;transform:translateY(-50%);width:46px;height:58px;font-size:28px}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-close:hover,.lightbox-nav:hover{background:#ffffff2e}.formgrid{gap:12px;padding:18px}.formgrid textarea{min-height:120px}.formgrid label{font-size:.96rem}.formgrid input,.formgrid textarea{padding:10px}.adminbar+ .cards .card{padding:18px}.adminbar+ .cards .card form{display:flex;flex-wrap:wrap;gap:8px}.adminbar+ .cards .btn{padding:9px 16px}
@media(max-width:760px){.memory-photo{width:112px;height:92px}.thumb{width:105px;height:82px}.lightbox{padding:56px 12px}.lightbox-nav{width:40px;height:52px}.lightbox-prev{left:6px}.lightbox-next{right:6px}.formgrid{padding:15px}}

/* Remember V1.2 public-release polish */
.success-notice{border:1px solid #d8c4dc;box-shadow:0 4px 14px #43264e0d}.fyntrilo-mark{margin-top:10px;font-family:Arial,sans-serif;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#8b7d8e}.fyntrilo-mark span{font-weight:400;letter-spacing:.04em;text-transform:none}.photo-button:focus-visible,.lightbox-close:focus-visible,.lightbox-nav:focus-visible,.btn:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a984b2;outline-offset:3px}.portrait{object-fit:cover}.memory-photo{background:#f4eff4}.lightbox-image{background:#fff}.footer{border-top:1px solid var(--line);margin-top:20px}
@media(max-width:760px){h2{font-size:1.75rem}.hero{padding-top:24px}.hero h1{font-size:clamp(2.2rem,12vw,3.4rem)}.dates{font-size:1rem}.tagline{font-size:1.2rem}.card{padding:16px}.footer{padding:28px 8px}}

.btn.danger{background:#9b2c2c;color:#fff;border-color:#9b2c2c}.btn.danger:hover{background:#7f1d1d;border-color:#7f1d1d}
