:root{
  --page-bg:#182434;
  --surface-dark:#26343c;
  --cemetery-ground:#2b463b;
  --cemetery-ground-light:#41614c;
  --stone-main:#b9b8ae;
  --stone-dark:#7d8586;
  --text-main:#f0eee2;
  --text-secondary:#b3b9b3;
  --accent:#e1bd69;
  --accent-light:#ebca7c;
  --blue-accent:#739db7;
  --warm-detail:#c77b67;
  --ink:var(--text-main);
  --muted:var(--text-secondary);
  --night:var(--page-bg);
  --moss:var(--cemetery-ground);
  --gold:var(--accent);
  --panel:var(--surface-dark);
}

.page-shell,.page-shell body{background:var(--page-bg);color:var(--text-main)}
.topbar{background:var(--surface-dark);border-bottom-color:rgba(225,189,105,.2)}
.viewport{background:var(--cemetery-ground)}
.world{background-color:var(--cemetery-ground);box-shadow:inset 0 -55px 80px rgba(23,35,43,.14)}
.map-hint{background:rgba(24,35,44,.78);color:#bbc1b9}

.memorial-credits{width:min(350px,23vw);background:linear-gradient(90deg,transparent 0%,rgba(31,49,43,.2) 18%,rgba(26,40,42,.76) 100%)}
.credits-heading{font-size:11px;color:var(--gold);padding-bottom:15px}
.credits-viewport{padding-left:22px}
.credit-item{padding:23px 12px 27px;border-bottom-color:rgba(233,237,226,.15)}
.credit-rip{font-size:11px;color:var(--gold);margin-bottom:8px}
.credit-item strong{font-size:17px;line-height:1.15;color:#f1efe4}
.credit-item small{font-size:11px;color:#c0c5bf;margin-top:6px}
.credit-item em{font-size:13px;line-height:1.45;color:#aeb6b2;margin-top:11px}
.credit-item:hover{background:rgba(225,189,105,.13)}

.how-to,.resting-places{max-width:1220px;margin:0 auto;padding-left:42px;padding-right:42px}
.how-to{padding-top:72px;padding-bottom:72px}
.section-label{font:500 11px 'DM Mono',monospace;letter-spacing:1.5px;color:var(--gold)}
.burial-steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:29px;border-top:1px solid rgba(221,228,225,.18);border-bottom:1px solid rgba(221,228,225,.18)}
.burial-step{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:30px 30px 32px 0}
.burial-step+.burial-step{border-left:1px solid rgba(221,228,225,.18);padding-left:30px}
.burial-step>span{font:500 13px 'DM Mono',monospace;color:var(--gold)}
.burial-step h2{margin:0 0 8px;font-size:14px;letter-spacing:.04em}
.burial-step p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}

.resting-places{padding-top:68px;padding-bottom:86px;border-top:1px solid rgba(221,228,225,.12)}
.resting-heading{display:flex;align-items:end;justify-content:space-between;gap:32px}
.resting-heading p{margin:15px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
.section-cta{flex:none;border:0;background:var(--accent);color:#17211e;padding:12px 18px;font-size:12px;font-weight:700}
.section-cta:hover{background:var(--accent-light)}
.tier-showcase{display:grid;grid-template-columns:.7fr 1fr 1.55fr 2.25fr;align-items:end;gap:0;margin-top:42px;border-bottom:1px solid rgba(221,228,225,.18);overflow:hidden}
.showcase-tier{min-width:0;text-align:center;padding:0 14px 24px;border-left:1px solid rgba(221,228,225,.12)}
.showcase-tier:first-child{border-left:0}
.showcase-art{height:350px;display:flex;align-items:end;justify-content:center}
.showcase-art img{display:block;max-width:none;filter:drop-shadow(0 12px 9px rgba(8,15,19,.42))}
.tier-grave img{width:108px}.tier-funeral img{width:154px}.tier-monument img{width:250px}.tier-mausoleum img{width:400px}
.showcase-tier>span,.showcase-tier>strong{display:block}
.showcase-tier>span{margin-top:18px;color:var(--gold);font:500 13px 'DM Mono',monospace}
.showcase-tier>strong{margin-top:5px;font-size:12px;letter-spacing:.08em;color:#e8e8de}

.site-footer{max-width:none;margin:0;padding:38px max(42px,calc((100vw - 1136px)/2)) 44px;grid-template-columns:1fr auto;background:var(--surface-dark);border-top:1px solid rgba(221,228,225,.12)}
.footer-brand p{margin:5px 0 0;color:#9fa8a8;font-size:12px}
.site-footer nav{display:flex;gap:22px;justify-content:flex-end}
.site-footer a{color:#b8bfbc;text-decoration:none;font-size:12px}
.site-footer a:hover{color:var(--gold)}
.site-footer small{grid-column:1/-1;color:#76828a}

.detail-panel,.bury-modal,.share-card{background:var(--surface-dark)}

@media(max-width:900px){
  .burial-steps{grid-template-columns:1fr}
  .burial-step+.burial-step{border-left:0;border-top:1px solid rgba(221,228,225,.18);padding-left:0}
  .tier-showcase{grid-template-columns:1fr 1fr;overflow:visible}
  .showcase-tier:nth-child(3){border-left:0}
  .showcase-art{height:260px}
  .tier-grave img{width:100px}.tier-funeral img{width:138px}.tier-monument img{width:205px}.tier-mausoleum img{width:280px}
}

@media(max-width:800px){
  .topbar{height:68px}
  .page-shell .viewport{margin-top:68px;height:500px;min-height:500px}
  .brand{font-size:20px}
  .bury-button{right:16px;padding:10px 13px}
  .bury-button span{display:none}
  .how-to,.resting-places{padding-left:22px;padding-right:22px}
  .how-to{padding-top:54px;padding-bottom:58px}
  .resting-places{padding-top:54px;padding-bottom:66px}
  .resting-heading{align-items:flex-start;flex-direction:column}
  .section-cta{width:100%}
  .tier-showcase{margin-top:28px}
  .showcase-tier{padding-left:6px;padding-right:6px}
  .showcase-art{height:220px}
  .tier-grave img{width:82px}.tier-funeral img{width:112px}.tier-monument img{width:170px}.tier-mausoleum img{width:220px}
  .site-footer{padding:32px 22px 38px;grid-template-columns:1fr}
  .site-footer nav{justify-content:flex-start;flex-wrap:wrap;gap:14px 20px}
  .site-footer small{grid-column:auto}
  .detail-panel{top:80px;max-height:calc(100vh - 94px);overflow:auto}
}

@media(max-width:480px){
  .map-hint{font-size:9px;white-space:nowrap}
  .tier-showcase{gap:0}
  .showcase-art{height:190px}
  .tier-grave img{width:72px}.tier-funeral img{width:96px}.tier-monument img{width:145px}.tier-mausoleum img{width:190px}
}
