:root{--red:#b3262e;--green:#1f5e3b;--gold:#e0a82e;--cream:#fff8ee;--ink:#2b2220}
*{box-sizing:border-box}body{margin:0;font-family:Georgia,"Times New Roman",serif;background:var(--cream);color:var(--ink);line-height:1.5}
a{color:var(--red)}nav{position:sticky;top:0;z-index:5;background:var(--green);display:flex;justify-content:center;gap:1.2rem;padding:.7rem}
nav a{color:#fff;text-decoration:none;font-weight:bold}nav a.on{border-bottom:2px solid var(--gold)}
.hero{text-align:center;padding:3rem 1rem 2.5rem;color:#fff;background:radial-gradient(circle at 20% 20%,#d23a42,var(--red) 60%,#7d1a20)}
.hero h1{font-size:clamp(2rem,8vw,3.6rem);margin:.3rem 0}.hero .sub{font-size:1.2rem;color:#ffe9b8}
.hero .when{display:inline-block;margin-top:1rem;background:rgba(255,255,255,.15);padding:.8rem 1.2rem;border-radius:14px}
.btn{display:inline-block;background:var(--gold);color:var(--ink);padding:.9rem 1.6rem;border-radius:999px;font-weight:bold;text-decoration:none;border:0;font-size:1.1rem;cursor:pointer;margin-top:1rem}
.btn.big{font-size:1.4rem;padding:1.1rem 2.4rem}
section{max-width:900px;margin:auto;padding:2rem 1rem}h2{color:var(--green);text-align:center;font-size:1.9rem}
.tl{list-style:none;padding:0}.tl li{display:flex;gap:1rem;background:#fff;margin:.6rem 0;padding:1rem;border-radius:12px;border-left:6px solid var(--red);box-shadow:0 2px 6px #0001}
.tl b{min-width:5.2rem;color:var(--red)}.tl small{display:block;color:#666}
.album{columns:2 150px;column-gap:.6rem}.album img,.album .ph{width:100%;margin-bottom:.6rem;border-radius:10px;break-inside:avoid;cursor:zoom-in;display:block}
.ph{display:flex!important;align-items:center;justify-content:center;color:#8a7a6a;background:repeating-linear-gradient(45deg,#f1e6d4,#f1e6d4 10px,#ebdcc5 10px,#ebdcc5 20px);font-size:.9rem}
#lb{position:fixed;inset:0;background:#000d;display:none;align-items:center;justify-content:center;z-index:9}#lb.open{display:flex}#lb img{max-width:94vw;max-height:88vh;border-radius:8px}
#lb button{position:absolute;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer}#lb .x{top:.5rem;right:1rem}#lb .p{left:.5rem}#lb .n{right:.5rem}
footer{text-align:center;padding:2rem;color:#777;font-size:.9rem}
.card{background:#fff;border-radius:14px;padding:1.2rem;box-shadow:0 2px 8px #0001;margin:1rem 0}
label{display:block;font-weight:bold;margin:.6rem 0 .2rem}input,select,textarea{width:100%;padding:.7rem;border:1px solid #ccb;border-radius:8px;font:inherit}
.row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
table{width:100%;border-collapse:collapse;font-size:.95rem}th{background:var(--green);color:#fff;text-align:left;padding:.5rem}td{padding:.5rem;border-bottom:1px solid #eee;vertical-align:middle}
td input{width:4.5rem;padding:.4rem}.left{font-weight:bold;color:var(--green)}.full{color:#999}
.cat{color:var(--red);margin:1.2rem 0 .3rem}.notice{background:#fff3cd;border:1px solid var(--gold);padding:.8rem;border-radius:10px;font-size:.9rem}
.hidden{display:none}
.pay{margin-top:1rem;text-align:center}.paygrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}
.paycard{display:flex;flex-direction:column;align-items:center;gap:.2rem;background:var(--cream);border:2px solid #eedfc4;border-radius:12px;padding:.8rem;text-decoration:none;color:var(--ink)}
.paycard img{width:100%;max-width:200px;aspect-ratio:1;border-radius:8px;background:#fff}.paycard span{font-size:.85rem;color:#666}a.paycard:hover{border-color:var(--gold)}
.applepay{width:100%;max-width:200px;aspect-ratio:1;border-radius:8px;background:#000;display:flex;align-items:center;justify-content:center;color:#fff;font:600 1.6rem -apple-system,Helvetica,sans-serif}
.applepay::after{content:"Apple Pay"}
/* ---- photo memoir ---- */
.photohero{background-size:cover;background-position:center;min-height:88vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-shadow:0 2px 12px #0008}
.eyebrow,.ch-num{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:var(--red);font-family:Helvetica,Arial,sans-serif}
.memoir-intro{text-align:center;max-width:640px}.memoir-intro h2{font-size:2.4rem;margin:.2rem 0}
.chapter{max-width:1200px;margin:0 auto 4rem;padding:0 1rem}
.ch-head{text-align:center;max-width:600px;margin:3rem auto 2rem}.ch-head h3{font-size:clamp(1.7rem,5vw,2.6rem);color:var(--green);margin:.3rem 0;font-weight:normal;font-style:italic}
.ch-label{color:var(--gold);font-weight:bold;margin:0}.ch-cap{color:#6b5d55}
figure.m{margin:0 0 1rem;overflow:hidden;border-radius:6px;background:#eee3d2}figure.m img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in;will-change:transform;transition:transform .2s ease-out}
figure.full{margin:0 -1rem 1rem;border-radius:0;aspect-ratio:3/2;max-height:85vh}
.two,.stagger{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.two figure,.stagger figure{aspect-ratio:4/5}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}.reveal.in{opacity:1;transform:none}
.memoir-end{text-align:center}
@media (min-width:760px){figure.full{margin:0 0 1.2rem;border-radius:6px}.two{grid-template-columns:1fr 1fr}.two figure{aspect-ratio:4/3}
 .stagger{grid-template-columns:7fr 5fr;align-items:start}.stagger .off-r{margin-top:5rem}.stagger .off-l{aspect-ratio:4/3}}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}figure.m img{transform:none!important}}
