/* Juan Tamariz's memorial is a record of a life and its influence, not an
   active booking profile. The quieter paper-and-ink treatment deliberately
   removes the ordinary profile's sales rhythm while retaining FindMagic's
   wine, gold and card-table visual language. */
.memorial-page { color:var(--ink); background:var(--ground); }
.memorial-page .section-head { max-width:48rem; margin:0 auto 2.5rem; text-align:center; }
.memorial-page .section-head .eyebrow { display:block; margin-bottom:.75rem; }
.memorial-page .section-head h2 { font-size:clamp(2.2rem,6vw,4rem); line-height:1; }
.memorial-page .section-head p { max-width:42rem; margin:1rem auto 0; color:var(--muted); }
.memorial-narrow { max-width:52rem; }

.memorial-hero { position:relative; overflow:hidden; border-bottom:1px solid var(--line); background:
  linear-gradient(115deg, color-mix(in srgb,var(--wine) 22%,transparent), transparent 48%), var(--ground-2); }
.memorial-hero-glow { position:absolute; inset:-35% -15% auto auto; width:58vw; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb,var(--gold) 13%,transparent), transparent 68%); pointer-events:none; }
.memorial-hero-grid { min-height:min(78svh,760px); display:grid; grid-template-columns:minmax(0,1.1fr) minmax(260px,.7fr);
  align-items:center; gap:clamp(2rem,7vw,6rem); padding-top:clamp(5rem,10vw,8rem); padding-bottom:clamp(4rem,8vw,7rem); }
.memorial-hero-grid.no-portrait { grid-template-columns:1fr; max-width:62rem; }
.memorial-hero-copy { position:relative; z-index:1; }
.memorial-hero h1 { max-width:11ch; margin:.65rem 0 .3rem; font-family:var(--font-display); font-size:clamp(4rem,10vw,8.5rem);
  font-weight:400; line-height:.84; letter-spacing:-.045em; }
.memorial-dates { margin:1.2rem 0 0; color:var(--gold-bright); font-size:.8rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.memorial-deck { max-width:36rem; margin:1.5rem 0 0; color:var(--ink-soft); font-family:var(--font-display); font-size:clamp(1.35rem,2.8vw,2rem); line-height:1.35; }
.memorial-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.memorial-portrait { position:relative; margin:0; }
.memorial-portrait::before { content:'♠'; position:absolute; z-index:2; top:-1rem; left:-1rem; display:grid; place-items:center;
  width:3rem; height:3rem; border:1px solid var(--gold); border-radius:50%; color:var(--gold); background:var(--ground-2); font:1.25rem Georgia,serif; }
.memorial-portrait img { display:block; width:100%; max-height:34rem; object-fit:cover; object-position:center top; border:1px solid var(--line); border-radius:2px;
  filter:saturate(.78) contrast(1.04); box-shadow:0 28px 70px -38px var(--panel-shadow); }
.memorial-portrait figcaption { margin-top:.5rem; color:var(--muted); font-size:.72rem; }

.memorial-facts { padding:1.5rem 0; border-bottom:1px solid var(--line-soft); background:color-mix(in srgb,var(--gold) 4%,var(--ground)); }
.memorial-facts h2 { margin:0 0 1rem; color:var(--muted); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; }
.memorial-facts dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem 2rem; margin:0; }
.memorial-facts dt { color:var(--muted); font-size:.68rem; letter-spacing:.11em; text-transform:uppercase; }
.memorial-facts dd { margin:.15rem 0 0; color:var(--ink-soft); }

.memorial-life { background:var(--ground); }
.memorial-bio { color:var(--ink-soft); font-family:var(--font-display); font-size:clamp(1.18rem,2.4vw,1.55rem); line-height:1.65; }
.memorial-bio p { margin:0; }
.memorial-bio p::first-letter { float:left; padding:.08em .12em 0 0; color:var(--gold-bright); font-size:4.5em; line-height:.72; }
.memorial-disciplines { display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; margin:2.4rem 0 0; padding:0; list-style:none; }
.memorial-disciplines li { padding:.45rem .85rem; border:1px solid var(--line); border-radius:99px; color:var(--muted); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; }

.memorial-tributes { scroll-margin-top:5rem; border-block:1px solid var(--line); background:var(--ground-2); }
.memorial-tribute-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; }
.memorial-tribute { position:relative; display:flex; flex-direction:column; min-width:0; padding:clamp(1.4rem,3vw,2rem); border:1px solid var(--line);
  border-radius:var(--radius); background:var(--ground-3); overflow:hidden; }
.memorial-quote-mark { position:absolute; top:-.35rem; right:.75rem; color:color-mix(in srgb,var(--gold) 18%,transparent); font:7rem/1 var(--font-display); }
.memorial-tribute blockquote { position:relative; margin:0; color:var(--ink); font-family:var(--font-display); font-size:clamp(1.18rem,2vw,1.45rem); line-height:1.48; }
.memorial-translation { margin:1rem 0 0; color:var(--ink-soft); font-size:.92rem; line-height:1.55; }
.memorial-translation span { display:block; margin-bottom:.2rem; color:var(--gold-bright); font-size:.65rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.memorial-relationship { margin:1.2rem 0 0; color:var(--muted); font-size:.82rem; line-height:1.55; }
.memorial-tribute footer { margin-top:auto; padding-top:1.5rem; border:0; background:transparent; }
.memorial-author { display:inline-block; color:var(--accent-ink); font-weight:700; text-underline-offset:4px; }
.memorial-source { display:block; margin-top:.55rem; color:var(--muted); font-size:.76rem; text-underline-offset:3px; }
.memorial-source:hover { color:var(--accent-ink); }
.memorial-community-head { max-width:44rem; margin:clamp(4rem,8vw,7rem) auto 2rem; text-align:center; }
.memorial-community-head .eyebrow { display:block; margin-bottom:.65rem; }
.memorial-community-head h3 { margin:0; font-family:var(--font-display); font-size:clamp(1.8rem,4vw,2.8rem); font-weight:400; }
.memorial-organization-tribute { border-color:color-mix(in srgb,var(--gold) 45%,var(--line)); }

.memorial-share { scroll-margin-top:5rem; }
.memorial-form-wrap { max-width:50rem; }
.memorial-share .open-review-panel { border-color:var(--gold); }
.memorial-share .open-review-heading { text-align:center; }
.memorial-related { border-top:1px solid var(--line-soft); background:var(--ground-2); }
.memorial-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.memorial-related-card { display:flex; flex-direction:column; gap:.45rem; min-height:10rem; padding:1.35rem; border:1px solid var(--line); border-radius:var(--radius);
  color:inherit; background:var(--ground-3); text-decoration:none; transition:transform .2s,border-color .2s; }
.memorial-related-card:hover { transform:translateY(-2px); border-color:var(--gold); }
.memorial-related-card strong { font-family:var(--font-display); font-size:1.3rem; font-weight:400; }
.memorial-related-card span { color:var(--muted); font-size:.88rem; }
.memorial-related-card em { margin-top:auto; color:var(--accent-ink); font-size:.75rem; font-style:normal; letter-spacing:.08em; text-transform:uppercase; }

@media (max-width:820px) {
  .memorial-hero-grid { grid-template-columns:1fr; min-height:0; }
  .memorial-hero-copy { text-align:center; }
  .memorial-hero h1, .memorial-deck { margin-left:auto; margin-right:auto; }
  .memorial-actions { justify-content:center; }
  .memorial-portrait { width:min(30rem,100%); margin:0 auto; }
  .memorial-tribute-grid, .memorial-related-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .memorial-facts dl { grid-template-columns:1fr; }
  .memorial-hero h1 { font-size:clamp(3.6rem,20vw,6rem); }
}
