/* v66 — sober detail topbar: bright typography without glow. */
body:has(.detail) .site-header .brand-copy,
body:has(.detail) .site-header .brand-copy strong,
body:has(.detail) .site-header .brand-copy em{color:#fffdf7;text-shadow:none;font-style:normal}
body:has(.detail) .site-header .brand-copy em{color:#f7d98d}
body:has(.detail) .site-header nav a{color:#f1f5f2;text-shadow:none}
body:has(.detail){background:#091510}body:has(.detail) main{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse 75% 34% at 50% 5%,rgba(49,103,74,.3),transparent 72%),radial-gradient(ellipse 48% 28% at 100% 62%,rgba(164,112,32,.09),transparent 75%),linear-gradient(180deg,#10271d,#091510)}body:has(.detail) main:after{content:"";position:absolute;z-index:-1;inset:0;opacity:.18;background:url("images/granite-fine.svg") 0 0/520px 520px;mix-blend-mode:soft-light}body:has(.detail) .site-header{border-color:rgba(218,176,91,.18);background:rgba(7,18,13,.94)}body:has(.detail) .site-header .brand,body:has(.detail) .site-header nav a{color:#edf2ee}body:has(.detail)>footer{background:#06100c}body:has(.detail) .site-header .brand>span{color:#fffdf5;text-shadow:0 0 14px rgba(255,246,218,.2)}body:has(.detail) .site-header .brand>span b{color:#f3c86f}
.detail-breadcrumb,.detail-breadcrumb .back{color:#bdcbc2}.memorial-profile{border-color:rgba(218,176,91,.25);box-shadow:0 25px 70px rgba(0,0,0,.34)}.detail .memorial-profile .facts{border-color:rgba(218,176,91,.19);background:linear-gradient(135deg,#172e24,#10221b);box-shadow:none}.detail .memorial-profile .facts div{border-color:rgba(218,176,91,.13)}.detail .memorial-profile .facts span{color:#9dada4}.detail .memorial-profile .facts b{color:#f1f2ed}
.detail .tribute-section{width:100%;margin:38px 0 30px;padding:48px 42px 40px;border-color:rgba(218,176,91,.2);background:radial-gradient(circle at 8% 8%,rgba(203,145,42,.08),transparent 24%),linear-gradient(145deg,#152a21,#0e211a);box-shadow:0 22px 58px rgba(0,0,0,.25)}.tribute-heading .eyebrow{color:#dcad52}.tribute-heading h2{color:#fff8e8}.tribute-heading h2 em{color:#efbd5d}.tribute-heading p{color:#b9c8bf}.tribute-heading blockquote{color:#ddc890}.tribute-list__heading{border-color:rgba(224,199,145,.17)}.tribute-list__heading>div>span{color:#d8aa52}.tribute-list__heading>div>strong{color:#f5f0e4}.tribute-list__heading>p{color:#a9b7af}
.tribute-list__grid{grid-auto-rows:1fr;gap:14px}.tribute-item,.tribute-item:nth-child(3n+2),.tribute-item:nth-child(3n){height:100%;min-height:188px;overflow:hidden;grid-template-columns:42px minmax(0,1fr);gap:15px;padding:23px 22px 20px;border:1px solid rgba(223,195,137,.13);border-radius:9px;background:linear-gradient(148deg,rgba(35,56,47,.88),rgba(17,35,28,.94));box-shadow:0 12px 30px rgba(0,0,0,.12)}.tribute-item--editorial,.tribute-item--editorial:nth-child(3n+2),.tribute-item--editorial:nth-child(3n){background:linear-gradient(148deg,rgba(43,53,39,.9),rgba(20,34,27,.96))}.tribute-item__body{display:grid;min-height:100%;grid-template-rows:auto 1fr auto}.tribute-type,.tribute-item--community .tribute-type{color:#cda24e}.tribute-item p{align-self:center;margin:13px 0;color:#ecebe4;font-size:15.5px}.tribute-item footer{align-self:end;margin:0;background:transparent!important;color:#9dac9f}.tribute-item footer strong{color:#d6b363}
.tribute-form-wrap{border-color:rgba(224,199,145,.17)}.tribute-form-intro h3,.tribute-form__header h3{color:#fff8e9}.tribute-form-intro p,.tribute-form__header p,.tribute-form__footer p{color:#b3c0b8}.tribute-form{border-color:rgba(225,190,119,.22);border-top-color:#c99841;background:linear-gradient(145deg,#1d3229,#10221b)}.tribute-form label{color:#dbe4df}.tribute-form input,.tribute-form textarea{background:rgba(5,16,12,.52);color:#fffdf6}.detail .source{border-color:rgba(218,176,91,.2);background:linear-gradient(135deg,#172c23,#0f2019);color:#aebdb5}.detail .source strong{color:#f4ead5}.detail .source>a{color:#dfb45d}
@media(max-width:760px){.detail .tribute-section{padding:36px 14px 22px}.tribute-list__grid{grid-auto-rows:auto}.tribute-item,.tribute-item:nth-child(3n+2),.tribute-item:nth-child(3n){min-height:0;grid-template-columns:minmax(0,1fr);padding:18px 15px 16px}}

/* v3 — one candle for the whole sanctuary; individual tributes read as solemn notes. */
.tribute-list__grid{gap:16px}
.tribute-item,.tribute-item:nth-child(3n+2),.tribute-item:nth-child(3n),.tribute-item--editorial,.tribute-item--editorial:nth-child(3n+2),.tribute-item--editorial:nth-child(3n){position:relative;display:block;min-height:184px;padding:0;border:1px solid rgba(218,190,132,.14);border-radius:6px;background:linear-gradient(145deg,rgba(28,49,40,.92),rgba(12,28,22,.96));box-shadow:0 14px 34px rgba(0,0,0,.14),inset 0 1px rgba(255,255,255,.025)}
.tribute-item--editorial,.tribute-item--editorial:nth-child(3n+2),.tribute-item--editorial:nth-child(3n){background:linear-gradient(145deg,rgba(38,48,36,.9),rgba(14,28,22,.97))}
.tribute-item:before,.tribute-item--editorial:before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:2px;height:auto;background:linear-gradient(180deg,transparent,rgba(222,177,85,.72) 24%,rgba(222,177,85,.72) 76%,transparent)}
.tribute-item:after{content:"";position:absolute;right:21px;top:21px;width:22px;height:22px;border:1px solid rgba(218,177,91,.2);border-radius:50%;box-shadow:inset 0 0 0 5px rgba(218,177,91,.025)}
.tribute-item__body{display:grid;min-height:184px;grid-template-rows:auto 1fr auto;padding:24px 27px 21px 30px}
.tribute-item__body:before{content:"“";right:24px;top:38px;color:rgba(224,185,104,.075);font-size:68px}
.tribute-type,.tribute-item--community .tribute-type{padding-right:38px;color:#c7a45e;font-size:8px;letter-spacing:.18em}
.tribute-item p{align-self:center;margin:18px 0;color:#eeeae0;font-size:16px;line-height:1.75}
.tribute-item footer{margin:0;padding-top:14px;border-top:1px solid rgba(224,199,145,.12);font-size:10px;letter-spacing:.025em}
.tribute-item footer strong{color:#d4b873;font-weight:600}
.tribute-form__header{grid-template-columns:1fr}
.tribute-form-wrap--plain{display:block;width:100%;border:0;background:none;box-shadow:none;padding:0}
.tribute-form--plain{width:100%;max-width:none;border:0;border-radius:0;background:none;box-shadow:none;padding:0}

/* v19 — one calm typographic system for all biographical facts. */
.memorial-card__copy .memorial-lifetime small,
.memorial-card__copy .memorial-lifetime strong,
.memorial-card__copy .memorial-lifetime strong.is-missing{
  color:#e8d5aa;
  font-family:"Noto Serif VN",serif;
  font-size:15px;
  font-style:normal;
  line-height:1.4;
  letter-spacing:.01em;
  text-transform:none;
}
.memorial-card__copy .memorial-grave-meta,
.memorial-card__copy .memorial-grave-meta b{
  color:#e8d5aa;
  font-family:"Noto Serif VN",serif;
  font-size:12px;
  font-style:normal;
  line-height:1.4;
  letter-spacing:.01em;
  text-transform:none;
}
.memorial-card__copy .memorial-lifetime small,
.memorial-card__copy .memorial-grave-meta{font-weight:500}
.memorial-card__copy .memorial-lifetime strong,
.memorial-card__copy .memorial-lifetime strong.is-missing,
.memorial-card__copy .memorial-grave-meta b{font-weight:700}
.memorial-card__copy .memorial-lifetime>span{align-items:baseline}
@media(max-width:760px){
  .memorial-card__copy .memorial-lifetime small,
  .memorial-card__copy .memorial-lifetime strong,
  .memorial-card__copy .memorial-lifetime strong.is-missing{font-size:13px}
  .memorial-card__copy .memorial-grave-meta,
  .memorial-card__copy .memorial-grave-meta b{font-size:11px}
}

/* v22 — compact, aligned breadcrumb on narrow screens. */
@media(max-width:760px){
  .detail-breadcrumb{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:7px;
    min-width:0;
    margin:0 0 14px;
    padding:0 2px;
    overflow:hidden;
    white-space:nowrap;
    font-size:11px;
    line-height:1.35;
  }
  .detail-breadcrumb .back{
    display:inline-flex;
    flex:none;
    align-items:center;
    margin:0;
    font-size:11px;
    line-height:1.35;
  }
  .detail-breadcrumb>span:last-child{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}
@media(max-width:760px){.tribute-item,.tribute-item:nth-child(3n+2),.tribute-item:nth-child(3n){min-height:0}.tribute-item__body{min-height:0;padding:20px 19px 18px 22px}.tribute-item:before,.tribute-item--editorial:before{left:0;top:18px;bottom:18px}.tribute-item:after{right:15px;top:16px;width:18px;height:18px}.tribute-item__body:before{right:17px;top:34px}.tribute-item p{margin:16px 0;font-size:14.5px}}

/* v4 — restrained generated memorial textures, rotated without breaking cohesion. */
.tribute-item,.tribute-item:nth-child(3n+1){background:linear-gradient(145deg,rgba(13,31,24,.82),rgba(7,21,16,.92)),url("images/tribute-textures/incense-stone.webp") 68% 42%/cover no-repeat}
.tribute-item:nth-child(3n+2){background:linear-gradient(145deg,rgba(15,34,26,.84),rgba(8,22,17,.93)),url("images/tribute-textures/leaf-shadow-stone.webp") 42% 48%/cover no-repeat}
.tribute-item:nth-child(3n){background:linear-gradient(145deg,rgba(14,31,25,.84),rgba(7,20,16,.93)),url("images/tribute-textures/memory-halo-stone.webp") 58% 50%/cover no-repeat}
.tribute-item--editorial,.tribute-item--editorial:nth-child(3n+1){background:linear-gradient(145deg,rgba(26,35,25,.82),rgba(9,22,17,.93)),url("images/tribute-textures/incense-stone.webp") 68% 42%/cover no-repeat}
.tribute-item--editorial:nth-child(3n+2){background:linear-gradient(145deg,rgba(27,35,24,.84),rgba(9,22,17,.93)),url("images/tribute-textures/leaf-shadow-stone.webp") 42% 48%/cover no-repeat}
.tribute-item--editorial:nth-child(3n){background:linear-gradient(145deg,rgba(27,34,23,.84),rgba(9,21,16,.93)),url("images/tribute-textures/memory-halo-stone.webp") 58% 50%/cover no-repeat}

/* v5 — profile and tributes form one continuous memorial record. */
.detail{display:flex;flex-direction:column}
.detail-breadcrumb{order:0}
.detail .memorial-profile{order:1}
.detail .detail-notices{order:2}
.detail .tribute-section{order:3}
.detail .family-connect{order:4}
.detail .source{order:5}
.detail .memorial-profile{overflow:visible;border-radius:18px 18px 0 0;border-bottom:0}
.detail .memorial-profile .facts{border-bottom:0;border-radius:0}
.detail .tribute-section{margin:0 0 30px;padding:52px 42px 42px;border-top:1px solid rgba(218,176,91,.22);border-radius:0 0 18px 18px;box-shadow:0 28px 70px rgba(0,0,0,.3)}
.detail .tribute-section:before{top:-1px;width:160px}
.detail .tribute-heading{margin-top:0}
@media(max-width:760px){.detail .memorial-profile{border-radius:12px 12px 0 0}.detail .memorial-profile .facts{border-radius:0}.detail .tribute-section{margin:0 0 24px;padding:38px 14px 24px;border-radius:0 0 12px 12px}.detail .tribute-section:before{width:104px}}

/* v6 — unified edges, family CTA and restrained living texture. */
.detail .memorial-profile{isolation:isolate;border:1px solid rgba(218,176,91,.28);border-bottom:0;box-shadow:0 0 0 1px rgba(255,221,147,.025),0 24px 72px rgba(0,0,0,.32)}
.detail .memorial-profile:before{content:"";position:absolute;z-index:-2;inset:-26px;border-radius:32px;background:radial-gradient(ellipse at 38% 22%,rgba(89,167,118,.14),transparent 57%),radial-gradient(ellipse at 78% 74%,rgba(218,164,73,.09),transparent 48%);filter:blur(18px);pointer-events:none}
.detail .memorial-profile .memorial-card{border-radius:17px 17px 0 0}
.detail .memorial-profile .facts{border-right:0;border-left:0}
.detail .tribute-section{margin-top:-1px;border-color:rgba(218,176,91,.28);box-shadow:0 26px 72px rgba(0,0,0,.3),0 0 34px rgba(82,145,104,.055)}
.detail .memorial-card__glow{display:block;position:absolute;z-index:-1;inset:-18%;width:auto;height:auto;border-radius:0;opacity:.18;background:radial-gradient(circle at 70% 48%,rgba(236,190,92,.35),transparent 34%),url("images/granite-fine.svg") center/430px 430px;mix-blend-mode:soft-light;animation:memorialTextureDrift 18s ease-in-out infinite alternate;pointer-events:none}
.memorial-family-cta{display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:10px;margin-top:21px;padding:10px 12px 10px 10px;border:1px solid rgba(240,200,112,.54);border-radius:999px;background:rgba(7,25,17,.68);box-shadow:0 8px 24px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.06);color:#fff5dc;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.memorial-family-cta span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#d4a344;color:#10241b;font-size:14px}.memorial-family-cta strong{font-size:11px;letter-spacing:.025em}.memorial-family-cta i{color:#efc86e;font-style:normal;transition:transform .2s ease}.memorial-family-cta:hover{transform:translateY(-2px);border-color:#f0c86e;background:rgba(13,42,29,.88)}.memorial-family-cta:hover i{transform:translateX(3px)}
@keyframes memorialTextureDrift{0%{transform:translate3d(-1.5%,-1%,0) scale(1.02)}100%{transform:translate3d(1.5%,1%,0) scale(1.06)}}
@media(max-width:760px){.detail .memorial-profile{border-radius:12px 12px 0 0}.detail .memorial-profile .memorial-card{border-radius:11px 11px 0 0}.detail .tribute-section{margin-top:-1px}.memorial-family-cta{width:100%;margin-top:16px;justify-content:flex-start;padding:9px 11px 9px 9px}.memorial-family-cta strong{font-size:10px}.memorial-family-cta i{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.detail .memorial-card__glow{animation:none}.memorial-family-cta,.memorial-family-cta i{transition:none}}

/* Compact paired actions in the memorial profile. */
.memorial-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}
.memorial-action{display:inline-flex;min-height:34px;align-items:center;gap:7px;padding:5px 11px 5px 6px;border:1px solid rgba(235,194,103,.42);border-radius:999px;background:rgba(6,24,16,.52);box-shadow:inset 0 1px rgba(255,255,255,.045),0 5px 16px rgba(0,0,0,.14);color:#f8efd8;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.memorial-action span{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:rgba(222,173,75,.92);color:#10251b;font-size:11px;line-height:1}
.memorial-action strong{font-size:10px;font-weight:700;letter-spacing:.025em;white-space:nowrap}
.memorial-action--candle{border-color:#f3cf7c;background:linear-gradient(135deg,#e6b958,#c88f31);color:#10241b;box-shadow:0 8px 22px rgba(203,143,42,.3),inset 0 1px rgba(255,255,255,.35)}
.memorial-action--candle span{background:#efc76e;box-shadow:0 0 12px rgba(239,190,83,.28)}
.memorial-action:hover{transform:translateY(-1px);border-color:#efca78;background:rgba(14,43,30,.82);box-shadow:inset 0 1px rgba(255,255,255,.06),0 7px 19px rgba(0,0,0,.2)}
.memorial-action:focus-visible{outline:2px solid #f0ca76;outline-offset:3px}
@media(max-width:760px){.memorial-actions{gap:6px;margin-top:14px}.memorial-action{min-height:32px;padding:4px 9px 4px 5px}.memorial-action span{width:22px;height:22px}.memorial-action strong{font-size:9px}}
@media(max-width:380px){.memorial-actions{align-items:stretch}.memorial-action{flex:1;justify-content:center;padding-right:7px}.memorial-action strong{white-space:normal;line-height:1.2;text-align:center}}
@media(prefers-reduced-motion:reduce){.memorial-action{transition:none}}

/* Compact life dates and grave location — replaces the former five-cell panel. */
.memorial-lifetime{display:flex;align-items:stretch;gap:15px;width:max-content;max-width:100%;margin-top:13px;padding:9px 13px;border:1px solid rgba(232,191,105,.24);border-radius:9px;background:linear-gradient(110deg,rgba(224,179,83,.095),rgba(5,25,17,.16));box-shadow:inset 0 1px rgba(255,255,255,.035)}
.memorial-lifetime>span{display:grid;gap:2px}.memorial-lifetime small{color:#aebcb3;font-size:7.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.memorial-lifetime strong{color:#fff3d9;font:600 15px/1.25 "Noto Serif VN",serif;letter-spacing:.015em}.memorial-lifetime strong.is-missing{color:#8f9d95;font:italic 500 11px/1.25 "Noto Sans VN",sans-serif}.memorial-lifetime>i{width:1px;background:linear-gradient(transparent,rgba(231,189,100,.42),transparent)}
.memorial-grave-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:9px 0 0;color:#9eaea5;font-size:9px;font-weight:650;letter-spacing:.045em;text-transform:uppercase}.memorial-grave-meta b{color:#e7c87f;font-size:10px;font-weight:800}.memorial-grave-meta i{color:rgba(225,187,104,.42);font-style:normal}
.memorial-lifetime+.memorial-grave-meta+.memorial-card__verse{margin-top:12px}
@media(max-width:760px){.memorial-lifetime{gap:10px;margin-top:10px;padding:7px 9px}.memorial-lifetime small{font-size:6.5px}.memorial-lifetime strong{font-size:12px}.memorial-lifetime strong.is-missing{font-size:9px}.memorial-grave-meta{gap:5px;margin-top:7px;font-size:7.5px}.memorial-grave-meta b{font-size:8.5px}}

/* Life dates as two open text rows, without an enclosing card. */
.memorial-lifetime{display:grid;width:max-content;max-width:100%;gap:5px;margin-top:13px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.memorial-lifetime>span{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:baseline;gap:10px}
.memorial-lifetime>i{display:none}
.memorial-lifetime small{color:#9eaea5;font-size:8px;letter-spacing:.105em}
.memorial-lifetime strong{font-size:14px}
@media(max-width:760px){.memorial-lifetime{gap:4px;margin-top:10px;padding:0}.memorial-lifetime>span{grid-template-columns:92px minmax(0,1fr);gap:7px}.memorial-lifetime small{font-size:6.5px}.memorial-lifetime strong{font-size:12px}}

/* One consistent typographic system for hometown and life dates. */
.memorial-lifetime strong,.memorial-lifetime strong.is-missing{color:#f2dfb4;font:600 14px/1.35 "Noto Serif VN",serif;letter-spacing:.01em}
.memorial-lifetime strong.is-missing{color:#95a49b}
@media(max-width:760px){.memorial-lifetime strong,.memorial-lifetime strong.is-missing{font-size:12px}}

/* Fine-tune candle alignment inside tribute cards. */
.tribute-item{column-gap:7px}
.tribute-item__mark.tribute-candle{margin-top:10px}
@media(max-width:760px){.tribute-item{column-gap:5px}.tribute-item__mark.tribute-candle{margin-top:8px}}
@media(max-width:340px){.tribute-item__mark.tribute-candle{margin:7px 0 -5px}}

/* Keep the tribute flame comfortably clear of the metallic top edge. */
.tribute-item,.tribute-item:nth-child(3n+2),.tribute-item:nth-child(3n){padding-top:18px}
.tribute-item__mark.tribute-candle{margin:0 auto!important}
.tribute-item__body{min-height:166px;padding-top:8px}
@media(max-width:760px){
  .tribute-item,.tribute-item:nth-child(3n+2),.tribute-item:nth-child(3n){padding-top:15px}
  .tribute-item__body{padding-top:7px}
}

/* v7 — identity and grave facts live in one uninterrupted hero. */
.detail .memorial-profile .memorial-card{grid-template-rows:auto auto;padding-bottom:42px}
.detail .memorial-profile .memorial-card__copy{min-width:0}
.detail .memorial-profile .memorial-card h1{max-width:none;white-space:nowrap;font-size:clamp(32px,4.7vw,67px);letter-spacing:-.035em}
.detail .memorial-profile .memorial-card .facts{grid-column:1/-1;width:100%;margin:30px 0 0;border:1px solid rgba(224,190,121,.24);border-radius:12px;background:linear-gradient(120deg,rgba(5,24,16,.72),rgba(16,47,33,.68));box-shadow:inset 0 1px rgba(255,255,255,.035),0 14px 35px rgba(0,0,0,.16);backdrop-filter:blur(8px);overflow:hidden}
.detail .memorial-profile .memorial-card .facts div{min-height:76px;padding:17px 18px;border-color:rgba(224,190,121,.14)}
.detail .memorial-profile .memorial-card .facts span{color:#aebdb4}
.detail .memorial-profile .memorial-card .facts b{color:#fff8e9}
@media(max-width:760px){.detail .memorial-profile .memorial-card{padding-bottom:24px}.detail .memorial-profile .memorial-card h1{max-width:100%;white-space:nowrap;font-size:clamp(21px,7.4vw,31px)!important;letter-spacing:-.045em}.detail .memorial-profile .memorial-card .facts{width:100%;margin-top:16px;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.detail .memorial-profile .memorial-card .facts div{min-height:64px;padding:12px 11px}.detail .memorial-profile .memorial-card .facts div:last-child{grid-column:1/-1}.detail .memorial-profile .memorial-card .facts span{font-size:8px}.detail .memorial-profile .memorial-card .facts b{font-size:13px}}

/* v8 — luminous metallic-gold frame for the complete information card. */
.detail .memorial-profile{border-color:transparent;box-shadow:0 0 24px rgba(235,183,75,.14),0 0 62px rgba(218,153,47,.08),0 28px 76px rgba(0,0,0,.36)}
.detail .memorial-profile:after{content:"";position:absolute;z-index:8;inset:-1px;pointer-events:none;border-radius:19px 19px 0 0;padding:1.5px;background:linear-gradient(105deg,#704816 0%,#c68d2d 15%,#ffe29a 31%,#a86c1d 47%,#f5c86c 63%,#7c4d17 79%,#e5b453 100%);background-size:260% 100%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 5px rgba(255,201,91,.42));animation:memorialGoldSweep 9s ease-in-out infinite alternate}
.detail .tribute-section{border-color:rgba(226,177,77,.52);box-shadow:0 0 22px rgba(235,183,75,.1),0 28px 76px rgba(0,0,0,.34)}
@keyframes memorialGoldSweep{0%{background-position:0 50%;filter:drop-shadow(0 0 4px rgba(255,201,91,.3))}100%{background-position:100% 50%;filter:drop-shadow(0 0 8px rgba(255,214,130,.52))}}
@media(max-width:760px){.detail .memorial-profile:after{border-radius:13px 13px 0 0;padding:1px;filter:drop-shadow(0 0 4px rgba(255,201,91,.34))}}
@media(prefers-reduced-motion:reduce){.detail .memorial-profile:after{animation:none;background-position:50% 50%}}

/* v9 — one metallic frame and a quieter engraved facts panel. */
.detail .tribute-section{border-color:transparent}
.detail .tribute-section:after{content:"";position:absolute;z-index:8;inset:-1px;pointer-events:none;border-radius:0 0 19px 19px;padding:1.5px;background:linear-gradient(105deg,#704816 0%,#c68d2d 15%,#ffe29a 31%,#a86c1d 47%,#f5c86c 63%,#7c4d17 79%,#e5b453 100%);background-size:260% 100%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 5px rgba(255,201,91,.42));animation:memorialGoldSweep 9s ease-in-out infinite alternate}
.detail .memorial-profile .memorial-card .facts{gap:0;border-color:rgba(231,190,104,.3);background:linear-gradient(110deg,rgba(4,20,14,.78),rgba(14,43,30,.72) 55%,rgba(7,28,19,.8));box-shadow:inset 0 1px rgba(255,244,210,.055),inset 0 -18px 45px rgba(0,0,0,.12),0 14px 35px rgba(0,0,0,.16)}
.detail .memorial-profile .memorial-card .facts div{position:relative;display:flex;min-width:0;min-height:82px;padding:18px 19px 17px;flex-direction:column;justify-content:center;border-right:1px solid rgba(226,184,96,.16);transition:background .22s ease}
.detail .memorial-profile .memorial-card .facts div:last-child{border-right:0}
.detail .memorial-profile .memorial-card .facts div:before{content:"";position:absolute;left:19px;top:0;width:28px;height:1px;background:linear-gradient(90deg,#e9bc62,transparent);box-shadow:0 0 7px rgba(235,184,82,.36)}
.detail .memorial-profile .memorial-card .facts div:hover{background:rgba(241,198,107,.035)}
.detail .memorial-profile .memorial-card .facts span{display:flex;align-items:center;gap:7px;margin:0 0 8px;color:#9eaea5;font-size:8.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.detail .memorial-profile .memorial-card .facts span:before{content:"";width:4px;height:4px;border-radius:50%;background:#d9a94d;box-shadow:0 0 7px rgba(232,181,77,.48)}
.detail .memorial-profile .memorial-card .facts b{color:#fff7e7;font:600 18px/1.25 "Noto Serif VN",serif;letter-spacing:.01em}
.detail .memorial-profile .memorial-card .facts .is-missing b{color:#8f9e95;font:italic 500 13px/1.3 "Noto Sans VN",sans-serif;letter-spacing:0}
@media(max-width:760px){.detail .tribute-section:after{border-radius:0 0 13px 13px;padding:1px;filter:drop-shadow(0 0 4px rgba(255,201,91,.34))}.detail .memorial-profile .memorial-card .facts div{min-height:66px;padding:13px 12px;border-bottom:1px solid rgba(226,184,96,.14)}.detail .memorial-profile .memorial-card .facts div:nth-child(2n){border-right:0}.detail .memorial-profile .memorial-card .facts div:last-child{border-bottom:0}.detail .memorial-profile .memorial-card .facts div:before{left:12px;width:22px}.detail .memorial-profile .memorial-card .facts span{margin-bottom:6px;font-size:7.5px}.detail .memorial-profile .memorial-card .facts b{font-size:15px}.detail .memorial-profile .memorial-card .facts .is-missing b{font-size:11px}}
@media(prefers-reduced-motion:reduce){.detail .tribute-section:after{animation:none;background-position:50% 50%}.detail .memorial-profile .memorial-card .facts div{transition:none}}

/* v10 — continuous three-sided frame at the profile/tribute join. */
.detail .memorial-profile:after,
.detail .tribute-section:after{
  inset:-1px;
  padding:0;
  -webkit-mask:none;
  mask:none;
  background-color:transparent;
  background-repeat:no-repeat;
  background-size:1.5px 100%,1.5px 100%,100% 1.5px;
  filter:drop-shadow(0 0 5px rgba(255,201,91,.42));
  animation:memorialFrameGlow 4.5s ease-in-out infinite alternate;
}
.detail .memorial-profile:after{
  border-radius:19px 19px 0 0;
  background-image:linear-gradient(180deg,#ffe29a 0%,#c68d2d 48%,#d9a94d 100%),linear-gradient(180deg,#ffe29a 0%,#c68d2d 48%,#d9a94d 100%),linear-gradient(90deg,#c68d2d 0%,#ffe29a 30%,#a86c1d 52%,#f5c86c 72%,#c68d2d 100%);
  background-position:left top,right top,left top;
}
.detail .tribute-section:after{
  top:-1px;
  border-radius:0 0 19px 19px;
  background-image:linear-gradient(180deg,#d9a94d 0%,#c68d2d 52%,#ffe29a 100%),linear-gradient(180deg,#d9a94d 0%,#c68d2d 52%,#ffe29a 100%),linear-gradient(90deg,#c68d2d 0%,#ffe29a 30%,#a86c1d 52%,#f5c86c 72%,#c68d2d 100%);
  background-position:left top,right top,left bottom;
}
.detail .tribute-section{border-top:1px solid rgba(226,177,77,.34)}
@keyframes memorialFrameGlow{from{filter:drop-shadow(0 0 4px rgba(255,201,91,.32))}to{filter:drop-shadow(0 0 7px rgba(255,214,130,.5))}}
@media(max-width:760px){.detail .memorial-profile:after,.detail .tribute-section:after{background-size:1px 100%,1px 100%,100% 1px}.detail .memorial-profile:after{border-radius:13px 13px 0 0}.detail .tribute-section:after{border-radius:0 0 13px 13px}}
@media(prefers-reduced-motion:reduce){.detail .memorial-profile:after,.detail .tribute-section:after{animation:none}}

/* v16 — one clean physical frame; removes layered pseudo borders at corners. */
.detail .memorial-profile,.detail .tribute-section{border-color:rgba(222,176,81,.72);filter:none;animation:memorialUnifiedGlow 4.8s ease-in-out infinite alternate}
.detail .memorial-profile{border-width:1px;border-style:solid;border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -2px 18px rgba(229,181,76,.1),0 24px 70px rgba(0,0,0,.28)}
.detail .memorial-profile .memorial-card{border:0!important;border-radius:17px 17px 0 0;box-shadow:none}
.detail .tribute-section{margin-top:0;border-width:1px;border-style:solid;border-top-color:rgba(222,176,81,.38);border-radius:0 0 18px 18px;box-shadow:0 3px 18px rgba(229,181,76,.08),0 28px 70px rgba(0,0,0,.3)}
.detail .memorial-profile:after,.detail .tribute-section:after{display:none}
@keyframes memorialUnifiedGlow{from{border-color:rgba(205,151,51,.64)}to{border-color:rgba(245,204,116,.86)}}
@media(max-width:760px){.detail .memorial-profile{border-radius:12px 12px 0 0}.detail .memorial-profile .memorial-card{border-radius:11px 11px 0 0}.detail .tribute-section{border-radius:0 0 12px 12px}}
@media(prefers-reduced-motion:reduce){.detail .memorial-profile,.detail .tribute-section{animation:none}}

/* v23 — reclaim the unused sky area in the mobile memorial hero. */
@media(max-width:760px){
  .detail .memorial-profile .memorial-card{
    min-height:0;
    padding:94px 18px 22px;
    background-position:69% center;
  }
  .detail .memorial-profile .detail-flag{
    width:52px;
    height:35px;
  }
  .detail .memorial-profile .memorial-card__copy{
    padding-top:8px;
  }
}
@media(max-width:380px){
  .detail .memorial-profile .memorial-card{padding-top:82px}
}
.memorial-action--candle span{background:#173c2b;color:#f6d47f;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.memorial-action--candle strong{font-weight:800}
.memorial-action--candle:hover{border-color:#ffe3a0;background:linear-gradient(135deg,#f0ca70,#d8a344);color:#0b2016;box-shadow:0 10px 26px rgba(218,161,57,.4)}

/* v67 - exact grave deep link to the 3D map. */
.grave-directions{display:inline-flex;min-height:28px;align-items:center;gap:5px;margin-left:7px;padding:0 10px;border:1px solid rgba(231,200,127,.55);border-radius:999px;background:rgba(231,200,127,.1);color:#f2d58d!important;text-decoration:none;font-family:"Noto Sans VN",sans-serif!important;font-size:9px!important;font-weight:800!important;letter-spacing:.02em!important;text-transform:none!important;transition:background .18s ease,border-color .18s ease,transform .18s ease}.grave-directions:hover,.grave-directions:focus-visible{border-color:#f2d58d;background:rgba(231,200,127,.2);transform:translateY(-1px);outline:none}.grave-directions span{color:inherit;font-size:14px;line-height:1}@media(max-width:760px){.grave-directions{min-height:27px;margin-left:4px;padding:0 9px;font-size:8.5px!important}}
