:root{
  --bg:#d9d9dc;
  --fg:#2a0f14;
  --muted:#6b4a52;
  --accent:#7a2e3c;
  --border:#c4c4ca;
  --card:#d9d9dc;
}
*{box-sizing:border-box;margin:0;padding:0;font-family:'Monotype Corsiva','Segoe Script','Lucida Handwriting','Snell Roundhand',system-ui,sans-serif}
body{background:var(--bg);color:var(--fg);line-height:1.55}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:720px;margin:0 auto;padding:0 1.1rem}

/* ---------- nav ---------- */
nav{display:flex;justify-content:center;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(217,217,220,.92);backdrop-filter:blur(8px);z-index:10}
.logo{font-weight:700;letter-spacing:.3px;color:var(--fg)}
.logo span{color:var(--accent)}
.links{width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.1rem;font-size:.9rem}
.links a.active{color:var(--fg);border-bottom:1px solid var(--accent);padding-bottom:2px}

/* ---------- mirror banner ---------- */
.cover{position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.mirror{position:relative}
.mirror .top{width:100%;display:block;height:62vh;min-height:440px;max-height:700px;object-fit:cover;filter:saturate(.92) contrast(1.04) sepia(.05)}
.mirror .ref{position:absolute;left:0;right:0;bottom:-18%;height:47%;width:100%;object-fit:cover;object-position:top center;transform:scaleY(-1);opacity:.32;filter:saturate(.8) blur(.5px);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 90%);mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 90%);pointer-events:none}
.cover-txt{position:relative;text-align:center;padding:0.6rem 1.25rem 3.4rem;background:linear-gradient(180deg,transparent,var(--bg) 40%)}
.cover-txt h1{font-size:clamp(1.9rem,7vw,3rem);font-weight:700;letter-spacing:2.5px;color:var(--fg)}
.cover-txt p{margin-top:.35rem;font-size:.98rem;color:var(--muted);letter-spacing:.4px}
.cover-txt .tag{margin-top:.9rem;font-size:.92rem;color:var(--fg);font-style:italic;letter-spacing:.2px;max-width:520px;margin-left:auto;margin-right:auto}
.cover-txt .sig{margin-top:1.1rem;font-size:.9rem;font-weight:600;color:var(--accent)}
.intro{text-align:center;padding:1.6rem 1.25rem .4rem}
.intro h2{font-size:1.5rem;font-weight:800;letter-spacing:1.5px;color:var(--fg);text-transform:uppercase}

/* ---------- page header ---------- */
.page-head{padding:2.4rem 0 1.2rem}
.page-head h1{font-size:1.6rem;font-weight:700;letter-spacing:.4px}
.page-head p{color:var(--muted);font-size:.92rem;margin-top:.3rem}

/* ---------- sections ---------- */
section{padding:2.2rem 0}
h2{font-size:1.08rem;font-weight:600;letter-spacing:.3px;margin-bottom:.35rem}
.sub{font-size:.85rem;color:var(--muted);margin-bottom:1.1rem}

/* ---------- photo grid ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.card{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:12px;background:#111;border:1px solid var(--border);transition:transform .25s ease,box-shadow .25s ease}
.card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.45)}
.card:hover img{transform:scale(1.05)}
.card .cap{position:absolute;left:0;right:0;bottom:0;padding:.6rem .7rem;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));color:#fff;font-size:.8rem;font-weight:500}

/* ---------- donate ---------- */
.donate{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.3rem;display:flex;flex-direction:column;gap:.85rem}
.donate .label{font-size:.78rem;color:var(--muted);letter-spacing:.3px;text-transform:uppercase}
.donate form{display:flex;gap:.55rem;flex-wrap:wrap}
.donate input[type=text]{flex:1;min-width:200px;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--fg);padding:.6rem .8rem;font-size:.88rem;outline:none}
.donate input[type=text]:focus{border-color:var(--accent)}
.btn{display:inline-flex;align-items:center;gap:.35rem;padding:.6rem 1.1rem;border:none;border-radius:999px;font-size:.87rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#7a2e3c,#4a1a24);cursor:pointer;transition:opacity .2s}
.btn:hover{opacity:.9}
.addr{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.72rem;color:var(--muted)}
.addr code{background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:.3rem .5rem;word-break:break-all;color:var(--fg)}
.copy-btn{background:none;border:none;color:var(--accent);font-size:.78rem;cursor:pointer;font-weight:600}
.qr-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:.4rem}
.qr{display:flex;flex-direction:column;align-items:center;gap:.3rem;font-size:.72rem;color:var(--muted)}
.qr img{width:96px;height:96px;border-radius:8px;border:1px solid var(--border);background:#fff;padding:4px}

/* ---------- about ---------- */
.about{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.2rem;display:flex;flex-direction:column;gap:.8rem}
.about p{font-size:.92rem;color:var(--fg)}
.about strong{color:var(--fg)}

/* ---------- footer ---------- */
.footer{margin:2.4rem 0 1.3rem;font-size:.78rem;color:var(--muted);text-align:center}

/* ---------- variant pages ---------- */
.page-head .v{display:block;font-size:.78rem;color:var(--muted);letter-spacing:.3px;margin-top:.4rem;font-weight:600;text-transform:lowercase}
/* horizontal row (variant B) */
.row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem;-webkit-overflow-scrolling:touch}
.row .card{flex:0 0 auto;width:220px;scroll-snap-align:start}
/* mosaic (variant C) */
.mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.mosaic .card{aspect-ratio:4/5}
.mosaic .card.tall{grid-row:span 2;aspect-ratio:auto}
.mosaic .card.wide{grid-column:span 2;aspect-ratio:16/10}

/* ---------- kill every box: text sits flat on the page ---------- */
.card,.cover,.mirror,.donate,.about,.intro,.addr,.addr-row,.donate-card,
.donate .addr,.grid .card,section .card,section .donate,section .addr{background:transparent!important;border:none!important;box-shadow:none!important;-webkit-mask-image:none!important;mask-image:none!important;border-radius:0!important}
.cap,.cap-btn,.sub,.label,.addr .label{background:none!important;border:none!important;box-shadow:none!important}
/* keep the mirror reflection useful but drop its box edges */
.mirror .ref,.mirror img.ref{opacity:.28;border-radius:0;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.65),transparent 92%)!important;mask-image:linear-gradient(180deg,rgba(0,0,0,.65),transparent 92%)!important}
/* photo cards: image only, caption as plain overline text */
.grid .card,.photos .card{padding:0;background:transparent!important;border:1px solid transparent!important;box-shadow:none!important}
.grid .card:hover,.grid .card:hover img{transform:none;box-shadow:none}

/* Uniform type size across every page and inline style. */
body, body *{font-size:16px!important}
@media(max-width:520px){nav{padding:.65rem .8rem}.links{gap:.4rem .7rem}}
