/* Consolidated application stylesheet. Release history is maintained in CHANGELOG.md. */
:root{--danger:#8f1d1d;--warning:#7a4a00;line-height:1.6}*{box-sizing:border-box}body{margin:0;background:var(--cream)}a{text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}button,input{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.narrow{width:min(680px,100%)}.skip-link{position:absolute;left:-9999px;top:0;padding:.75rem 1rem;z-index:100}.skip-link:focus{left:1rem;top:1rem}.header-inner{justify-content:space-between}.brand{font-family:Georgia,serif;font-size:1.35rem;font-weight:700}.brand-mark{width:2.35rem;height:2.35rem;display:grid;place-items:center;background:var(--forest);color:white;border-radius:50%;font-size:1.35rem}.nav-form{margin:0}.link-button{border:0;background:transparent;padding:0;cursor:pointer}.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--forest);border-radius:.75rem;background:var(--forest);color:white;text-decoration:none;font-weight:750;padding:.75rem 1.1rem;cursor:pointer}.button:hover{background:var(--forest-2)}.button[disabled]{opacity:.55;cursor:not-allowed}.hero{padding:5.5rem 0 4.5rem;background:linear-gradient(145deg,var(--cream),#f5eee5)}.hero-grid{display:grid;align-items:center}.hero h1{font-family:Georgia,serif;color:var(--forest);font-size:clamp(2.4rem,6vw,4.7rem);line-height:1.05;letter-spacing:-.035em;margin:.4rem 0 1.25rem}.lead{max-width:48rem}.hero-card,.panel,.card{background:var(--white);border:1px solid rgba(24,61,54,.12);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:2rem;text-align:center}.hero-symbol{display:grid;place-items:center;width:5rem;height:5rem;margin:0 auto 1rem;border-radius:50%;background:var(--forest);color:white;font-size:2.5rem}.card-grid,.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:2rem}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.step{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--sand);color:var(--forest);font-weight:800}.check-list{padding-left:1.25rem}.check-list li{margin:.65rem 0}.panel{padding:1.5rem}.form-stack{display:grid;gap:1.1rem}.form-stack label{display:grid;gap:.35rem;font-weight:700}.form-stack input:not([type=checkbox]){width:100%;border:1px solid #8a9590;border-radius:.65rem;padding:.72rem;background:white;color:var(--ink)}.checkbox{grid-template-columns:auto 1fr!important;align-items:start}.checkbox input{margin-top:.35rem}.hint,.muted{display:block;color:var(--muted);font-weight:400;font-size:.92rem}.alert{padding:1rem 1.1rem;border:1px solid}.alert ul{margin-bottom:0}.secret{font-size:1.15rem;letter-spacing:.08em}.break-word{display:block;overflow-wrap:anywhere}.code-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;list-style:none;padding:0}.code-list li{background:white;border:1px solid #ccc;padding:.6rem;border-radius:.5rem;text-align:center}.footer-grid div{display:grid;align-content:start;gap:.35rem}.site-footer p{margin:.25rem 0;color:#e4ece9}@media(max-width:780px){.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:4.75rem;left:0;right:0;background:var(--cream);padding:1rem;flex-direction:column;align-items:stretch;border-bottom:1px solid rgba(24,61,54,.15)}.site-nav.is-open{display:flex}.hero{padding-top:3.5rem}.hero-grid,.card-grid,.dashboard-grid,.footer-grid{grid-template-columns:1fr}.code-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

select,textarea{width:100%;border:1px solid #8a9590;border-radius:.65rem;padding:.72rem;background:white;color:var(--ink);font:inherit}.memorial-placeholder,.large-placeholder{display:grid;place-items:center;background:var(--sand);color:var(--forest);border-radius:.8rem;font-size:2.5rem;min-height:110px}.large-placeholder{width:180px;height:180px;margin:0 auto 1rem;border-radius:50%;font-size:5rem}.status-published{background:#e6f4ed}.preview-card{background:white;border:1px solid rgba(24,61,54,.12);border-radius:var(--radius);padding:2rem;margin-bottom:1rem}.tribute{font-family:Georgia,serif;font-size:1.2rem;line-height:1.8;white-space:normal}.details div{padding-top:.8rem}.details dt{font-weight:800;color:var(--forest)}.details dd{margin:0}.date-grid,.search-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}fieldset{border:1px solid #c4ccc8;border-radius:.7rem;padding:1rem}legend{font-weight:800;color:var(--forest)}.pagination a{height:2.5rem}@media(max-width:780px){.memorial-grid{grid-template-columns:1fr}.stepper{grid-template-columns:repeat(3,1fr)}.search-panel,.date-grid{grid-template-columns:1fr}.page-heading{display:block}.memorial-card{grid-template-columns:85px 1fr}.memorial-placeholder{min-height:85px}}

.heading-links{justify-items:end}.status-note{margin:.5rem 0 0;padding:.7rem .9rem;background:#fff7e5;border-left:4px solid #d8b36b;border-radius:.4rem}.status-warning{background:#fff1d6;color:#6a4200}.upload-panel{padding:1.25rem;background:var(--cream);border:1px dashed #9aa7a2;border-radius:.8rem}.photo-settings{margin-top:1.25rem}.photo-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.photo-editor-card{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);gap:1rem;padding:1rem;background:white;border:1px solid rgba(24,61,54,.14);border-radius:var(--radius);box-shadow:var(--shadow)}.photo-editor-card.pending-removal{opacity:.78;border-style:dashed}.photo-editor-card>img{width:100%;height:100%;max-height:360px;object-fit:cover;border-radius:.75rem;background:var(--sand)}.photo-editor-fields{display:grid;gap:.8rem;align-content:start}.photo-editor-fields label{display:grid;gap:.3rem;font-weight:700}.button-danger:hover{background:#fff0f0}.preview-primary-photo,.memorial-primary-image{display:block;width:100%;max-height:560px;object-fit:cover;border-radius:var(--radius);margin:0 auto 1.5rem}.public-primary-photo picture{display:block}.photo-gallery figure{margin:0}.photo-gallery img,.photo-gallery picture{display:block;width:100%}.preview-gallery{margin-top:2rem}.memorial-card picture{display:block}.memorial-card-photo{display:block;width:110px;height:110px;object-fit:cover;border-radius:.8rem;background:var(--sand)}.memorial-dates{text-align:center}.memorial-dates dt{font-weight:800;color:var(--forest)}.memorial-dates dd{margin:0;color:var(--muted)}.manage-memorial{margin-top:1rem}.revision-list{display:grid;gap:1rem;margin-top:2rem}.revision-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.revision-card h2{font-size:1.35rem;margin:.2rem 0}.revision-card p{margin:.2rem 0}
@media(max-width:780px){.heading-links{justify-items:start;margin-top:1rem}.photo-editor-grid{grid-template-columns:1fr}.photo-editor-card{grid-template-columns:1fr}.photo-gallery{grid-template-columns:1fr}.memorial-card-photo{width:85px;height:85px}.revision-card{align-items:flex-start;flex-direction:column}}

textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.stacked-form{display:grid;gap:1rem}.stacked-form label{display:grid;gap:.35rem;font-weight:700}.stacked-form input:not([type=checkbox]):not([type=hidden]){width:100%;border:1px solid #8a9590;border-radius:.65rem;padding:.72rem;background:white;color:var(--ink)}.form-card{background:white;border:1px solid rgba(24,61,54,.12);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.field-help{margin:0;color:var(--muted);font-size:.92rem}.section-heading-row h2,.section-heading-row h3{margin-top:.25rem}.condolence-list,.moderation-list,.admin-list,.notification-list{display:grid;gap:1rem}.condolence-card{background:white;border-left:4px solid var(--rose);border-radius:.65rem;box-shadow:var(--shadow)}.condolence-card blockquote,.moderation-version blockquote,.admin-case blockquote{margin:.5rem 0 1rem;font-family:Georgia,serif;font-size:1.08rem}.condolence-card footer{font-size:.9rem}.moderation-card{display:grid;gap:1rem}.moderation-version{padding:1rem;background:var(--cream);border-radius:.65rem}.pending-version{border:1px solid #d8b36b;background:#fffaf0}.status-pending,.status-edit_pending,.status-open,.status-reviewing,.status-waiting{background:#fff1d6;color:#6a4200}.status-approved,.status-resolved,.status-visible,.status-active{background:#e6f4ed;color:var(--forest)}.status-rejected,.status-deleted,.status-withdrawn,.status-expired,.status-hidden,.status-suspended,.status-danger,.status-dismissed{background:#fff0f0;color:var(--danger)}.notification-count{display:inline-grid;place-items:center;min-width:1.75rem;height:1.75rem;padding:0 .45rem;border-radius:999px;background:var(--rose);color:white;font:700 .85rem/1 sans-serif}.notification-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-top:1px solid var(--sand)}.notification-item:first-child{border-top:0}.notification-item p{margin:.25rem 0}.notification-item span{color:var(--muted);font-size:.85rem}.notification-item.is-unread{border-left:4px solid var(--rose);padding-left:.75rem}.stat-grid{display:grid;gap:1rem;margin:1.5rem 0 2.5rem}.stat-card{display:grid;gap:.25rem;padding:1.25rem;background:white;border:1px solid rgba(24,61,54,.12);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card-link{color:inherit;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.stat-card-link:hover{transform:translateY(-2px);border-color:rgba(24,61,54,.32)}.stat-card-link:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.stat-card strong{font-family:Georgia,serif;font-size:2rem;color:var(--forest)}.stat-card span{color:var(--muted)}.admin-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--sand);scroll-margin-top:1rem}.admin-report-block{padding:1rem;background:var(--cream);border-radius:.65rem}.admin-report-block h4{margin:0 0 .5rem}.admin-report-reason{border-left:4px solid var(--rose);background:#fff8f8}.admin-case{display:grid;gap:.85rem}.inline-admin-form{display:grid;grid-template-columns:minmax(140px,.4fr) minmax(260px,1fr) auto;align-items:end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--sand)}.inline-admin-form label{display:grid;gap:.3rem;font-weight:700}.table-wrap{overflow-x:auto}
@media(max-width:900px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-admin-form{grid-template-columns:1fr}.notification-item{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.stat-grid{grid-template-columns:1fr}.section-heading-row{display:block}}

.notification-empty{margin:.75rem 0 0}.notification-history{margin-top:1rem;border-top:1px solid var(--sand);padding-top:.85rem}.notification-history summary{cursor:pointer;color:var(--forest);font-weight:800}.notification-history summary span{color:var(--muted);font-weight:700}.notification-history[open] summary{margin-bottom:.35rem}.notification-history .notification-list{gap:0}.notification-history .notification-item{padding:.75rem 0}.notification-history .notification-item strong{font-size:.95rem}.notification-history .notification-item p{font-size:.92rem}.notification-history .field-help{margin:.75rem 0 0}

body.photo-viewer-open{overflow:hidden}.photo-viewer-trigger{display:block;width:100%;border:0;padding:0;background:transparent;color:inherit;text-decoration:none;cursor:zoom-in}.photo-viewer-trigger picture,.photo-viewer-trigger img{display:block;width:100%}.photo-viewer-trigger-primary{border-radius:var(--radius)}.photo-viewer-trigger:hover img{filter:brightness(.96)}.photo-viewer-trigger:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:var(--radius)}.photo-viewer[hidden]{display:none}.photo-viewer{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:rgba(10,18,16,.96);color:white;padding:1rem}.photo-viewer-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;min-height:3.5rem}.photo-viewer-title,.photo-viewer-counter,.photo-viewer-help{margin:0;color:white}.photo-viewer-title{font-family:Georgia,serif;font-size:1.25rem;font-weight:700}.photo-viewer-counter{text-align:center;color:#dce7e3;font-weight:700}.photo-viewer-close,.photo-viewer-nav{display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.08);color:white;cursor:pointer}.photo-viewer-close{justify-self:end;width:2.75rem;height:2.75rem;border-radius:50%;font-size:2rem;line-height:1}.photo-viewer-close:hover,.photo-viewer-nav:hover{background:rgba(255,255,255,.18)}.photo-viewer-stage{min-height:0;display:grid;grid-template-columns:minmax(3.25rem,5rem) minmax(0,1fr) minmax(3.25rem,5rem);align-items:center;gap:1rem}.photo-viewer-nav{width:3.25rem;height:4.5rem;border-radius:999px;font-size:3rem;line-height:1}.photo-viewer-nav:disabled{opacity:.25;cursor:default}.photo-viewer-previous{justify-self:start}.photo-viewer-next{justify-self:end}.photo-viewer-previous{grid-column:1}.photo-viewer-figure{grid-column:2;min-width:0;min-height:0;margin:0;display:grid;place-items:center;align-content:center;gap:.75rem}.photo-viewer-next{grid-column:3}.photo-viewer.photo-viewer-standalone .photo-viewer-stage{grid-template-columns:minmax(0,1fr)}.photo-viewer.photo-viewer-standalone .photo-viewer-figure{grid-column:1;width:100%;height:100%}.photo-viewer-figure picture{display:grid;place-items:center;min-width:0;min-height:0}.photo-viewer-image{display:block;max-width:100%;max-height:calc(100vh - 10rem);width:auto;height:auto;object-fit:contain;border-radius:.35rem;box-shadow:0 1rem 3rem rgba(0,0,0,.35)}.photo-viewer-caption{max-width:60rem;text-align:center;color:#edf4f1;font-size:1rem}.photo-viewer-help{text-align:center;color:#c6d5d0;font-size:.88rem;padding-top:.5rem}@media(max-width:680px){.photo-viewer{padding:.6rem}.photo-viewer-toolbar{grid-template-columns:1fr auto}.photo-viewer-title{display:none}.photo-viewer-counter{text-align:left}.photo-viewer-stage{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;gap:.35rem}.photo-viewer-nav{width:2.75rem;height:3.75rem;font-size:2.5rem}.photo-viewer-image{max-height:calc(100vh - 9rem)}.photo-viewer-help{font-size:.78rem}}

.settings-section h2{margin-top:.25rem}.checkbox-row{grid-template-columns:auto minmax(0,1fr)!important;align-items:start}.checkbox-row input{margin-top:.35rem}.session-list,.export-list{display:grid;gap:0}.session-item,.export-item,.deleted-memorial-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--sand)}.session-item:first-child,.export-item:first-child{border-top:0}.session-item p,.export-item p{margin:.2rem 0}.session-item span,.export-item span{color:var(--muted);font-size:.9rem}.settings-inline-action{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--sand)}.account-danger-zone{margin-top:2rem}.deleted-memorials{margin-top:2.5rem;padding:1.25rem;background:white;border:1px solid rgba(24,61,54,.12);border-radius:var(--radius)}.deleted-memorials summary{cursor:pointer;color:var(--forest);font-weight:800}.deleted-memorials summary span{color:var(--muted)}.path-text{overflow-wrap:anywhere}.date-control{display:block;width:100%;border:1px solid #8a9590;border-radius:.65rem;padding:.72rem;background:white}.date-control input{display:block;width:100%;min-width:0;border:0;background:transparent;padding:0;font:inherit}.date-control input:focus-visible{outline:0}.status-ready,.status-building{background:#e6f4ed;color:var(--forest)}.status-failed{background:#fff0f0;color:var(--danger)}@media(max-width:680px){.session-item,.export-item,.deleted-memorial-card{flex-direction:column}.settings-nav{display:grid;grid-template-columns:1fr 1fr}.settings-nav a{justify-content:center}}

.backup-security-warning{margin:1rem 0 1.5rem}.backup-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.backup-actions form{margin:0}.backup-actions .button{white-space:nowrap}
.backup-progress{display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0;padding:.9rem 1rem;border:1px solid #93b7d6;border-radius:.65rem;background:#eef6fc;color:#143c5f}.backup-progress[hidden]{display:none}.backup-progress strong{display:block;margin-bottom:.15rem}.backup-progress-dot{width:.8rem;height:.8rem;margin-top:.42rem;border-radius:999px;background:#1769aa;box-shadow:0 0 0 0 rgba(23,105,170,.35);animation:backup-progress-pulse 1.2s ease-out infinite}.backup-progress[data-state="running"] .field-help{color:#31566f}@keyframes backup-progress-pulse{0%{box-shadow:0 0 0 0 rgba(23,105,170,.35)}70%{box-shadow:0 0 0 .55rem rgba(23,105,170,0)}100%{box-shadow:0 0 0 0 rgba(23,105,170,0)}}

.tribute p{margin:0 0 1.15rem}.tribute p:last-child{margin-bottom:0}.tribute ul{margin:0 0 1.15rem;padding-left:1.5rem}.tribute ul:last-child{margin-bottom:0}.tribute li{margin:.35rem 0}.tribute-editor{display:grid;gap:.65rem}.tribute-editor>label{display:block}.tribute-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;padding:.65rem;background:var(--cream);border:1px solid #c4ccc8;border-radius:.7rem}.tribute-toolbar .button{min-width:auto}.tribute-preview-panel{margin-top:.5rem;padding:1.25rem;background:white;border:1px solid rgba(24,61,54,.14);border-radius:.8rem}.tribute-preview-panel h3{margin:0 0 .8rem;font-size:1.1rem}.tribute-preview{min-height:4.5rem}.tribute-preview .muted{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.95rem}@media(max-width:560px){.tribute-toolbar .button{flex:1 1 auto}}

/* Quill 2 written-tribute editor and public rich-text rendering. */
/* Toolbar controls intentionally use Quill Snow defaults; site button styles must not override them. */
[hidden]{display:none!important}.form-label{display:block;font-weight:700;color:var(--forest);margin-bottom:.25rem}.tribute ol{margin:0 0 1.15rem;padding-left:1.7rem}.tribute ol:last-child{margin-bottom:0}.tribute blockquote{margin:0 0 1.15rem;padding:.35rem 0 .35rem 1rem;border-left:4px solid var(--rose);color:var(--muted)}.tribute blockquote:last-child{margin-bottom:0}.tribute p,.tribute li,.tribute blockquote{white-space:pre-wrap}.tribute-align-center{text-align:center}.tribute-align-right{text-align:right}.tribute-align-justify{text-align:justify}.tribute-quill{gap:.75rem}.tribute-quill-editor.ql-container.ql-snow{border:1px solid #8a9590;border-top:0;border-radius:0 0 .7rem .7rem;background:#fff;color:var(--ink);font-size:1rem}.tribute-quill-editor .ql-editor{min-height:18rem;font-family:Georgia,serif;font-size:1.15rem;line-height:1.75}.tribute-quill-editor .ql-editor.ql-blank::before{color:var(--muted);font-style:italic}.tribute-editor-status{margin:0}.error-text{color:#8c2f23!important;font-weight:700}.tribute-quill textarea[data-tribute-fallback]{min-height:18rem;font-family:Georgia,serif;font-size:1.1rem;line-height:1.7}.tribute-quill .ql-editor:focus-visible{outline:3px solid #c67a4b;outline-offset:2px}@media(max-width:620px){.tribute-quill-editor .ql-editor{min-height:15rem;padding:1rem}}

.brand-logo{display:block}.policy-body p{margin:0 0 1rem}.policy-body p:last-child{margin-bottom:0}@media(max-width:780px){.brand-logo{height:2.5rem;max-width:200px}.footer-links{justify-content:flex-start}}


.site-nav > a,
.site-nav > .nav-form{position:relative}

.site-nav > * + *::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;background:rgba(24,61,54,.18)}
.site-nav a,
.site-nav .link-button{display:inline-flex;align-items:center;border-radius:.6rem;transition:background-color .15s ease,color .15s ease}
.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav .link-button:hover,
.site-nav .link-button:focus-visible{background:rgba(24,61,54,.09);text-decoration:none}
.nav-form{display:inline-flex;align-items:center}
.link-button{min-height:2.5rem}


.hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);gap:2rem}

.hero-image{height:auto}
@media(max-width:780px){
  .brand-logo{height:3.75rem;max-width:260px}
  .site-nav > * + *{margin-left:0;padding-left:0}
  .site-nav > * + *::before{display:none}
  .site-nav a,.site-nav .link-button{width:100%;justify-content:center}
  .hero-grid{grid-template-columns:1fr}
  .hero-image{max-height:none}
}


.hero-image-panel{transform-style:preserve-3d}
.hero-image{transform-origin:center center}
@media(max-width:1050px){
  .hero-with-image .hero-grid{grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr)}
  .hero-image-panel{width:128%}
}
@media(max-width:780px){
  .header-inner{min-height:5.5rem}
  .brand-logo{height:4.5rem;max-width:300px}
  .hero-with-image{padding-top:3.5rem;padding-bottom:4rem}
  .hero-with-image .hero-grid{grid-template-columns:1fr;gap:2rem}
  .hero-image-panel{width:100%;justify-self:stretch;filter:drop-shadow(0 20px 18px rgba(24,61,54,.18))}
  .hero-image{transform:perspective(1200px) rotateX(1.25deg) translateZ(16px);box-shadow:0 30px 52px rgba(24,39,34,.28),0 12px 20px rgba(24,39,34,.2),-8px 10px 0 rgba(24,61,54,.1)}
}


@media(max-width:1050px){
  .hero-with-image .hero-grid{grid-template-columns:minmax(0,1fr) minmax(330px,1fr)}
  .hero-image-panel{width:100%;max-width:640px}
  .hero-image{max-width:640px;max-height:min(60vh,560px)}
}
@media(max-width:780px){
  .hero-image-panel{width:100%;max-width:100%;justify-self:stretch}
  .hero-image{max-width:100%;max-height:none}
}


.hero-with-image .container{width:min(1120px,calc(100% - 2rem))}


@media(max-width:1050px){
  .hero-with-image .hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.95fr)}
  .hero-image-panel{width:100%;max-width:none}
  .hero-image{max-width:100%;max-height:640px}
}
@media(max-width:780px){
  .hero-with-image .hero-grid{grid-template-columns:1fr}
  .hero-image-panel{width:100%;max-width:100%;justify-self:stretch}
  .hero-image{max-width:100%;max-height:none}
}


.hero-with-image{padding-top:5rem;padding-bottom:4.75rem;perspective:none;overflow:visible}
.hero-with-image .hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);gap:2rem;align-items:start}
.hero-with-image h1{font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.1;max-width:15ch;margin-top:0}
.hero-image-panel{display:flex;align-items:flex-start;justify-content:center;transform:none;filter:none}
.hero-image{display:block;max-height:640px;object-fit:cover;transform:none}
@media(max-width:980px){
  .hero-with-image .hero-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:1.75rem}
  .hero-with-image h1{font-size:clamp(1.9rem,4vw,2.8rem)}
}
@media(max-width:780px){
  .hero-with-image{padding-top:3.5rem;padding-bottom:4rem}
  .hero-with-image .hero-grid{grid-template-columns:1fr;gap:1.75rem}
  .hero-with-image h1{max-width:none}
  .hero-image-panel{justify-content:flex-start}
  .hero-image{max-height:none}
}


@media(max-width:980px){
  .hero-image-panel{width:112%}
}
@media(max-width:780px){
  .hero-image-panel{width:100%;justify-self:stretch}
  .hero-image{max-width:100%}
}


.site-nav a,
.site-nav .link-button{min-height:2.1rem;padding:.28rem .6rem}
.site-nav > * + *{margin-left:.1rem;padding-left:.7rem}
.site-nav > * + *::before{height:1.05rem}
.hero-image-panel{width:125%;max-width:none;justify-self:start;align-self:start}
.hero-image{width:100%;max-width:none;border:0}
@media(max-width:780px){
  .header-inner{min-height:4.1rem;padding-block:.1rem}
  .brand-logo{height:3.2rem;max-width:235px}
}


.tribute-panel h2{margin:0 0 .9rem;font-size:1.35rem}
.tribute-panel .tribute{margin:0;background:transparent}
@media(max-width:780px){.tribute-panel{padding:1.1rem 1rem}}


.header-inner{padding-block:0}

.brand-logo{height:3rem;width:auto;max-width:min(250px,46vw)}
.site-nav a,.site-nav .link-button{min-height:2rem;padding:.2rem .55rem}
.nav-toggle{padding:.38rem .7rem;border-color:var(--action-bg)}
.nav-toggle:hover,.nav-toggle:focus-visible{background:var(--action-hover-bg);border-color:var(--action-hover-bg);color:var(--action-hover-text)}
.button,.button-secondary,.button-danger,.button-small,
a.button,button.button{min-height:var(--action-height);min-width:8.5rem;padding:.62rem 1rem;border:1px solid var(--action-bg);border-radius:.72rem;background:var(--action-bg);color:var(--action-text);font-size:1rem;font-weight:750;line-height:1.2;text-align:center;text-decoration:none}
.button:hover,.button:focus-visible,
.button-secondary:hover,.button-secondary:focus-visible,
.button-danger:hover,.button-danger:focus-visible,
.button-small:hover,.button-small:focus-visible,
a.button:hover,a.button:focus-visible,button.button:hover,button.button:focus-visible{background:var(--action-hover-bg);border-color:var(--action-hover-bg);color:var(--action-hover-text);text-decoration:none}

.actions>.button,.actions>button.button,.actions>a.button{min-width:10rem}
.memorial-public .button,.memorial-public button.button,.memorial-public a.button{min-width:10rem}
.pagination a{border-color:var(--action-bg);font-weight:750}

.hero-image{border-radius:1.2rem;box-shadow:0 16px 32px rgba(0,0,0,.22),0 32px 58px rgba(0,0,0,.14)}
/* Public tribute-panel headings remain visible for semantic heading navigation. */
.tribute-native-editor{display:block;min-height:18rem;padding:1rem 1.15rem;overflow:auto;background:#fff;color:var(--ink);border:1px solid #8a9590;border-top:0;border-radius:0 0 .7rem .7rem;font-family:Georgia,serif;font-size:1.15rem;line-height:1.75;white-space:normal}
.tribute-native-editor:focus{outline:3px solid var(--focus);outline-offset:2px}
.tribute-native-editor p{margin:0 0 1rem}
.tribute-native-editor blockquote{margin:.5rem 0 1rem;padding-left:1rem;border-left:4px solid var(--rose)}
.tribute-native-editor ol,.tribute-native-editor ul{padding-left:1.7rem}
@media(max-width:780px){
  .header-inner{min-height:3.4rem}
  .brand-logo{height:2.6rem;max-width:210px}
  .button,.button-secondary,.button-danger,.button-small,a.button,button.button{width:100%;min-width:0}
  .actions{align-items:stretch}
}


:root{
  --navy:#102235;
  --navy-2:#1b344a;
  --navy-3:#29475f;
  --gold:#f2aa00;
  --gold-dark:#8f5f00;
  --paper:#f4f5f6;
  --surface:#ffffff;
  --surface-soft:#eef1f3;
  --line:#d9dfe4;
  --ink:#1c2732;
  --muted:#5c6873;
  --forest:var(--navy);
  --forest-2:var(--navy-2);
  --cream:var(--paper);
  --sand:var(--surface-soft);
  --rose:var(--gold-dark);
  --white:#fff;
  --focus:#1769aa;
  --radius:.8rem;
  --shadow:0 14px 34px rgba(16,34,53,.10);
  
  
  
  
  
  color:var(--ink);
  background:var(--paper);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html{scroll-behavior:smooth;background:var(--paper)}
body.site-body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink)}
body.site-body main{min-height:58vh}
a{color:var(--navy-2)}
a:hover{color:var(--navy)}
.container{width:min(1180px,calc(100% - 2.5rem));margin-inline:auto}
.narrow,.narrow-container{width:min(760px,100%)}
.skip-link{background:var(--gold);color:#111820;border-radius:.4rem;font-weight:800}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #d8dde2;box-shadow:0 1px 0 rgba(16,34,53,.03);backdrop-filter:blur(14px)}
.header-inner{padding:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}
.brand{display:inline-flex;align-items:center;color:var(--navy);text-decoration:none}
.brand:hover{text-decoration:none;color:var(--navy)}
.brand-mark-image{display:block;width:2.7rem;height:2.7rem;object-fit:contain}
.brand-copy{display:grid;gap:.18rem;line-height:1.05}
.brand-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;letter-spacing:-.01em;color:var(--navy)}
.brand-copy small{font-size:.72rem;color:var(--muted);letter-spacing:.015em}
.header-navigation{display:flex;align-items:center;justify-content:flex-end;min-width:0}
.site-nav{display:flex;align-items:center;justify-content:center;min-width:0}
.site-nav a{position:relative;display:inline-flex;align-items:center;min-height:2.5rem;padding:.25rem 0;border-radius:0;color:#303841;font-weight:550;text-decoration:none;white-space:nowrap}
.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:.12rem;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .16s ease}
.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current="page"]{color:var(--gold-dark);text-decoration:none}
.site-nav a:hover::after,.site-nav a:focus-visible::after,.site-nav a[aria-current="page"]::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:.85rem;white-space:nowrap}
.header-utility,.header-actions .link-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.55rem;padding:.45rem .55rem;border:0;background:transparent;color:var(--navy);font-size:.9rem;font-weight:650;text-decoration:none;cursor:pointer}
.header-utility:hover,.header-utility:focus-visible,.header-actions .link-button:hover,.header-actions .link-button:focus-visible{color:var(--gold-dark);background:transparent;text-decoration:none}
.header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:2.65rem;padding:.55rem 1rem;border:1px solid var(--gold);border-radius:.55rem;font-size:.9rem;font-weight:800;text-decoration:none;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.header-cta:hover,.header-cta:focus-visible{text-decoration:none;transform:translateY(-1px)}
.nav-toggle{display:none;min-height:2.55rem;min-width:4.4rem;border:1px solid var(--navy);border-radius:.5rem;background:#fff;color:var(--navy);font-weight:750}

/* Homepage hero */
.home-hero{position:relative;isolation:isolate}

.home-hero-shade{position:absolute;inset:0;z-index:-2}
.home-hero-content{align-self:center}
.home-hero-kicker{font-size:.82rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.home-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:700}

.home-hero-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}


/* Global typography and page rhythm */
.section{padding:4.8rem 0}
.section-soft{background:var(--surface-soft)}
h1,h2,h3{color:var(--navy);line-height:1.14}
h1,h2{font-family:Georgia,"Times New Roman",serif}
h1{font-size:clamp(2.35rem,5vw,4.1rem);letter-spacing:-.025em}
h2{font-size:clamp(1.8rem,3.5vw,2.75rem);letter-spacing:-.018em}
h3{font-size:1.18rem}
.eyebrow{margin-bottom:.45rem;color:var(--gold-dark);font-size:.74rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.lead{color:var(--muted);font-size:1.18rem;line-height:1.65}
.muted,.hint,.field-help{color:var(--muted)}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.page-heading h1{margin:.2rem 0 .55rem}
.heading-links{display:flex;align-items:center;justify-content:flex-end;gap:.85rem;flex-wrap:wrap}
.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem}
.section-heading-centered{text-align:center;margin-bottom:2.25rem}
.section-heading-centered h2{margin:.2rem 0}
.section-inline{margin-top:3.25rem;padding-top:2.25rem;border-top:1px solid var(--line)}

/* Buttons */
.button,.button-secondary,.button-small,a.button,button.button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:var(--action-height);min-width:9rem;padding:.68rem 1.05rem;
  border:1px solid var(--gold);border-radius:.58rem;background:var(--gold);color:#111820;
  font-size:.96rem;font-weight:800;line-height:1.15;text-align:center;text-decoration:none;
  box-shadow:0 6px 14px rgba(16,34,53,.08);cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease
}
.button:hover,.button:focus-visible,.button-secondary:hover,.button-secondary:focus-visible,.button-small:hover,.button-small:focus-visible,a.button:hover,a.button:focus-visible,button.button:hover,button.button:focus-visible{background:var(--navy);border-color:var(--navy);color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 9px 20px rgba(16,34,53,.16)}

.button-danger{background:#a62424!important;border-color:#a62424!important;color:#fff!important}
.button-danger:hover,.button-danger:focus-visible{background:#751616!important;border-color:#751616!important;color:#fff!important}
.button[disabled],button.button[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.centered-actions{justify-content:center}
.link-button{color:var(--navy);font-weight:700}
.link-button:hover{color:var(--gold-dark)}

/* Cards, forms and data surfaces */
.panel,.card,.form-card,.preview-card,.tribute-panel,.upload-panel,.moderation-card,.admin-case,.stat-card,.condolence-card,.notification-item,.deleted-memorials,.export-status-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 28px rgba(16,34,53,.07)}
.panel,.form-card,.preview-card,.upload-panel,.export-status-card{padding:1.65rem}
.card{padding:1.5rem}
.form-stack,.stacked-form{display:grid;gap:1.1rem}
.form-stack label,.stacked-form label,.photo-editor-fields label{display:grid;gap:.38rem;color:var(--navy);font-size:.94rem;font-weight:750}
input:not([type=checkbox]):not([type=radio]),select,textarea,.date-control{width:100%;min-height:2.85rem;border:1px solid #aeb7bf;border-radius:.48rem;background:#fff;color:var(--ink);padding:.7rem .78rem;font:inherit;box-shadow:inset 0 1px 2px rgba(16,34,53,.03)}
textarea{min-height:8rem;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--navy-3);outline:3px solid rgba(41,71,95,.16);outline-offset:1px}
.checkbox,.checkbox-row{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:start;gap:.65rem!important}
.checkbox input,.checkbox-row input{margin-top:.25rem;accent-color:var(--gold-dark)}
.search-panel{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr) minmax(160px,1fr) auto;gap:1rem;align-items:end;margin:2rem 0;padding:1.25rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.empty-state{margin-top:2rem;padding:3rem 2rem;background:#fff;border:1px dashed #aab4bc;border-radius:var(--radius);text-align:center;box-shadow:0 10px 24px rgba(16,34,53,.05)}
.alert{margin-top:1rem;border-radius:.55rem;box-shadow:0 6px 16px rgba(16,34,53,.05)}
.alert-success{background:#edf8f1;border-color:#82b997;color:#164c2c}
.alert-warning{background:#fff8e4;border-color:#d8b65f;color:#694900}
.alert-error{background:#fff0f0;border-color:#d69b9b;color:#7c1f1f}

/* Memorial cards and directory */
.memorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:2rem}
.memorial-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:1.05rem;align-items:center;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:.75rem;box-shadow:0 10px 25px rgba(16,34,53,.07);transition:transform .16s ease,box-shadow .16s ease}
.memorial-card:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(16,34,53,.12)}
.memorial-card h3{margin:.1rem 0 .3rem;font-family:Georgia,"Times New Roman",serif;font-size:1.3rem}
.memorial-card h3 a{text-decoration:none}
.memorial-card p{margin:0;color:var(--muted)}
.memorial-card-photo,.memorial-placeholder{width:112px;height:112px;border-radius:.55rem;object-fit:cover;background:var(--surface-soft)}
.home-recent{background:#f7f8f8}
.home-memorial-grid .memorial-card{grid-template-columns:1fr;padding:0;overflow:hidden;align-items:stretch}
.home-memorial-grid .memorial-card>picture,.home-memorial-grid .memorial-card>.memorial-card-photo{display:block;width:100%}
.home-memorial-grid .memorial-card-photo,.home-memorial-grid .memorial-placeholder{width:100%;border-radius:0}
.home-memorial-grid .memorial-card>div:last-child{padding:1.15rem 1.2rem 1.3rem}
.pagination{display:flex;gap:.45rem;margin-top:2rem}
.pagination a{display:grid;place-items:center;min-width:2.55rem;min-height:2.55rem;border:1px solid #aeb8c1;border-radius:.45rem;background:#fff;color:var(--navy);text-decoration:none}
.pagination a:hover,.pagination a:focus-visible,.pagination .current{background:var(--navy);border-color:var(--navy);color:#fff}

/* Public memorial */
.memorial-hero{padding:4.2rem 0 3rem;background:linear-gradient(180deg,#eef2f4,#f7f8f9);border-bottom:1px solid var(--line);text-align:center}
.memorial-hero .narrow{width:min(820px,100%)}
.memorial-primary-image,.preview-primary-photo{display:block;width:100%;max-height:560px;object-fit:cover;border-radius:.85rem;box-shadow:0 18px 42px rgba(16,34,53,.18)}
.public-primary-photo{margin-bottom:2rem}
.large-placeholder{background:#e7ebee;color:var(--navy);box-shadow:var(--shadow)}
.memorial-body{padding-bottom:5rem}
.memorial-dates{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin:0 0 2rem}
.memorial-dates div{min-width:150px;padding:.85rem 1rem;background:#fff;border:1px solid var(--line);border-radius:.6rem;box-shadow:0 6px 15px rgba(16,34,53,.05)}
.tribute-panel{margin-top:1.5rem;background:#fff;border:1px solid #c9d0d6;border-radius:.8rem;box-shadow:0 0 0 3px rgba(16,34,53,.025),0 12px 26px rgba(16,34,53,.08)}
.tribute-panel .tribute{color:#25313c;font-family:Georgia,"Times New Roman",serif}
.photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.photo-gallery figure{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:.7rem;box-shadow:0 8px 22px rgba(16,34,53,.07)}
.photo-gallery img{width:100%;height:auto;max-height:620px;object-fit:cover}
.photo-gallery figcaption{padding:.8rem 1rem;color:var(--muted)}
.details{display:grid;gap:0;margin-top:2.5rem;background:#fff;border:1px solid var(--line);border-radius:.7rem;padding:0 1.2rem}
.details div{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}
.details div:first-child{border-top:0}
.condolence-list{display:grid;gap:1rem}
.condolence-card{padding:1.3rem}
.condolence-card blockquote{margin:0 0 1rem;font-family:Georgia,"Times New Roman",serif;font-size:1.08rem}
.condolence-card footer{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;color:var(--muted)}

/* Dashboard, settings and administration */
.dashboard-grid,.stat-grid,.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;margin-top:2rem}
.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat-card,.stat-card-link{padding:1.35rem;text-decoration:none}
.settings-nav{flex-wrap:wrap}
.settings-nav a{border:0;background:transparent}

.settings-section{margin-top:3.2rem}
.dashboard-notifications,.notification-history{margin-top:2rem}
.notification-item,.session-item,.export-item,.deleted-memorial-card{padding:1rem 1.1rem}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:.65rem;box-shadow:var(--shadow)}
table{width:100%;border-collapse:collapse}
th,td{padding:.85rem 1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#edf1f3;color:var(--navy);font-size:.83rem;letter-spacing:.02em}
.status{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .62rem;background:#e7ebee;color:var(--navy);font-size:.76rem;font-weight:800}
.status-active,.status-approved,.status-published{background:#e7f5ec;color:#1d6138}
.status-warning,.status-pending{background:#fff5d8;color:#6a4a00}
.status-danger,.status-deleted,.status-rejected{background:#fde9e9;color:#812626}
.danger-zone{border:1px solid #d9a4a4;background:#fff8f8;border-radius:.75rem;padding:1.4rem}

/* Stepper and editor */
.stepper{display:grid;gap:.65rem;margin:2rem 0;padding:0;list-style:none}
.stepper a{display:grid;gap:.42rem;color:var(--muted);text-align:center;text-decoration:none}
.stepper span{display:grid;place-items:center;width:2.15rem;height:2.15rem;margin:auto;border:1px solid #b9c2c9;border-radius:50%;background:#fff;color:var(--navy);font-weight:800}

.stepper .active a{color:var(--navy);font-weight:800}
.tribute-native-editor,.tribute-quill-editor.ql-container.ql-snow{background:#fff;border-color:#aeb7bf;color:var(--ink)}

/* Footer */
.site-footer{padding:3.5rem 0 1.5rem;background:var(--navy);color:#fff}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(2,minmax(160px,.65fr));gap:3rem}
.footer-grid>div{display:grid;align-content:start;gap:.55rem}
.footer-grid strong{margin-bottom:.3rem;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:1.05rem}
.footer-logo{display:block;width:auto;height:3.6rem;max-width:270px;margin-bottom:.6rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}
.footer-brand p{max-width:420px;margin:0;color:#cbd5dd;line-height:1.7}
.footer-link{color:#d7dfe5;text-decoration:none}
.footer-link:hover,.footer-link:focus-visible{color:var(--gold);text-decoration:none}
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.6rem 1rem;margin-top:2.5rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.16);color:#aebbc5;font-size:.86rem}.footer-copyright{justify-self:start}.footer-version{justify-self:center;text-align:center;white-space:nowrap}.footer-location{justify-self:end;text-align:right}.footer-directory{grid-column:1/-1;justify-self:center;max-width:100%;text-align:center}.footer-release-path{font-family:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:.82em;overflow-wrap:anywhere;word-break:break-word}
.footer-links{display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:1080px){
  .header-inner{gap:1.2rem}
  .header-navigation{gap:1.2rem}
  .site-nav{gap:1rem}
  .brand-copy small{display:none}
  .search-panel{grid-template-columns:1fr 1fr}
  .search-panel .button{width:100%}
}
@media(max-width:900px){
  .header-inner{grid-template-columns:auto auto;justify-content:space-between;min-height:4.1rem}
  .brand-mark-image{width:2.45rem;height:2.45rem}
  .brand-copy strong{font-size:1.08rem}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;justify-self:end}
  .header-navigation{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:1rem;padding:1rem 1.25rem 1.25rem;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 16px 24px rgba(16,34,53,.12)}
  .header-navigation.is-open{display:flex}
  .site-nav{display:flex;flex-direction:column;align-items:stretch;gap:.15rem}
  .site-nav a{justify-content:center;min-height:2.7rem;padding:.5rem}
  .site-nav a::after{display:none}
  .site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current="page"]{background:#eef2f4;color:var(--navy);border-radius:.45rem}
  .header-actions{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding-top:.85rem;border-top:1px solid var(--line)}
  .header-actions .nav-form{display:flex}
  .header-utility,.header-actions .link-button,.header-cta{width:100%}
  .memorial-grid,.home-memorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:680px){
  .container{width:min(100% - 1.35rem,1180px)}
  .home-hero{min-height:36rem}
  .home-hero-content{padding:4rem .5rem}
  .home-hero-actions{width:100%;display:grid;grid-template-columns:1fr}
  .home-hero-actions .button{width:100%}
  .section{padding:3.5rem 0}
  .page-heading,.section-heading-row{display:grid;align-items:start}
  .heading-links{justify-content:flex-start}
  .button,.button-secondary,.button-small,a.button,button.button{width:100%;min-width:0}
  .actions{display:grid;grid-template-columns:1fr;width:100%}
  .search-panel{grid-template-columns:1fr}
  .memorial-grid,.home-memorial-grid,.dashboard-grid,.stat-grid,.card-grid,.footer-grid{grid-template-columns:1fr}
  .memorial-card{grid-template-columns:88px minmax(0,1fr)}
  .memorial-card-photo,.memorial-placeholder{width:88px;height:88px}
  .home-memorial-grid .memorial-card{grid-template-columns:1fr}
  .home-memorial-grid .memorial-card-photo,.home-memorial-grid .memorial-placeholder{width:100%;height:210px}
  .photo-gallery{grid-template-columns:1fr}
  .details div{grid-template-columns:1fr;gap:.2rem}
  .stepper{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-brand{grid-column:auto}
  .footer-bottom{grid-template-columns:1fr;text-align:center}
  .footer-copyright,.footer-version,.footer-location,.footer-directory{justify-self:center;text-align:center}
  .footer-links{justify-content:center}
  .header-actions{grid-template-columns:1fr}
}


.header-inner{min-height:4rem;gap:1.5rem}
.brand{line-height:1;min-width:0}
.brand-logo-header{display:block;width:auto;height:2.15rem;max-width:9.25rem;object-fit:contain;flex:0 0 auto}
.brand-tagline{color:var(--muted);font-size:.76rem;font-weight:650;line-height:1.1;white-space:nowrap}
.header-navigation{gap:1.65rem}
.site-nav{gap:1.45rem}
.site-nav a{font-size:.96rem}


.home-memorial-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),360px));justify-content:center}
.home-memorial-grid .memorial-card{width:100%;max-width:360px}
.home-memorial-grid .memorial-card-photo,.home-memorial-grid .memorial-placeholder{height:235px}


.memorial-owner-actions .manage-memorial{margin-top:0}
@media(max-width:1080px){
  .header-inner{gap:1rem}
  .header-navigation{gap:1.1rem}
  .site-nav{gap:1rem}
  .site-nav a{font-size:.92rem}
  .brand-tagline{font-size:.72rem}
}
@media(max-width:780px){
  .header-inner{min-height:3.8rem}
  .brand-logo-header{height:1.95rem;max-width:8.4rem}
  .brand-tagline{font-size:.7rem}
  .home-memorial-grid{grid-template-columns:minmax(0,1fr)}
  .home-memorial-grid .memorial-card{max-width:360px;justify-self:center}
  .memorial-owner-actions{align-items:stretch}
  .memorial-owner-actions .button{align-self:stretch}
}


.brand{gap:0}
.brand-tagline{display:none!important}
.site-nav a,
.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a[aria-current="page"]{background:transparent!important;box-shadow:none!important}


.home-hero-shade{background:linear-gradient(180deg,rgba(5,15,25,.38),rgba(5,15,25,.56)),linear-gradient(90deg,rgba(5,15,25,.68),rgba(5,15,25,.08) 28%,rgba(5,15,25,.08) 72%,rgba(5,15,25,.68))}
.public-gallery{grid-template-columns:repeat(auto-fill,minmax(108px,132px));gap:.85rem;justify-content:start}
.public-gallery figure{border-radius:.6rem;box-shadow:0 6px 16px rgba(16,34,53,.10)}
.public-gallery .photo-viewer-trigger{aspect-ratio:1;overflow:hidden;border-radius:.55rem}
.public-gallery picture{display:block;width:100%;height:100%}
.public-gallery .gallery-thumbnail-image{display:block;width:100%;height:100%;max-height:none;aspect-ratio:1;object-fit:cover}
.public-gallery figcaption{padding:.5rem .55rem;font-size:.78rem;line-height:1.35}
@media(max-width:780px){
  .site-nav a,
  .site-nav a:hover,
  .site-nav a:focus-visible,
  .site-nav a[aria-current="page"]{background:transparent!important}
  .public-gallery{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));justify-content:stretch}
}


@media(max-width:780px){
  .home-hero h1{line-height:1.13}
}


.site-nav > * + *::before{display:none!important}
.site-nav a{border-left:0!important;border-right:0!important}
.policy-container{width:min(920px,calc(100% - 2rem))}
.policy-meta{margin:.35rem 0 1.25rem;color:var(--muted);font-size:.92rem}
.policy-review-notice{margin:0 0 1.25rem}
.policy-document{padding:clamp(1.35rem,3vw,2.4rem);line-height:1.72}
.policy-document h2{margin:2.4rem 0 .8rem;font-size:clamp(1.5rem,3vw,2rem)}
.policy-document h2:first-child{margin-top:0}
.policy-document h3{margin:1.75rem 0 .65rem;font-size:1.2rem}
.policy-document p{margin:0 0 1rem}
.policy-document ul,.policy-document ol{margin:.4rem 0 1.25rem;padding-left:1.5rem}
.policy-document li{margin:.4rem 0}
.policy-document blockquote{margin:0 0 1.4rem;padding:1rem 1.1rem;border-left:4px solid var(--gold);background:#f6f2e7;color:var(--navy)}
.policy-document code{font-size:.92em;overflow-wrap:anywhere}
.policy-document hr{border:0;border-top:1px solid var(--line);margin:2.25rem 0}

.memorial-attribution{text-align:center;margin:0 0 1.1rem}
.memorial-date-strip{margin:0 auto 1rem}
.memorial-section-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;margin:0 auto 2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:750}


.memorial-section-nav span{color:#5c6873}
.memorial-page-grid{display:grid}
.memorial-main-column{min-width:0}
.memorial-content-section{margin-top:0;padding:2rem 0}
.memorial-content-section:first-child{padding-top:0;border-top:0}
.memorial-photo-strip{margin-bottom:.35rem}
.memorial-photo-strip .section-heading-row{align-items:center;margin-bottom:.85rem}
.memorial-photo-strip h2{margin:0}
.gallery-view-all{display:inline-flex;width:auto!important;text-decoration:underline;font-weight:750;cursor:pointer}

.compact-photo-strip figure{margin:0}
.compact-photo-strip figcaption{display:none}
.tribute-panel{width:100%}


.tribute-panel .tribute p:last-child{margin-bottom:0}
.tribute-panel .tribute h2,.tribute-panel .tribute h3{max-width:72ch;margin:2rem auto .8rem}

.memorial-sidebar{scroll-margin-top:6rem}
.memorial-sidebar-card{background:#fff;border:1px solid var(--line)}
.memorial-sidebar-card h2{margin:0 0 1rem}
.memorial-sidebar .details{margin:0}
.memorial-sidebar .details div{grid-template-columns:1fr;gap:.15rem}
.memorial-sidebar-actions{grid-template-columns:1fr}

.condolences-section,.condolence-form{max-width:780px}
.memorial-owner-actions{align-items:flex-start}
.memorial-owner-actions .button{min-width:11.5rem;align-self:flex-start}
@media(max-width:900px){
  .memorial-page-grid{grid-template-columns:1fr;gap:1.5rem}
  .memorial-sidebar{position:static;order:2}
  .memorial-sidebar-card{max-width:780px;margin:0 auto}
}
@media(max-width:680px){
  .policy-container,.memorial-content-shell{width:min(100% - 1.35rem,920px)}
  .memorial-section-nav{gap:.45rem;padding:.65rem .5rem;font-size:.9rem}
  .tribute-panel .tribute{font-size:1.15rem;line-height:1.78}
  .compact-photo-strip{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}
}


.contact-copy-option{margin-top:.2rem;padding:1rem;border:1px solid rgba(11,31,58,.16);border-radius:.75rem;background:#f8fafc}
.contact-copy-option span{display:block}
.contact-copy-option strong{display:block;color:#0b1f3a}


.compact-photo-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;width:100%}
.compact-photo-strip .photo-viewer-trigger{width:100%}
.condolence-form .stacked-form{width:min(100%,68ch);margin-left:auto;margin-right:auto}
.condolence-form > .eyebrow,
.condolence-form > h2,
.condolence-form > p{width:min(100%,68ch);margin-left:auto;margin-right:auto}
@media(max-width:680px){
  .compact-photo-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
  .condolence-form .stacked-form,
  .condolence-form > .eyebrow,
  .condolence-form > h2,
  .condolence-form > p{width:100%}
}
@media(max-width:430px){
  .compact-photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}


.memorial-hero{padding-top:3.25rem;padding-bottom:2.15rem}
.memorial-hero h1{margin-top:1rem;margin-bottom:.4rem}
.memorial-hero .lead{margin:.25rem auto .65rem}
.memorial-owner-actions{margin-top:.9rem}
.memorial-body{padding-top:1.65rem}

.memorial-section-nav{position:sticky;top:4rem;z-index:14;margin-bottom:1.7rem;backdrop-filter:blur(10px);box-shadow:0 6px 15px rgba(16,34,53,.06)}
.memorial-content-section{padding-top:2.5rem;padding-bottom:2.5rem;border-top:1px solid #cfd5da}
.memorial-photo-strip{padding-bottom:1.8rem}

.tribute-panel .tribute p{margin-bottom:1.5rem}
.tribute-panel .tribute h2,.tribute-panel .tribute h3{margin-top:2.4rem;margin-bottom:.9rem;scroll-margin-top:8rem}
.memorial-back-to-top{max-width:780px;margin:.85rem 0 0;text-align:right;font-size:.9rem}
.memorial-back-to-top a{font-weight:750;text-decoration:none}
.memorial-back-to-top a:hover,.memorial-back-to-top a:focus-visible{text-decoration:underline}
.memorial-back-to-top-bottom{margin-top:2rem;margin-bottom:0}
.memorial-sidebar-card{display:grid;gap:1rem}
.sidebar-memorial-dates{display:grid;gap:.65rem;margin:0;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.sidebar-memorial-dates div{display:grid;grid-template-columns:1fr;gap:.12rem}
.sidebar-memorial-dates dt{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#6f7982;font-weight:800}
.sidebar-memorial-dates dd{margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--navy)}
.tribute-toc{padding-top:.95rem;border-top:1px solid var(--line)}
.tribute-toc h3{margin:0 0 .65rem;font-size:1rem}
.tribute-toc ol{display:grid;gap:.4rem;margin:0;padding-left:1.15rem}
.tribute-toc li{font-size:.86rem;line-height:1.35}
.tribute-toc-subitem{margin-left:.75rem}
.tribute-toc a{text-decoration:none}
.tribute-toc a:hover,.tribute-toc a:focus-visible{text-decoration:underline}
.condolences-empty{padding:1.7rem 1.8rem 1.2rem;background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:.8rem .8rem 0 0}
.condolence-empty-message p{margin:.4rem 0 0;color:var(--muted)}
.condolences-empty + .condolence-form{margin-top:0;padding-top:1.2rem;border-top:1px solid #e1e5e8;border-radius:0 0 .8rem .8rem;box-shadow:0 12px 26px rgba(16,34,53,.08)}
.condolences-empty + .condolence-form .eyebrow{display:none}
.condolences-empty + .condolence-form h2{font-size:1.65rem}
.condolence-form{padding-top:2rem;padding-bottom:2rem}
@media(max-width:980px){
  .memorial-section-nav{top:3.9rem}
  .memorial-sidebar-card{max-width:780px}
  .tribute-toc{display:none}
}
@media(max-width:780px){
  .memorial-hero{padding-top:2.35rem;padding-bottom:1.75rem}
  .memorial-body{padding-top:1.1rem}
  .memorial-section-nav{top:3.65rem;margin-left:-.35rem;margin-right:-.35rem;border-radius:0;font-size:.88rem}
  .memorial-back-to-top{text-align:center}
  .condolences-empty{padding:1.3rem 1rem 1rem}
}


.site-body.memorial-page .site-header{position:relative;top:auto}
.site-body.memorial-page .memorial-section-nav{top:0}
.memorial-content-shell{width:min(1180px,calc(100% - 2rem))}
.memorial-attribution{margin-bottom:.8rem}
.memorial-date-strip{max-width:820px;margin-bottom:.8rem}
.memorial-section-nav{gap:.35rem;padding:.45rem;border:1px solid #d5dbe0;border-radius:.8rem;background:rgba(255,255,255,.97)}
.memorial-section-nav a{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.55rem .95rem;border-radius:.55rem;color:var(--navy);font-size:.98rem;font-weight:800;text-decoration:none}
.memorial-section-nav a:hover,.memorial-section-nav a:focus-visible{background:#f3f5f7;color:var(--navy);text-decoration:none}
.memorial-section-nav a[aria-current="location"]{background:var(--navy);color:#fff;box-shadow:0 6px 14px rgba(16,34,53,.16)}
.section-count,.heading-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.55rem;height:1.55rem;padding:0 .38rem;border-radius:999px;background:rgba(16,34,53,.09);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.74rem;font-weight:850;line-height:1}
.memorial-section-nav a[aria-current="location"] .section-count{background:rgba(255,255,255,.18);color:#fff}
.memorial-photo-showcase{padding:1.5rem 0 2rem;border-bottom:1px solid #ccd3d9;scroll-margin-top:5.5rem}
.memorial-photo-showcase .section-heading-row{align-items:end;margin-bottom:1rem}
.memorial-photo-showcase .eyebrow{margin:0 0 .15rem}
.memorial-photo-showcase h2{margin:0}
.memorial-photo-showcase .compact-photo-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;width:100%}
.memorial-photo-showcase .compact-photo-strip figure{border-radius:.75rem}
.memorial-photo-showcase .compact-photo-strip .photo-viewer-trigger{aspect-ratio:4/3;border-radius:.7rem}
.memorial-photo-showcase .compact-photo-strip .gallery-thumbnail-image{aspect-ratio:4/3}
.single-photo-note{margin:.5rem 0 0}
.memorial-page-grid{grid-template-columns:minmax(0,780px) minmax(260px,300px);gap:2.25rem;align-items:start;justify-content:center}
.memorial-main-column{display:grid;gap:2rem}
.tribute-panel{max-width:780px;margin:0;padding:clamp(1.65rem,3vw,2.35rem);scroll-margin-top:5.5rem}
.tribute-panel .tribute{font-size:1.125rem;line-height:1.78}
.tribute-panel .tribute p{max-width:72ch;margin:0 auto 1.35rem}
.tribute-panel .tribute h2{max-width:72ch;margin:2.75rem auto .9rem;font-size:1.55rem;line-height:1.25}
.tribute-panel .tribute h3{max-width:72ch;margin:2.35rem auto .75rem;font-size:1.22rem;line-height:1.3}
.tribute-panel .tribute ul,.tribute-panel .tribute ol,.tribute-panel .tribute blockquote{max-width:72ch;margin-left:auto;margin-right:auto}
.memorial-sidebar{position:sticky;top:1.25rem;align-self:start}
.memorial-sidebar-card{padding:1.45rem;border-radius:.9rem;box-shadow:0 14px 30px rgba(16,34,53,.10)}
.memorial-sidebar-card h2{font-size:1.55rem}
.memorial-sidebar .details div{padding:.8rem 0}
.memorial-sidebar-actions{display:grid;gap:.75rem;margin-top:.25rem;padding-top:1rem;border-top:1px solid var(--line)}
.memorial-sidebar-actions .button{width:100%}
.memorial-more-menu{position:relative}
.memorial-more-menu summary{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #c6cdd3;border-radius:.6rem;background:#fff;color:var(--navy);font-weight:800;cursor:pointer;list-style:none}
.memorial-more-menu summary::-webkit-details-marker{display:none}
.memorial-more-menu[open] summary{border-color:var(--navy)}
.memorial-more-menu a{display:block;margin-top:.4rem;padding:.65rem .75rem;border-radius:.5rem;background:#f4f6f8;text-align:center;font-weight:750;text-decoration:none}
.condolences-panel{max-width:780px;margin:0;padding:1.8rem;background:#fff;border:1px solid var(--line);border-radius:.9rem;box-shadow:0 12px 26px rgba(16,34,53,.08);scroll-margin-top:5.5rem}
.condolences-heading-row{margin-bottom:.75rem}
.condolences-heading-row h2{display:flex;align-items:center;gap:.55rem;margin:0}
.condolence-empty-message{margin:.25rem 0 0;color:var(--muted)}
.condolence-compose{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #d8dde2}
.condolence-compose h3{margin:0 0 .45rem;font-size:1.45rem}
.condolence-compose>p{max-width:68ch;margin:0 0 1rem;color:var(--muted)}
.condolence-compose .stacked-form{width:min(100%,68ch);margin:0}
.condolence-closed-note{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.floating-back-to-top{position:fixed;right:1.25rem;bottom:1.25rem;z-index:35;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.65rem .85rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(16,34,53,.28);font-weight:800;text-decoration:none}
.floating-back-to-top:hover,.floating-back-to-top:focus-visible{background:var(--navy-2);color:#fff;text-decoration:none}
.floating-back-to-top[hidden]{display:none!important}
@media(max-width:980px){
  .memorial-page-grid{grid-template-columns:1fr;gap:1.5rem}
  .memorial-sidebar{position:static}
  .memorial-sidebar-card{max-width:780px;margin:0 auto}
  .memorial-photo-showcase .compact-photo-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:780px){
  .site-body.memorial-page .memorial-section-nav{top:0}
  .memorial-section-nav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:.35rem}
  .memorial-section-nav a{flex:0 0 auto;min-height:42px;padding:.5rem .75rem;font-size:.9rem}
  .memorial-photo-showcase .compact-photo-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
  .tribute-panel .tribute{font-size:1.05rem;line-height:1.72}
  .condolences-panel{padding:1.25rem 1rem}
  .floating-back-to-top span{display:none}
  .floating-back-to-top{right:.8rem;bottom:.8rem;width:44px;padding:0;justify-content:center}
}
@media(max-width:460px){
  .memorial-photo-showcase .compact-photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print{
  .site-header,.site-footer,.memorial-section-nav,.memorial-owner-actions,.memorial-sidebar-actions,.condolence-compose,.floating-back-to-top,.photo-viewer,.gallery-view-all{display:none!important}
  body,.memorial-public,.memorial-hero{background:#fff!important;color:#000}
  .memorial-content-shell{width:100%;max-width:none}
  .memorial-page-grid{display:block}
  .memorial-sidebar{position:static;margin-top:1.5rem}
  .memorial-sidebar-card,.tribute-panel,.condolences-panel{box-shadow:none;border-color:#999}
  .memorial-photo-showcase{break-inside:avoid}
}


.cover-photo-thumbnail{position:relative}
.cover-photo-thumbnail::after{content:"Cover";position:absolute;left:.35rem;bottom:.35rem;z-index:2;padding:.15rem .35rem;border-radius:.3rem;background:rgba(11,31,58,.78);color:#fff;font-size:.68rem;font-weight:700;line-height:1.2;pointer-events:none}


.button,.button-small,a.button,button.button{
  border-color:#1769aa;
  background:#1769aa;
  color:#fff;
  box-shadow:0 6px 14px rgba(23,105,170,.16);
}
.button:hover,.button:focus-visible,.button-small:hover,.button-small:focus-visible,a.button:hover,a.button:focus-visible,button.button:hover,button.button:focus-visible{
  border-color:#0b4f86;
  background:#0b4f86;
  color:#fff;
  box-shadow:0 9px 20px rgba(23,105,170,.25);
}
.button-secondary{
  border-color:#1769aa;
  background:#fff;
  color:#1769aa;
  box-shadow:none;
}
.button-secondary:hover,.button-secondary:focus-visible{
  border-color:#0b4f86;
  background:#e9f3fb;
  color:#0b4f86;
}
.header-cta{
  border-color:#1769aa;
  background:#1769aa;
  color:#fff;
  box-shadow:0 5px 12px rgba(23,105,170,.2);
}
.header-cta:hover,.header-cta:focus-visible{border-color:#0b4f86;background:#0b4f86;color:#fff}
.stepper{grid-template-columns:repeat(7,minmax(0,1fr))}
.stepper .active span,.stepper .complete span{border-color:#1769aa;background:#1769aa;color:#fff}

.home-hero{
  display:block;
  min-height:0;
  overflow:visible;
  padding:clamp(2.5rem,6vw,5rem) 0;
  background:linear-gradient(145deg,#fbf8f3,#f3eee7);
}
.home-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);
  gap:clamp(2rem,5vw,4.5rem);
  align-items:center;
}
.home-hero-content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  max-width:none;
  padding:0;
  text-align:left;
  color:var(--ink);
}
.home-hero-kicker{margin:0 0 .85rem;color:var(--gold-dark)}
.home-hero h1{
  max-width:none;
  margin:0;
  color:var(--navy);
  font-size:clamp(1.8rem,3.5vw,2.75rem);
  line-height:1.02;
  
  text-wrap:pretty;
  text-shadow:none;
}
.home-hero-content>p:not(.home-hero-kicker){
  max-width:34rem;
  margin:1.35rem 0 0;
  color:var(--muted);
  font-size:clamp(1.05rem,1.5vw,1.25rem);
  line-height:1.6;
  text-shadow:none;
}
.home-hero-actions{justify-content:flex-start;margin-top:1.8rem}
.home-hero-actions .button{min-width:12rem}
.home-hero-actions .button-secondary{border-color:#1769aa;background:#fff;color:#1769aa;backdrop-filter:none}
.home-hero-actions .button-secondary:hover,.home-hero-actions .button-secondary:focus-visible{border-color:#0b4f86;background:#e9f3fb;color:#0b4f86}
.home-hero-image-panel{
  min-width:0;
  overflow:hidden;
  border-radius:1.15rem;
  background:#071522;
  box-shadow:0 22px 48px rgba(16,34,53,.18);
}
.home-hero-media{
  position:static;
  inset:auto;
  z-index:auto;
  display:block;
  width:100%;
  height:auto;
  max-height:640px;
  object-fit:contain;
  object-position:center;
  background:#071522;
}


.external-media-editor,.song-editor{margin-top:1.5rem}
.external-media-notice{
  margin:1.5rem 0;
  padding:1.2rem 1.3rem;
  border:1px solid #b8c8d5;
  border-left:4px solid #1769aa;
  border-radius:.7rem;
  background:#f5f9fc;
  color:var(--ink);
}
.external-media-notice p{margin:.3rem 0}
.external-media-link{font-weight:800;overflow-wrap:anywhere}
.song-editor-current{display:grid;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:#f8fafb}
.song-editor-current.pending-removal{border-style:dashed;opacity:.82}
.memorial-song-player{
  display:grid;
  gap:.9rem;
  margin:1.5rem 0;
  padding:1.35rem;
  border:1px solid var(--line);
  border-radius:.8rem;
  background:#fff;
  box-shadow:0 8px 22px rgba(16,34,53,.07);
}
.memorial-song-player h2,.memorial-song-player h3{margin:.15rem 0}
.memorial-song-player audio,.song-editor-current audio{display:block;width:100%;max-width:760px}
.public-song-player{margin-bottom:1.5rem}
.condolence-photo{
  display:block;
  width:min(100%,520px);
  height:auto;
  max-height:520px;
  margin:0 0 1rem;
  border-radius:.65rem;
  object-fit:contain;
  background:#f3f5f6;
}
.moderation-condolence-photo{max-width:420px;margin-top:.8rem}

@media(max-width:900px){
  .home-hero-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:2rem}
  .stepper{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:700px){
  .home-hero{padding:2.75rem 0}
  .home-hero-layout{grid-template-columns:1fr;gap:2rem}
  .home-hero-content{order:1}
  .home-hero-image-panel{order:2;width:100%}
  .home-hero h1{max-width:none}
  .home-hero-actions{display:grid;width:100%;grid-template-columns:1fr}
  .home-hero-actions .button{width:100%}
  .home-hero-media{max-height:500px}
  .stepper{grid-template-columns:repeat(2,minmax(0,1fr))}
}


.about-page{background:#fbf8f3}
.about-story-section,.about-values-section{padding:clamp(3rem,7vw,5.75rem) 0}
.about-feature{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);
  gap:clamp(2rem,5vw,4.5rem);
  align-items:start;
}
.about-feature-copy{max-width:46rem;font-size:1.05rem;line-height:1.75}
.about-feature-copy h1,.about-feature-copy h2{
  max-width:18ch;
  margin:0 0 1.2rem;
  color:var(--navy);
  font-size:clamp(1.85rem,3.6vw,2.65rem);
  text-wrap:balance;
}
.about-feature-copy p{margin:0 0 1.1rem;color:var(--ink)}
.about-feature-copy p:last-child{margin-bottom:0}
.about-feature-media{min-width:0;margin:0;align-self:start}
.about-feature-media picture{display:block}
.about-feature-media img{
  display:block;
  width:100%;
  height:auto;
  border:1px solid rgba(16,34,53,.14);
  border-radius:1rem;
  object-fit:cover;
  box-shadow:0 10px 24px rgba(16,34,53,.09);
}
.about-feature-media-top img{aspect-ratio:6/5;object-position:center center}
.about-feature-media-bottom img{aspect-ratio:1/1;object-position:center center}
.about-feature-media figcaption{
  margin:.7rem .15rem 0;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.45;
}
.about-trust-section{
  padding:clamp(3rem,6vw,5rem) 0;
  border-block:1px solid rgba(23,105,170,.12);
  background:#edf5fa;
}
.about-trust-panel{
  width:min(100%,960px);
  margin-inline:auto;
  padding:clamp(2rem,5vw,3.5rem);
  border:1px solid rgba(16,34,53,.1);
  border-top:4px solid var(--gold);
  border-radius:1rem;
  background:#fffdf9;
  text-align:center;
  box-shadow:0 8px 22px rgba(16,34,53,.05);
}
.about-trust-panel h2{
  max-width:24ch;
  margin:0 auto 1.25rem;
  color:var(--navy);
  font-size:clamp(1.9rem,3.8vw,2.75rem);
  text-wrap:balance;
}
.about-trust-copy{max-width:48rem;margin-inline:auto;font-size:1.04rem;line-height:1.75}
.about-trust-copy p{margin:0 0 1rem}
.about-trust-copy p:last-child{margin-bottom:0}
.about-signature{margin:1.65rem 0 0;color:var(--muted);font-family:Georgia,"Times New Roman",serif;font-style:italic}
.about-values-section{background:#f4f2ed}
.about-feature-bottom{
  grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);
  grid-template-areas:"media copy";
}
.about-feature-copy-bottom{grid-area:copy;padding-top:.15rem}
.about-feature-media-bottom{grid-area:media}
.about-cta{
  padding:clamp(3rem,6vw,4.75rem) 0;
  border-top:1px solid rgba(16,34,53,.1);
  background:#fff;
}
.about-cta-inner{max-width:850px;text-align:center}
.about-cta h2{
  max-width:25ch;
  margin:0 auto;
  color:var(--navy);
  font-size:clamp(1.8rem,3.6vw,2.7rem);
  text-wrap:balance;
}
.about-cta-actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.about-cta-actions .button{min-width:12rem}
@media(max-width:820px){
  .about-feature,.about-feature-bottom{
    grid-template-columns:1fr;
    grid-template-areas:none;
    gap:1.6rem;
  }
  .about-feature-copy-bottom,.about-feature-media-bottom{grid-area:auto}
  .about-feature-copy-bottom{order:1}
  .about-feature-media-bottom{order:2}
  .about-feature-copy{max-width:none;font-size:1rem}
  .about-feature-copy h1,.about-feature-copy h2{max-width:none}
}
@media(max-width:560px){
  .about-trust-panel{padding:1.6rem 1.15rem}
  .about-cta-actions{display:grid;grid-template-columns:1fr}
  .about-cta-actions .button{width:100%;min-width:0}
}


.about-trust-copy a{font-weight:750}
.donation-page{padding:clamp(3rem,6vw,5rem) 0;background:linear-gradient(180deg,#fbf8f3 0,#f5f1eb 100%)}
.donation-page-container{width:min(960px,calc(100% - 2rem))}
.donation-page-header{max-width:760px;margin:0 auto clamp(2rem,5vw,3.5rem);text-align:center}
.donation-page-header .eyebrow{margin:0 0 .6rem}
.donation-page-header h1{margin:0;color:var(--navy);font-size:clamp(2.35rem,5vw,4rem)}
.donation-page-header .lead{max-width:650px;margin:1rem auto 0;color:var(--muted)}
.donation-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:stretch}
.donation-page-grid .panel{height:100%;padding:clamp(1.4rem,3vw,2rem);border-color:rgba(16,34,53,.12);box-shadow:0 10px 26px rgba(16,34,53,.06)}
.donation-page-grid h2{margin:0 0 .85rem;color:var(--navy);font-size:clamp(1.45rem,2.6vw,2rem)}
.donation-page-grid p{margin:0 0 1rem}
.donation-page-grid p:last-child{margin-bottom:0}
.donation-method{border-top:4px solid var(--gold)!important;background:#fffdf9}
.donation-address-label{margin-bottom:.35rem!important;color:var(--muted);font-size:.92rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.donation-address{margin:0 0 .75rem!important;padding:.9rem 1rem;border:1px solid #bfd2df;border-radius:.7rem;background:#f5f9fc;color:var(--navy);font-size:clamp(1.05rem,2.5vw,1.3rem);overflow-wrap:anywhere}
.donation-closing{max-width:760px;margin:clamp(2.5rem,5vw,4rem) auto 0;padding-top:clamp(2rem,4vw,3rem);border-top:1px solid rgba(16,34,53,.12);text-align:center}
.donation-closing h2{max-width:24ch;margin:0 auto;color:var(--navy);font-size:clamp(1.7rem,3.4vw,2.45rem);text-wrap:balance}
.donation-closing p{max-width:650px;margin:1rem auto 1.5rem;color:var(--muted)}
@media(max-width:720px){
  .donation-page-grid{grid-template-columns:1fr}
}


.memorial-story-page{background:#f7f4ef}
.memorial-story-hero{padding:clamp(2rem,5vw,4rem) 0 2rem;background:linear-gradient(180deg,#fbf8f3,#f2ede6)}
.memorial-hero-shell{width:min(980px,calc(100% - 2rem));display:grid;gap:clamp(1.5rem,4vw,2.75rem)}
.memorial-hero-photo{margin:0;overflow:hidden;border:1px solid rgba(16,34,53,.12);border-radius:1.15rem;background:#fff;box-shadow:0 12px 30px rgba(16,34,53,.1)}
.memorial-hero-photo picture,.memorial-hero-photo a{display:block}
.memorial-hero-photo .memorial-primary-image{display:block;width:100%;height:auto;max-height:min(72vh,780px);object-fit:contain;background:#edf0f2}
.memorial-hero-photo figcaption{padding:.7rem 1rem;color:var(--muted);font-size:.92rem;text-align:center}
.memorial-hero-copy{text-align:center}
.memorial-hero-copy h1{max-width:18ch;margin:0 auto;color:var(--navy);font-size:clamp(2.5rem,6vw,4.8rem);text-wrap:balance}
.memorial-tagline{max-width:42rem;margin:1.15rem auto 0;color:#344b5c;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.2rem,2.5vw,1.65rem);line-height:1.45;text-wrap:balance}
.memorial-nickname,.memorial-attribution{margin:.65rem auto 0;color:#596670}
.memorial-hero-dates{max-width:760px;margin:1.2rem auto 0;justify-content:center}
.memorial-reading-flow{display:grid;gap:clamp(2.2rem,5vw,4.25rem);padding-top:2rem;padding-bottom:4rem}
.memorial-reading-flow>.memorial-section-nav{margin:0;position:sticky;top:4.8rem;z-index:10}
.memorial-content-section{scroll-margin-top:9rem}
.memorial-story-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:1.5rem;align-items:start;scroll-margin-top:9rem}
.memorial-story-layout .tribute-panel{margin:0;padding:clamp(1.4rem,3.5vw,2.5rem)}
.memorial-story-layout .tribute-panel h2{margin:.15rem 0 1.3rem;color:var(--navy)}
.memorial-story-layout .tribute{max-width:46rem;font-size:1.04rem;line-height:1.8}
.memorial-story-layout .memorial-sidebar{position:sticky;top:10rem}
.signature-memory-panel{max-width:780px;margin-inline:auto;padding:clamp(1.5rem,4vw,2.6rem);border:1px solid rgba(16,34,53,.13);border-left:4px solid var(--gold);border-radius:1rem;background:#fffdf9}
.signature-memory-panel h2{margin:.2rem 0 1rem;color:var(--navy);font-size:clamp(1.7rem,3.4vw,2.4rem)}
.signature-memory-copy{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.08rem,2vw,1.28rem);line-height:1.75}
.signature-memory-attribution{margin:1.1rem 0 0;color:var(--muted);font-weight:750}
.memory-highlights-section h2,.tributes-panel h2,.tribute-compose h2,.keepsakes-sharing h2{margin:.15rem 0 1.25rem;color:var(--navy)}
.memory-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.memory-highlight-card{padding:1.25rem;border:1px solid rgba(16,34,53,.12);border-radius:.85rem;background:#fff}
.memory-highlight-card h3{margin:0 0 .5rem;color:var(--navy);font-size:1rem}
.memory-highlight-card p{margin:0;color:var(--ink);line-height:1.65}
.memory-highlight-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.song-details-editor{margin-top:1rem;padding-top:1.2rem;border-top:1px solid rgba(16,34,53,.12)}
.song-lyrics-disclosure{margin-top:.4rem;border-top:1px solid rgba(16,34,53,.12);padding-top:.85rem}
.song-lyrics-disclosure summary{cursor:pointer;font-weight:750;color:var(--navy)}
.song-lyrics{margin-top:1rem;padding:1rem;border-radius:.7rem;background:#f8f7f4;white-space:normal;line-height:1.75}
.memorial-photo-showcase{margin:0}
.public-gallery figure figcaption{padding:.45rem .2rem 0;color:var(--muted);font-size:.85rem;line-height:1.4}
.tributes-panel,.tribute-compose,.keepsakes-sharing{padding:clamp(1.35rem,3.2vw,2.2rem);border:1px solid rgba(16,34,53,.11);border-radius:1rem;background:#fff}
.tribute-list{display:grid;gap:1rem}
.tribute-card{box-shadow:none}
.tribute-relationship{color:var(--muted);font-weight:500}
.tribute-compose{max-width:760px;margin-inline:auto}
.tribute-submission-form{max-width:680px}
.keepsake-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin-bottom:1.4rem}
.keepsake-link{display:grid;gap:.2rem;padding:1rem 1.1rem;border:1px solid #bfd2df;border-radius:.75rem;background:#f5f9fc;color:var(--navy);text-decoration:none}
.keepsake-link:hover,.keepsake-link:focus-visible{border-color:#1769aa;background:#e9f3fb;text-decoration:none}
.keepsake-link span{color:var(--muted);font-size:.88rem}
.sharing-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.share-status{min-height:1.5rem;margin:0;color:var(--muted);font-weight:650}
.printable-lyrics .lyrics-copy{margin:2rem 0;padding:1.5rem;border:1px solid rgba(16,34,53,.12);border-radius:.8rem;background:#fff;line-height:1.8}
.lyrics-actions{margin-top:1.5rem}
.contact-page input[autofocus]{scroll-margin-top:7rem}
@media(max-width:820px){
  .memorial-reading-flow>.memorial-section-nav{position:static}
  .memorial-story-layout{grid-template-columns:1fr}
  .memorial-story-layout .memorial-sidebar{position:static}
  .memory-highlight-grid,.memory-highlight-form-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .memorial-hero-shell{width:min(100% - 1rem,980px)}
  .memorial-hero-photo{border-radius:.8rem}
  .memorial-hero-copy h1{font-size:clamp(2.25rem,13vw,3.6rem)}
  .memorial-hero-dates{grid-template-columns:1fr}
  .sharing-controls{display:grid;grid-template-columns:1fr}
  .sharing-controls .button{width:100%}
}
@media print{
  .lyrics-page .site-header,.lyrics-page .site-footer,.lyrics-page .lyrics-actions{display:none!important}
  .printable-lyrics{padding:0}
  .printable-lyrics .lyrics-copy{border:0;padding:0}
  .memorial-story-page .memorial-section-nav,.memorial-story-page .memorial-owner-actions,.memorial-story-page .tribute-compose,.memorial-story-page .keepsakes-sharing,.memorial-story-page .floating-back-to-top{display:none!important}
}


.memorial-grid{align-items:stretch}
.memorial-grid>.memorial-card{height:100%;align-items:start;align-content:start}
.dashboard-memorial-card-content{align-content:start;min-width:0}
.dashboard-memorial-card-content h2{margin:0}
.dashboard-memorial-card-content>p{margin:0}
.dashboard-memorial-statuses{display:flex;flex-wrap:wrap;align-items:center}
.status-submitted{background:#e9f3fb;color:#0b4f86}
.status-in_progress{background:#fff1d6;color:#6a4200}
.status-awaiting_owner{background:#e6f4ed;color:#175c3b}
.status-revision_requested{background:#f3e9fb;color:#62358a}
.status-completed{background:#e6f4ed;color:#175c3b}
.status-cancelled{background:#f3f4f6;color:#5d6864}
.song-creation-page .lead{max-width:48rem}
.song-creation-heading{align-items:flex-start}
.song-service-notice{margin:1.5rem 0 0}
.song-service-notice p{margin:.4rem 0 0}
.song-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin-top:2rem}
.song-choice-card{display:grid;align-content:start;gap:.8rem;min-height:100%}
.song-choice-card h2,.song-choice-card p{margin:0}
.song-choice-card .button{justify-self:start;margin-top:auto}
.song-samples-section,.song-request-history{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.song-sample-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem}
.song-sample-card{display:grid;align-content:start;gap:.55rem}
.song-sample-card h3,.song-sample-card h4,.song-sample-card p{margin:0}
.song-sample-card audio,.song-sample-compact audio{display:block;width:100%;max-width:100%}
.song-owner-request-list,.song-admin-request-list{display:grid;gap:1.25rem}
.song-owner-request-card,.song-admin-request-card{display:grid;gap:1rem}
.song-owner-request-card h3,.song-admin-request-card h3{margin:.25rem 0}
.song-request-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin:0}
.song-request-meta div{padding:.75rem;border:1px solid var(--line);border-radius:.6rem;background:#f8fafb}
.song-request-meta dt{font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.song-request-meta dd{margin:.2rem 0 0;font-weight:800;color:var(--navy)}
.song-owner-message{padding:1rem;border-left:4px solid #1769aa;background:#f5f9fc;border-radius:.5rem}
.song-owner-message p{margin:.35rem 0 0}
.song-revision-form,.song-request-details{padding:1rem;border:1px solid var(--line);border-radius:.65rem;background:#fff}
.song-revision-form summary,.song-request-details summary{cursor:pointer;font-weight:800;color:var(--navy)}
.song-revision-form form{margin-top:1rem}
.song-form-container{max-width:820px}
.song-form-wide{max-width:1160px}
.song-owner-summary{margin:1.5rem 0}
.song-owner-summary p{margin:.25rem 0}
.song-request-form{margin-top:1.5rem}
.song-request-form fieldset{display:grid;gap:1rem}
.song-form-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);gap:2rem;align-items:start}
.song-samples-sidebar{position:sticky;top:6rem}
.song-samples-sidebar h2{font-size:1.6rem;margin:.25rem 0 1rem}
.song-sample-list{display:grid;gap:1.25rem}
.song-sample-compact{padding-top:1.1rem;border-top:1px solid var(--line)}
.song-sample-compact:first-child{padding-top:0;border-top:0}
.song-sample-compact h3,.song-sample-compact p{margin:.2rem 0}
.song-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.song-request-answer-list{display:grid;gap:.9rem;margin-top:1rem}
.song-request-answer-list>div{padding:.9rem;border-top:1px solid var(--line)}
.song-request-answer-list>div:first-child{border-top:0}
.song-request-answer-list p{margin:.35rem 0 0}

.song-lyrics-preview{max-height:26rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:1rem;background:#f8fafb;border-radius:.55rem;font:inherit}
.song-question{display:grid;gap:.55rem}
.song-question>span:first-child{color:var(--navy);line-height:1.45}
.song-question-hint{display:block;margin:-.1rem 0 .1rem;color:var(--muted);font-size:.82rem;font-weight:400;line-height:1.45}
.song-question-other{display:grid;gap:.4rem;margin-top:.15rem;padding:.7rem .8rem;border-left:3px solid #d7c49a;background:#faf8f2;border-radius:0 8px 8px 0}
.song-question-other>span:first-child{font-size:.9rem;font-weight:600;color:var(--ink)}
.song-question-other[hidden]{display:none}

.song-approved-handoff{display:grid;gap:.75rem;margin-bottom:1.5rem}
.song-approved-handoff h2,.song-approved-handoff p{margin:0}
.song-workflow-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.lyric-version-summary{margin-bottom:1.25rem}
.lyric-version-summary p{margin:.35rem 0}
.song-revision-note{padding:1rem 0;border-top:1px solid var(--line)}
.song-revision-note:first-of-type{border-top:0}
.song-admin-update-form,.song-delivery-form{padding-top:1rem;border-top:1px solid var(--line)}
.song-delivery-form h4{margin:0}
.song-sample-admin{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line)}
.admin-song-sample-grid{margin-top:1.25rem}
@media(max-width:900px){
  .song-form-layout{grid-template-columns:1fr}
  .song-samples-sidebar{position:static}
}
@media(max-width:700px){
  .song-choice-grid,.song-option-grid{grid-template-columns:1fr}
  .song-choice-card .button{width:100%}
  .song-request-meta{grid-template-columns:1fr 1fr}
}


:root{
  --action-bg:#0b4f86;
  --action-text:#fff;
  --action-hover-bg:#07385f;
  --action-hover-text:#fff;
  --action-height:3rem;
}
.button,.button-small,a.button,button.button,
.header-cta,.nav-toggle{
  min-height:var(--action-height);
  padding:.72rem 1.1rem;
  border-width:2px;
  border-color:#0b4f86;
  background:#0b4f86;
  color:#fff;
  font-size:1rem;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.01em;
  text-shadow:none;
  box-shadow:0 5px 12px rgba(11,79,134,.2);
}
.button:hover,.button:focus-visible,.button-small:hover,.button-small:focus-visible,
a.button:hover,a.button:focus-visible,button.button:hover,button.button:focus-visible,
.header-cta:hover,.header-cta:focus-visible,.nav-toggle:hover,.nav-toggle:focus-visible{
  border-color:#07385f;
  background:#07385f;
  color:#fff;
  box-shadow:0 8px 18px rgba(7,56,95,.28);
}
.button-secondary,a.button-secondary,button.button-secondary{
  border-color:#0b4f86!important;
  background:#fff!important;
  color:#0b365e!important;
  box-shadow:0 3px 9px rgba(11,79,134,.1)!important;
}
.button-secondary:hover,.button-secondary:focus-visible,
a.button-secondary:hover,a.button-secondary:focus-visible,
button.button-secondary:hover,button.button-secondary:focus-visible{
  border-color:#0b4f86!important;
  background:#0b4f86!important;
  color:#fff!important;
  box-shadow:0 7px 16px rgba(11,79,134,.24)!important;
}
.button-small{min-height:2.75rem;padding:.58rem .9rem;font-size:.96rem}
.button-danger,a.button-danger,button.button-danger{border-width:2px!important}
.button:focus-visible,.button-small:focus-visible,.button-secondary:focus-visible,
.header-cta:focus-visible,.nav-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:3px}

.song-draft-status{
  display:flex;
  align-items:center;
  gap:.65rem;
  min-height:2.85rem;
  padding:.7rem .9rem;
  border:1px solid #b8c8d5;
  border-radius:.65rem;
  background:#f5f9fc;
  color:#29475f;
  font-size:.94rem;
  font-weight:700;
}
.song-draft-status-indicator{
  flex:0 0 auto;
  width:.7rem;
  height:.7rem;
  border-radius:50%;
  background:#577187;
}
.song-draft-status[data-state="pending"] .song-draft-status-indicator,
.song-draft-status[data-state="saving"] .song-draft-status-indicator{background:#d89200}
.song-draft-status[data-state="saved"]{border-color:#96c3ad;background:#eef8f3;color:#175c3b}
.song-draft-status[data-state="saved"] .song-draft-status-indicator{background:#238454}
.song-draft-status[data-state="error"]{border-color:#d79b9b;background:#fff2f2;color:#8f1d1d}
.song-draft-status[data-state="error"] .song-draft-status-indicator{background:#a62424}
.status-draft{background:#eef2f6;color:#29475f}
.song-owner-draft-card{border-left:4px solid #0b4f86}
.song-draft-progress{display:grid;gap:.2rem;padding:.85rem 1rem;border-radius:.65rem;background:#f5f9fc;color:#29475f}
.song-draft-progress strong{color:#102235}
.song-draft-progress span{font-size:.92rem}
@media(max-width:700px){
  .song-draft-status{align-items:flex-start}
}
.pagination a,.pagination .current{
  border-color:#0b4f86;
  
  
  
}


:root{
  --site-button-blue:#0b4f86;
  --site-button-blue-secondary:#1769aa;
  --site-button-blue-hover:#07385f;
  --site-button-focus:var(--focus);
  --site-button-danger:#a62424;
  --site-button-danger-hover:#7a1a1a;
}
.site-body button.button:not([class^="ql-"]):not([class*=" ql-"]),
.site-body .button,
.site-body a.button,
.site-body .header-cta,
.site-body .link-button,
.site-body .nav-toggle{
  border-color:var(--site-button-blue)!important;
  background:var(--site-button-blue)!important;
  color:#fff!important;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
  box-shadow:0 5px 12px rgba(11,79,134,.22);
}
.site-body .button-secondary,
.site-body a.button-secondary,
.site-body button.button-secondary:not([class^="ql-"]):not([class*=" ql-"]){
  border-color:var(--site-button-blue-secondary)!important;
  background:#fff!important;
  color:var(--site-button-blue-secondary)!important;
  box-shadow:none;
}
.site-body .button-danger,
.site-body a.button-danger,
.site-body button.button-danger:not([class^="ql-"]):not([class*=" ql-"]){
  border-color:var(--site-button-danger)!important;
  background:var(--site-button-danger)!important;
  color:#fff!important;
}
.site-body button.button:not([class^="ql-"]):not([class*=" ql-"]):hover,
.site-body button.button:not([class^="ql-"]):not([class*=" ql-"]):focus-visible,
.site-body .button:hover,
.site-body .button:focus-visible,
.site-body a.button:hover,
.site-body a.button:focus-visible,
.site-body .header-cta:hover,
.site-body .header-cta:focus-visible,
.site-body .link-button:hover,
.site-body .link-button:focus-visible,
.site-body .nav-toggle:hover,
.site-body .nav-toggle:focus-visible{
  border-color:var(--site-button-blue-hover)!important;
  background:var(--site-button-blue-hover)!important;
  color:#fff!important;
  text-decoration:none;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(7,56,95,.3);
}
.site-body .button-secondary:hover,
.site-body .button-secondary:focus-visible,
.site-body a.button-secondary:hover,
.site-body a.button-secondary:focus-visible,
.site-body button.button-secondary:not([class^="ql-"]):not([class*=" ql-"]):hover,
.site-body button.button-secondary:not([class^="ql-"]):not([class*=" ql-"]):focus-visible{
  border-color:var(--site-button-blue-secondary)!important;
  background:#eef5fb!important;
  color:var(--site-button-blue-hover)!important;
  box-shadow:0 6px 14px rgba(11,79,134,.12);
}
.site-body .button-danger:hover,
.site-body .button-danger:focus-visible,
.site-body a.button-danger:hover,
.site-body a.button-danger:focus-visible,
.site-body button.button-danger:not([class^="ql-"]):not([class*=" ql-"]):hover,
.site-body button.button-danger:not([class^="ql-"]):not([class*=" ql-"]):focus-visible{
  border-color:var(--site-button-danger-hover)!important;
  background:var(--site-button-danger-hover)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(122,26,26,.24);
}
.site-body button.button:not([class^="ql-"]):not([class*=" ql-"]):active,
.site-body .button:active,
.site-body a.button:active,
.site-body .header-cta:active,
.site-body .link-button:active,
.site-body .nav-toggle:active{
  transform:translateY(0);
  box-shadow:0 3px 8px rgba(7,56,95,.24);
}
.site-body button.button:not([class^="ql-"]):not([class*=" ql-"]):focus-visible,
.site-body .button:focus-visible,
.site-body a.button:focus-visible,
.site-body .header-cta:focus-visible,
.site-body .link-button:focus-visible,
.site-body .nav-toggle:focus-visible{
  outline:3px solid var(--site-button-focus);
  outline-offset:3px;
}
.site-body button.button:not([class^="ql-"]):not([class*=" ql-"]):disabled,
.site-body .button[disabled],
.site-body a.button[aria-disabled="true"]{
  border-color:#6f8ca3!important;
  background:#6f8ca3!important;
  color:#fff!important;
  cursor:not-allowed;
  opacity:.72;
  transform:none;
  box-shadow:none;
}


.memorial-sidebar-actions [data-print-page]{width:100%}


main .section h1,
main .about-page h1,
main .memorial-story-hero h1{
  font-size:clamp(1.8rem,3.5vw,2.75rem);
  letter-spacing:-.018em;
}
.home-hero h1{font-size:clamp(1.8rem,3.5vw,2.75rem);letter-spacing:-.025em}


.home-memorial-grid .home-memorial-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
  border-radius:.75rem;
}
.home-memorial-grid .home-memorial-card-link:focus-visible{
  outline:3px solid var(--site-button-focus);
  outline-offset:4px;
}
.home-memorial-grid .home-memorial-card{
  display:block;
  height:100%;
  max-width:none;
  padding:1.15rem 1.2rem 1.3rem;
  overflow:hidden;
}
.home-memorial-grid .home-memorial-card h3{
  margin:0 0 .8rem;
  color:var(--navy);
}
.home-memorial-card-body::after{content:"";display:block;clear:both}
.home-memorial-card-body picture,
.home-memorial-card-body>.memorial-placeholder{
  float:left;
  display:block;
  width:112px;
  margin:0 .9rem .55rem 0;
}
.home-memorial-grid .home-memorial-card-body .memorial-card-photo,
.home-memorial-grid .home-memorial-card-body .memorial-placeholder{
  width:112px;
  height:112px;
  border-radius:.55rem;
}
.home-memorial-card-body p{margin:0;color:var(--muted)}
.home-memorial-card-link:hover .home-memorial-card,
.home-memorial-card-link:focus-visible .home-memorial-card{
  transform:translateY(-2px);
  box-shadow:0 15px 30px rgba(16,34,53,.12);
}

/* Sign Out is a navigation item, not a blue action button. */
.site-body .site-nav .nav-signout-form{display:inline-flex;margin:0}
.site-body .site-nav .nav-link-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:2.5rem;
  padding:.25rem 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#303841!important;
  font-size:.96rem;
  font-weight:550!important;
  line-height:1.6;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:none!important;
  transform:none!important;
}
.site-body .site-nav .nav-link-button::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:.12rem;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .16s ease;
}
.site-body .site-nav .nav-link-button:hover,
.site-body .site-nav .nav-link-button:focus-visible{
  border:0!important;
  background:transparent!important;
  color:var(--gold-dark)!important;
  box-shadow:none!important;
  transform:none!important;
}
.site-body .site-nav .nav-link-button:hover::after,
.site-body .site-nav .nav-link-button:focus-visible::after{transform:scaleX(1)}

.site-body .button-acknowledge,
.site-body button.button-acknowledge{
  border-color:#8bbd9b!important;
  background:#cfe9d8!important;
  color:#184b2b!important;
  box-shadow:0 5px 12px rgba(56,115,76,.15)!important;
}
.site-body .button-acknowledge:hover,
.site-body .button-acknowledge:focus-visible,
.site-body button.button-acknowledge:hover,
.site-body button.button-acknowledge:focus-visible{
  border-color:#5d9b72!important;
  background:#9fceb0!important;
  color:#123d22!important;
  box-shadow:0 8px 18px rgba(56,115,76,.22)!important;
}
.account-export-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.account-export-actions form{margin:0}
.export-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}

@media(max-width:780px){
  .site-body .site-nav .nav-signout-form{display:flex;width:100%}
  .site-body .site-nav .nav-link-button{width:100%;justify-content:center;min-height:2.7rem;padding:.5rem!important}
  .site-body .site-nav .nav-link-button::after{display:none}
  .site-body .site-nav .nav-link-button:hover,
  .site-body .site-nav .nav-link-button:focus-visible{background:#eef2f4!important;color:var(--navy)!important;border-radius:.45rem!important}
  .home-memorial-grid .home-memorial-card-body picture,
  .home-memorial-card-body>.memorial-placeholder{width:96px}
  .home-memorial-grid .home-memorial-card-body .memorial-card-photo,
  .home-memorial-grid .home-memorial-card-body .memorial-placeholder{width:96px;height:96px}
}


.home-memorial-grid .home-memorial-card h3{
  text-align:center;
}
.about-feature-copy p.eyebrow{
  color:var(--gold-dark);
}
/* This selector intentionally outranks the global blue-button rule. */
body.site-body .site-nav form.nav-signout-form button.nav-link-button{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#303841!important;
  box-shadow:none!important;
  transform:none!important;
}
body.site-body .site-nav form.nav-signout-form button.nav-link-button:hover,
body.site-body .site-nav form.nav-signout-form button.nav-link-button:focus-visible,
body.site-body .site-nav form.nav-signout-form button.nav-link-button:active{
  border:0!important;
  background:transparent!important;
  color:var(--gold-dark)!important;
  box-shadow:none!important;
  transform:none!important;
}
@media(max-width:780px){
  body.site-body .site-nav form.nav-signout-form button.nav-link-button:hover,
  body.site-body .site-nav form.nav-signout-form button.nav-link-button:focus-visible{
    background:#eef2f4!important;
    color:var(--navy)!important;
    border-radius:.45rem!important;
  }
}


/* /memorials intentionally reuses home-memorial-grid/home-memorial-card styles for a consistent clickable card layout. */

.song-request-grid-wrap{margin-top:1rem}
.song-request-grid{min-width:980px;width:100%;border-collapse:separate;border-spacing:0}
.song-request-grid th{white-space:nowrap}
.song-request-grid-row{cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease}
.song-request-grid-row:hover{background:#f4f8ff}
.song-request-grid-row:focus{outline:3px solid rgba(34,91,166,.34);outline-offset:-3px;background:#f4f8ff}
.song-request-grid-row td{vertical-align:middle}
.song-request-grid-link{display:flex;flex-direction:column;gap:.15rem;color:inherit;text-decoration:none}
.song-request-grid-link span,.song-request-grid-subtext{display:block;color:var(--muted,#657080);font-size:.88rem;font-weight:400}
.song-request-grid-help{margin:.75rem 0 0}
.admin-song-request-detail{max-width:1120px}
.song-request-detail-summary{display:grid;gap:1rem}
.admin-song-request-detail .song-request-answer-list{padding:1.25rem}
.admin-song-request-detail .song-lyrics-preview{max-height:none;white-space:pre-wrap;overflow-wrap:anywhere}


.admin-collapsible{border:0}
.admin-collapsible-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none}
.admin-collapsible-summary::-webkit-details-marker{display:none}
.admin-collapsible-summary::after{content:"▾";font-size:1.1rem;color:var(--muted);transition:transform .16s ease}
.admin-collapsible:not([open]) .admin-collapsible-summary::after{transform:rotate(-90deg)}
.admin-collapsible-title{display:grid;gap:.15rem}
.admin-collapsible-title .eyebrow{margin:0}
.admin-collapsible-heading{font-family:Georgia,serif;font-size:clamp(1.55rem,2vw,2rem);font-weight:700;color:var(--ink)}
.admin-collapsible-body{padding-top:1.25rem}
.admin-job-details{margin:1.5rem 0}
.admin-job-details>summary{cursor:pointer;color:var(--forest);font-weight:800;padding:.65rem 0}
.admin-job-details>summary span{color:var(--muted);font-weight:700}
.admin-job-details[open]>summary{margin-bottom:.5rem}
.admin-settings-grid{grid-template-columns:minmax(0,1fr)}
.admin-setting-card textarea{min-height:20rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.55}
@media(max-width:700px){.admin-collapsible-summary{align-items:flex-start;flex-wrap:wrap}.admin-collapsible-summary::after{margin-left:auto}}


.notification-item.is-grouped{background:#fffdf7;border-left-color:#c9821a}
.notification-item-count{display:inline-flex;align-items:center;margin-left:.45rem;padding:.1rem .48rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.76rem;font-weight:800}
.dashboard-card-actions{display:flex;align-items:center;gap:.55rem}
.card-menu{position:relative;margin-left:auto}
.card-menu>summary{display:grid;place-items:center;width:2.35rem;height:2.35rem;border:1px solid var(--line);border-radius:.48rem;background:#fff;color:var(--navy);font-size:1.2rem;font-weight:900;line-height:1;cursor:pointer;list-style:none;box-shadow:0 4px 10px rgba(16,34,53,.06)}
.card-menu>summary::-webkit-details-marker{display:none}
.card-menu>summary:hover,.card-menu>summary:focus-visible{border-color:var(--site-button-blue-secondary);background:#eef5fb;color:var(--site-button-blue-hover)}
.card-menu[open]>summary{border-color:var(--site-button-blue-secondary)}
.card-menu-list{position:absolute;right:0;top:calc(100% + .4rem);z-index:12;display:grid;min-width:12rem;padding:.4rem;background:#fff;border:1px solid var(--line);border-radius:.6rem;box-shadow:0 12px 28px rgba(16,34,53,.18)}
.card-menu-list a{display:block;padding:.55rem .65rem;border-radius:.4rem;color:var(--navy);font-size:.9rem;font-weight:700;text-decoration:none}
.card-menu-list a:hover,.card-menu-list a:focus-visible{background:#eef2f4;text-decoration:none}
.card-menu-list .card-menu-danger{margin-top:.25rem;padding-top:.65rem;border-top:1px solid var(--line);border-radius:0 0 .35rem .35rem;color:var(--site-button-danger)}
.card-menu-list .card-menu-danger:hover,.card-menu-list .card-menu-danger:focus-visible{background:#fff1f1;color:var(--site-button-danger-hover)}

.settings-nav a.is-active:hover,.settings-nav a.is-active:focus-visible,.settings-nav a[aria-current=page]:hover,.settings-nav a[aria-current=page]:focus-visible{background:var(--navy-2);color:#fff}
.settings-section[hidden]{display:none!important}
.admin-case-details{padding:0;overflow:visible}
.admin-case-details>summary{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none}
.admin-case-details>summary::-webkit-details-marker{display:none}
.admin-case-details>summary::after{content:"›";flex:none;color:var(--muted);font-size:1.4rem;font-weight:900;line-height:1;transform:rotate(0deg);transition:transform .15s ease}
.admin-case-details[open]>summary::after{transform:rotate(90deg)}
.admin-case-details>summary .section-heading-row{flex:1;margin:0}
.admin-case-details>summary h3{margin:.25rem 0 .15rem}
.admin-case-details-body{display:grid;gap:.85rem;border-top:1px solid var(--line)}
.admin-case-details:not([open]){background:#fafbfc;box-shadow:0 5px 14px rgba(16,34,53,.05)}

@media(max-width:680px){.card-menu-list{right:auto;left:0}.dashboard-card-actions{align-items:stretch}.dashboard-card-actions>.button{flex:1}.card-menu{margin-left:0}.admin-case-details>summary{padding:1rem}.admin-case-details-body{padding:1rem}}


.dashboard-page,.settings-page,.admin-page{padding-top:3rem}
.dashboard-container,.settings-container,.admin-container{width:min(1180px,calc(100% - 2rem))}
.dashboard-page-heading,.settings-page-heading,.admin-page-heading{align-items:flex-end;margin-bottom:1.5rem}
.dashboard-page-heading h1,.settings-page-heading h1,.admin-page-heading h1{margin:.2rem 0 .35rem}
.dashboard-page-heading p,.settings-page-heading p,.admin-page-heading p{margin:.2rem 0;color:var(--muted)}
.dashboard-page-heading>div:first-child{flex:1 1 auto;min-width:0}
.dashboard-page-heading .dashboard-user-name{overflow-wrap:anywhere}
.dashboard-page-heading .heading-links{display:flex;flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end;gap:.65rem}
.dashboard-heading-actions .button{white-space:nowrap;flex:0 0 auto}

.dashboard-notifications{margin:1.25rem 0 2rem;padding:1.35rem 1.5rem;background:#fff;border:1px solid var(--line);border-radius:.7rem;box-shadow:0 8px 22px rgba(16,34,53,.06)}
.dashboard-notifications .section-heading-row{align-items:center;margin-bottom:.65rem}
.dashboard-notifications .section-heading-row h2{margin:.1rem 0;font-size:1.45rem}
.dashboard-notifications .notification-list{gap:.65rem}
.dashboard-notifications .notification-item{padding:.85rem 1rem;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:.55rem;background:#fffdf8}
.dashboard-notifications .notification-item:first-child{border-top:1px solid var(--line)}
.dashboard-notifications .notification-item:not(.is-unread){border-left-color:var(--line);background:#fff}
.dashboard-notifications .notification-item strong{color:var(--navy)}
.dashboard-notifications .notification-history{margin-top:.85rem;padding-top:.25rem;border-top:1px solid var(--line)}
.dashboard-notifications .notification-history>summary{padding:.75rem 0 .2rem;cursor:pointer;color:var(--site-button-blue-secondary);font-weight:800}
.dashboard-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:2rem 0 .9rem}
.dashboard-section-heading .eyebrow{margin:0 0 .15rem}
.dashboard-section-heading h2{margin:0;font-size:1.55rem}
.dashboard-page .memorial-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin-top:0;align-items:stretch}
.dashboard-page .memorial-grid>.memorial-card{display:flex;flex-direction:column;align-items:stretch;height:100%;padding:0;overflow:visible;border-radius:.7rem;box-shadow:0 6px 18px rgba(16,34,53,.07);transform:none}
.dashboard-page .memorial-grid>.memorial-card:hover{transform:none;box-shadow:0 9px 24px rgba(16,34,53,.1)}
.dashboard-page .memorial-grid>.memorial-card>.memorial-card-photo,.dashboard-page .memorial-grid>.memorial-card>.memorial-placeholder{display:block;width:100%;height:155px;min-height:155px;border-radius:.7rem .7rem 0 0;object-fit:cover;background:#e4e8ec}
.dashboard-page .memorial-grid>.memorial-card>.memorial-placeholder{display:grid;place-items:center;font-size:2.8rem}
.dashboard-memorial-card-content{display:flex;flex:1;flex-direction:column;gap:.55rem;padding:1rem}
.dashboard-memorial-card-content h2{font-size:1.25rem}
.dashboard-memorial-card-content>p{font-size:.88rem}
.dashboard-memorial-statuses{gap:.3rem}
.dashboard-memorial-statuses .status{font-size:.7rem;padding:.18rem .48rem}
.dashboard-card-actions{margin-top:auto;padding-top:.6rem;flex-wrap:nowrap}
.dashboard-card-actions>.button{min-width:4.4rem}
.dashboard-card-actions .card-menu{margin-left:auto}
.dashboard-add-card{display:flex;min-height:250px;align-items:center;justify-content:center;flex-direction:column;gap:.55rem;border:1.5px dashed #bdc5cc;border-radius:.7rem;background:rgba(255,255,255,.45);color:var(--muted);font-weight:800;text-decoration:none;transition:border-color .15s ease,background .15s ease,color .15s ease}
.dashboard-add-card:hover,.dashboard-add-card:focus-visible{border-color:var(--site-button-blue-secondary);background:#f5f9fd;color:var(--site-button-blue-secondary);text-decoration:none}
.dashboard-add-card-plus{font-size:2rem;font-weight:500;line-height:1}

.settings-container{max-width:1180px}
.settings-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.6rem;align-items:start}
.settings-nav{position:sticky;top:5.25rem;display:grid;gap:.2rem;margin:0;padding:.6rem;background:#fff;border:1px solid var(--line);border-radius:.7rem;box-shadow:0 7px 20px rgba(16,34,53,.06)}
.settings-nav a{display:flex;align-items:center;gap:.65rem;width:100%;color:#465261;text-decoration:none}
.settings-nav a:hover,.settings-nav a:focus-visible{background:#f0f3f5;color:var(--navy)}
.settings-nav a.is-active,.settings-nav a[aria-current=page]{background:var(--navy);color:#fff}

.settings-content{min-width:0}
.settings-section{margin:0;scroll-margin-top:5.5rem}
.settings-panel-heading{margin:0 0 .85rem}
.settings-panel-heading .eyebrow{margin:0 0 .2rem}
.settings-panel-heading h2{margin:0 0 .25rem;font-size:1.55rem}
.settings-panel-heading p{margin:0}
.settings-card{padding:1.35rem 1.45rem;border-radius:.7rem;box-shadow:0 7px 20px rgba(16,34,53,.06)}
.settings-card .actions{margin-top:.35rem}
.settings-check-row{padding:.75rem 0;border-bottom:1px solid var(--line);font-weight:600!important}
.settings-check-row:last-of-type{border-bottom:0}
.settings-session-item{align-items:center}
.settings-session-device{display:flex;align-items:center;gap:.75rem}
.settings-device-icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:.5rem;background:#eef2f5;color:var(--navy);flex:0 0 auto}
.settings-device-icon .ui-icon{width:1.25rem;height:1.25rem}
.settings-session-device p{margin:.15rem 0 0}
.settings-danger-card{margin-top:1rem;padding:1.35rem 1.45rem;background:#fff2ef;border-color:#e9beb4}
.settings-danger-card h3{margin-top:0;color:var(--site-button-danger)}
.settings-danger-card>p{color:#75433a}

.admin-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1.6rem;align-items:start}
.admin-nav{position:sticky;top:5.25rem;max-height:calc(100vh - 6.25rem);overflow:auto;padding:.55rem;background:#fff;border:1px solid var(--line);border-radius:.7rem;box-shadow:0 7px 20px rgba(16,34,53,.06)}
.admin-nav-group{display:grid;gap:.1rem;padding:.15rem 0 .45rem}
.admin-nav-group+.admin-nav-group{border-top:1px solid var(--line);padding-top:.55rem}
.admin-nav-label{padding:.4rem .7rem .25rem;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.admin-nav a{display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.58rem .7rem;border-radius:.42rem;color:#465261;font-size:.86rem;font-weight:800;text-decoration:none}
.admin-nav a:hover,.admin-nav a:focus-visible{background:#f0f3f5;color:var(--navy);text-decoration:none}
.admin-nav a.is-active,.admin-nav a[aria-current=page]{background:var(--navy);color:#fff}
.admin-nav-count{display:inline-flex;min-width:1.55rem;justify-content:center;padding:.05rem .42rem;border-radius:999px;background:#edf0f2;color:#5d6874;font-size:.68rem;font-weight:900}
.admin-nav-count.has-attention{background:#fff0d8;color:#7a4a00}
.admin-nav a.is-active .admin-nav-count,.admin-nav a[aria-current=page] .admin-nav-count{background:rgba(255,255,255,.18);color:#fff}
.admin-content{min-width:0}
.admin-section.admin-panel{margin:0;padding:0;border:0;scroll-margin-top:5.5rem}
.admin-panel[hidden]{display:none!important}
.admin-panel>.eyebrow:first-child{margin-top:0}
.admin-panel>h2:first-child,.admin-panel>.eyebrow+h2{margin-top:.15rem}
.admin-panel .section-heading-row:first-child{margin-bottom:.85rem}
.admin-panel-heading h2{margin:.15rem 0 0;font-size:1.55rem}
.admin-overview .stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0}
.admin-overview .stat-card{padding:1rem 1.1rem;border-radius:.65rem;box-shadow:0 5px 16px rgba(16,34,53,.06)}
.admin-overview .stat-card strong{font-size:1.75rem}
.admin-overview .stat-card span{font-size:.82rem}
.admin-overview-help{margin-top:.75rem}
.admin-panel .dashboard-grid{gap:1rem;margin-top:1rem}
.admin-panel .card{border-radius:.65rem;box-shadow:0 5px 16px rgba(16,34,53,.06)}
.admin-panel .admin-list{gap:.7rem}
.admin-case-details{border-radius:.65rem}
.admin-case-details>summary{padding:1rem 1.1rem}
.admin-case-details-body{padding:.9rem 1.1rem 1.1rem}
.admin-live-warning{margin:0 0 1rem;border-radius:.65rem}
#moderation-tools .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}
#admin-settings .admin-settings-grid{margin-top:0}
#admin-settings .admin-setting-card{max-width:none}
#operational-health .admin-collapsible{padding:1.1rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:.7rem;box-shadow:0 7px 20px rgba(16,34,53,.06)}
#song-creation-requests .song-request-filter{margin-top:1rem}


@media(max-width:980px){
  .admin-overview .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-shell,.admin-shell{grid-template-columns:190px minmax(0,1fr);gap:1rem}
  #moderation-tools .dashboard-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .dashboard-page,.settings-page,.admin-page{padding-top:2rem}
  .dashboard-container,.settings-container,.admin-container{width:min(100% - 1.35rem,1180px)}
  .dashboard-page-heading,.settings-page-heading,.admin-page-heading{align-items:start}
  .dashboard-page-heading .heading-links{display:grid;width:100%;justify-content:stretch}
  .settings-shell,.admin-shell{grid-template-columns:1fr}
  .settings-nav,.admin-nav{position:static;max-height:none}
  .settings-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}
  .admin-nav-group{border:1px solid var(--line)!important;border-radius:.55rem;padding:.35rem!important}
  .dashboard-notifications .notification-item{align-items:flex-start}
}
@media(max-width:560px){
  .settings-nav,.admin-nav{grid-template-columns:1fr}
  .admin-overview .stat-grid{grid-template-columns:1fr}
  .dashboard-page .memorial-grid{grid-template-columns:1fr}
  .dashboard-page .memorial-grid>.memorial-card>.memorial-card-photo,.dashboard-page .memorial-grid>.memorial-card>.memorial-placeholder{height:190px;min-height:190px}
  .dashboard-add-card{min-height:150px}
}


.site-body .button-ghost,
.site-body a.button-ghost,
.site-body button.button-ghost:not([class^="ql-"]):not([class*=" ql-"]){
  border-color:#d5dbe1!important;
  background:#fff!important;
  color:#3a4652!important;
  box-shadow:none!important;
}
.site-body .button-ghost:hover,
.site-body .button-ghost:focus-visible,
.site-body a.button-ghost:hover,
.site-body a.button-ghost:focus-visible,
.site-body button.button-ghost:not([class^="ql-"]):not([class*=" ql-"]):hover,
.site-body button.button-ghost:not([class^="ql-"]):not([class*=" ql-"]):focus-visible{
  border-color:#c5ccd3!important;
  background:#f4f6f8!important;
  color:var(--navy)!important;
  box-shadow:none!important;
  transform:none;
}
.dashboard-heading-actions .button{min-width:0}
.button-icon{display:inline-flex;align-items:center;justify-content:center;min-width:1.05rem;font-size:1rem;line-height:1}
.button-icon-plus{font-size:1.22rem;font-weight:700}
.dashboard-notifications .notification-main{display:flex;align-items:flex-start;gap:.75rem;min-width:0}
.dashboard-notifications .notification-copy{min-width:0}
.dashboard-notifications .notification-icon{display:flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;flex:0 0 2.15rem;border-radius:.5rem;background:#fdf3e2;color:#c9821a;font-size:1rem;line-height:1}
.dashboard-notifications .notification-review-button{flex:0 0 auto;min-width:0}
.dashboard-card-actions>.button{padding:.45rem .72rem;min-height:2.15rem;font-size:.84rem}
.dashboard-card-actions>.button.button-secondary{border-width:1.5px}
.settings-nav a{padding:.62rem .72rem;border-radius:.45rem;font-size:.9rem;font-weight:700}
.settings-nav-icon{display:inline-flex;width:1.25rem;height:1.25rem;align-items:center;justify-content:center;overflow:visible;border-radius:0;background:transparent;color:inherit;font-size:1rem;line-height:1;opacity:1;flex:0 0 1.25rem}
.settings-back-button{min-width:0!important;padding:.62rem .9rem!important}
@media(max-width:760px){
  .dashboard-heading-actions .button{width:100%}
  .dashboard-notifications .notification-review-button{width:auto;align-self:flex-end}
}


.pagination{align-items:center;flex-wrap:wrap}
.pagination a,.pagination .current{
  display:grid;place-items:center;min-width:2.55rem;min-height:2.55rem;padding:.35rem .55rem;
  border:1.5px solid var(--site-button-blue-secondary);border-radius:.45rem;
  background:#fff;color:var(--site-button-blue-secondary);font-weight:800;text-decoration:none;box-shadow:none
}
.pagination a:hover,.pagination a:focus-visible{
  border-color:var(--site-button-blue-secondary);background:#eef5fb;color:var(--site-button-blue-hover);text-decoration:none
}
.pagination .current{
  border-color:var(--site-button-blue);background:var(--site-button-blue);color:#fff;cursor:default
}
/* Native viewer controls are utilities, not site CTA buttons. */
.site-body .photo-viewer-close,.site-body .photo-viewer-nav{
  border-color:rgba(255,255,255,.5)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;
  box-shadow:none!important;transform:none!important}
.site-body .photo-viewer-close:hover,.site-body .photo-viewer-close:focus-visible,
.site-body .photo-viewer-nav:hover,.site-body .photo-viewer-nav:focus-visible{
  border-color:rgba(255,255,255,.72)!important;background:rgba(255,255,255,.18)!important;color:#fff!important;
  box-shadow:none!important;transform:none!important}


.ui-icon{display:block;width:1.05rem;height:1.05rem;flex:0 0 1.05rem;color:currentColor;overflow:visible}
.button .ui-icon{width:1rem;height:1rem}
.notification-icon .ui-icon{width:1.05rem;height:1.05rem}
.settings-nav-icon .ui-icon{width:1.05rem;height:1.05rem}

.admin-id-row{display:flex;align-items:stretch;gap:.5rem;margin-top:.35rem}
.admin-id-row input{min-width:0;flex:1}
.admin-id-row .button{flex:0 0 auto;align-self:stretch}
.admin-record-preview{display:grid;gap:.18rem;padding:.75rem .85rem;border:1px solid #cbd9e7;border-radius:.55rem;background:#f5f8fb;color:var(--navy);font-size:.86rem}
.admin-record-preview strong{font-size:.92rem}
.admin-record-preview span{color:var(--muted);overflow-wrap:anywhere}
.admin-record-preview[data-state="error"]{border-color:#e3b3aa;background:#fff2ef;color:var(--site-button-danger)}
.admin-record-preview[data-state="error"] span{color:inherit}
.admin-record-preview[data-state="loading"]{color:var(--muted)}
.admin-record-form button:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}

.audit-toolbar{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) minmax(140px,.7fr) auto;gap:.75rem;align-items:end;margin:.35rem 0 1rem;padding:.9rem 1rem;background:#fff;border:1px solid var(--line);border-radius:.65rem}
.audit-toolbar label{display:grid;gap:.3rem;margin:0;color:var(--navy);font-size:.78rem;font-weight:800}
.audit-toolbar input,.audit-toolbar select{width:100%;min-width:0}
.audit-toolbar-actions{display:flex;gap:.5rem;align-items:center}
#audit-activity .table-wrap{margin-top:0}

@media(max-width:980px){
  .audit-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audit-toolbar-actions{align-self:end}
}
@media(max-width:560px){
  .admin-id-row{align-items:stretch}
  .admin-id-row .button{padding-inline:.7rem}
  .audit-toolbar{grid-template-columns:1fr}
  .audit-toolbar-actions{display:grid;grid-template-columns:1fr 1fr}
  .audit-toolbar-actions .button{justify-content:center}
}


.dashboard-page-heading h1{font-size:32px}
@media(max-width:760px){
  .dashboard-page-heading h1{font-size:28px}
}

.deleted-memorial-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.55rem}
.deleted-memorial-actions form{margin:0}
.admin-deleted-memorial-actions{display:grid;grid-template-columns:auto minmax(260px,1fr);align-items:start;gap:1rem;padding-top:.85rem;border-top:1px solid var(--sand)}
.admin-deleted-memorial-actions form{margin:0}
.admin-purge-form{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:.65rem}
.admin-purge-form label{margin:0}
@media(max-width:760px){
  .deleted-memorial-actions{justify-content:flex-start}
  .admin-deleted-memorial-actions{grid-template-columns:1fr}
  .admin-purge-form{grid-template-columns:1fr}
  .admin-purge-form .button{justify-content:center}
}

/* Account administration */
.admin-user-heading{align-items:flex-start}
.user-account-counts{display:flex;gap:.45rem;overflow-x:auto;padding:.15rem 0 .75rem;margin-bottom:.65rem;scrollbar-width:thin}
.user-account-count{display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto;padding:.45rem .7rem;border:1px solid var(--line);border-radius:.55rem;background:#fff;color:var(--navy);font-size:.82rem;font-weight:750;text-decoration:none}
.user-account-count strong{display:inline-flex;min-width:1.55rem;justify-content:center;padding:.08rem .38rem;border-radius:999px;background:#eef1f4;font-size:.75rem}
.user-account-count:hover,.user-account-count:focus-visible{border-color:var(--site-button-blue-secondary);background:#f5f9fd;text-decoration:none}
.user-account-count.current{border-color:var(--navy);background:var(--navy);color:#fff}
.user-account-count.current strong{background:rgba(255,255,255,.18);color:#fff}
.user-management-toolbar{display:grid;grid-template-columns:minmax(220px,1.45fr) repeat(4,minmax(120px,.75fr)) auto;gap:.65rem;align-items:end;margin:0 0 .75rem;padding:.85rem;border:1px solid var(--line);border-radius:.65rem;background:#fff}
.user-management-toolbar label{display:grid;gap:.28rem;margin:0;color:var(--navy);font-size:.76rem;font-weight:800}
.user-management-toolbar input,.user-management-toolbar select{width:100%;min-width:0}
.user-management-toolbar-actions{display:flex;align-items:center;gap:.45rem}
.user-management-result-summary{display:flex;justify-content:space-between;gap:1rem;margin:.2rem 0 .65rem;color:var(--muted);font-size:.8rem}
.admin-user-table-wrap{margin-top:0}
.admin-user-table{min-width:760px}
.admin-user-table th{white-space:nowrap}
.admin-user-table td{vertical-align:middle}
.admin-user-table td:first-child{min-width:240px}
.admin-user-table td strong{display:block;color:var(--navy)}
.admin-user-email,.admin-user-id{display:block;margin-top:.12rem;color:var(--muted);font-size:.77rem;overflow-wrap:anywhere}
.admin-user-id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem}
.admin-user-manage-cell{text-align:right;white-space:nowrap}.admin-user-manage-actions{display:flex;justify-content:flex-end;align-items:center;gap:.45rem}.admin-user-manage-actions form{margin:0}.admin-disabled-action{display:inline-flex;cursor:not-allowed}
.pagination-gap{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;color:var(--muted)}
.admin-user-detail-page{max-width:1060px}
.admin-user-detail-heading{margin-bottom:.65rem}
.admin-user-detail-status-row{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem}
.admin-user-detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:0 0 1rem}
.admin-user-detail-facts>div{min-width:0;padding:.75rem .8rem;border:1px solid var(--line);border-radius:.6rem;background:#fff}
.admin-user-detail-facts dt{font-size:.7rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.admin-user-detail-facts dd{margin:.2rem 0 0;overflow-wrap:anywhere}
.admin-user-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}
.admin-user-detail-card h2,.admin-user-danger-zone h2{font-size:1.15rem;margin-bottom:.45rem}
.admin-user-detail-card>p{margin-top:0}
.admin-user-danger-zone{margin-top:1rem;padding:1rem 1.1rem;border:1px solid #e3b3aa;border-radius:.7rem;background:#fff6f4}
.admin-user-danger-zone>p{max-width:760px}
@media(max-width:1100px){.user-management-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.user-management-toolbar .user-search{grid-column:span 2}.user-management-toolbar-actions{align-self:end}}
@media(max-width:900px){.admin-user-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-detail-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .user-management-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.user-management-toolbar .user-search{grid-column:1/-1}.user-management-toolbar-actions{grid-column:1/-1}.user-management-toolbar-actions .button{flex:1;justify-content:center}
  .user-management-result-summary{display:grid;gap:.15rem}
  .admin-user-table{min-width:0}.admin-user-table thead{display:none}.admin-user-table,.admin-user-table tbody,.admin-user-table tr,.admin-user-table td{display:block;width:100%}.admin-user-table tr{padding:.75rem 0;border-bottom:1px solid var(--line)}.admin-user-table tr:last-child{border-bottom:0}.admin-user-table td{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:.5rem;padding:.32rem .55rem;border:0;text-align:left}.admin-user-table td::before{content:attr(data-label);font-size:.72rem;font-weight:850;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.admin-user-table td:first-child{min-width:0}.admin-user-table .admin-user-manage-cell{display:block;padding-top:.6rem}.admin-user-manage-cell .admin-user-manage-actions{display:grid;grid-template-columns:1fr 1fr}.admin-user-manage-cell .admin-user-manage-actions form,.admin-user-manage-cell .admin-disabled-action,.admin-user-manage-cell .button{width:100%;justify-content:center}
}
@media(max-width:560px){.user-management-toolbar{grid-template-columns:1fr}.user-management-toolbar .user-search,.user-management-toolbar-actions{grid-column:auto}.admin-user-detail-facts{grid-template-columns:1fr}}
.footer-version{display:inline-flex;align-items:center;justify-content:center;gap:.55rem}
.footer-location{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}
.feedback-fields{display:grid;gap:.85rem;margin:0;padding:1rem;border:1px solid var(--line);border-radius:.65rem;background:#f8fafb}
.feedback-fields legend{padding:0 .35rem;font-weight:800;color:var(--navy)}
@media(max-width:900px){.admin-user-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.admin-user-facts{grid-template-columns:1fr}.footer-location{justify-content:center}}
.admin-diagnostic-context{margin:1rem 0;padding:.75rem;border:1px solid var(--line);border-radius:.55rem;background:#f8fafb}
.admin-diagnostic-context summary{cursor:pointer;font-weight:800;color:var(--navy)}
.admin-diagnostic-context .admin-user-facts{margin-top:.75rem;margin-bottom:0}
.status-invited{background:#eef3fb;color:#2d5d91}
.status-suspended,.status-deletion_pending{background:#fff0f0;color:var(--site-button-danger)}

/* Account and support refinements */
.header-problem-report{display:inline-flex;align-items:center;justify-content:center;min-height:2.65rem;padding:.52rem .85rem;border:1px solid var(--site-button-danger);border-radius:.55rem;background:var(--site-button-danger);color:#fff;font-size:.84rem;font-weight:800;line-height:1.15;text-align:center;text-decoration:none;white-space:nowrap}
.header-problem-report:hover,.header-problem-report:focus-visible{border-color:var(--site-button-danger-hover);background:var(--site-button-danger-hover);color:#fff;text-decoration:none}
.settings-inline-card{margin-top:1rem}.email-change-status-grid{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.security-history-list{display:grid;gap:0}.security-history-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid var(--line)}.security-history-item:first-child{border-top:0}.security-history-item span{color:var(--muted);font-size:.86rem;white-space:nowrap}
.admin-user-support-console{margin-top:1.5rem}.admin-user-related-list,.admin-user-history-list{display:grid;gap:0}.admin-user-related-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(7rem,.55fr) auto;align-items:center;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line)}.admin-user-related-row:first-child{border-top:0}.admin-user-related-row>div:first-child{display:grid;gap:.15rem}.admin-user-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.admin-user-activity-card{grid-column:1/-1}.admin-user-history-list>div{padding:.75rem 0;border-top:1px solid var(--line)}.admin-user-history-list>div:first-child{border-top:0}.admin-user-history-list span{display:block;color:var(--muted);font-size:.84rem;margin-top:.15rem}.admin-user-history-list p{margin:.35rem 0 0}
@media(max-width:980px){.header-problem-report{white-space:normal}.admin-user-support-grid{grid-template-columns:1fr}.admin-user-activity-card{grid-column:auto}}
@media(max-width:760px){.header-problem-report{width:100%;min-height:2.7rem}.security-history-item{flex-direction:column;gap:.2rem}.security-history-item span{white-space:normal}.admin-user-related-row{grid-template-columns:1fr}.admin-user-related-row .actions{justify-content:flex-start}}

/* Media workflow clarity */
.photo-upload-progress{display:grid;gap:.45rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface-soft)}
.photo-upload-progress[hidden]{display:none}
.photo-upload-progress-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.9rem}
.photo-upload-progress progress{display:block;width:100%;height:.8rem;accent-color:var(--site-button-blue,#1c5faa)}
.current-song-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);align-items:center;gap:1.5rem;margin-bottom:1rem}
.current-song-preview h2{margin:.1rem 0 .25rem;font-size:1.35rem}
.current-song-preview audio{width:100%}
.memorial-hero-photo{border:0;background:transparent;box-shadow:none}
.memorial-hero-photo .memorial-primary-image{border-radius:.85rem;background:transparent;box-shadow:none}
@media(max-width:720px){.current-song-preview{grid-template-columns:1fr}.photo-upload-progress-row{align-items:flex-start;flex-direction:column;gap:.2rem}}

/* Tribute photo viewer */
.tribute-card-content{
  display:grid;
  grid-template-columns:minmax(140px,180px) minmax(0,1fr);
  gap:1rem;
  align-items:start;
}
.tribute-card-content-text-only{
  grid-template-columns:minmax(0,1fr);
}
.tribute-card-body{min-width:0}
.tribute-meta{
  display:flex;
  justify-content:space-between;
  gap:.65rem 1rem;
  align-items:baseline;
  flex-wrap:wrap;
  margin:0 0 .7rem;
  color:var(--muted);
  font-size:.9rem;
}
.tribute-meta strong{color:var(--ink)}
.tribute-card-content blockquote{
  margin:0;
}
.tribute-report-link{
  margin-top:.85rem;
  padding-top:.7rem;
  text-align:center;
  border-top:1px solid rgba(16,34,53,.08);
  font-size:.85rem;
}
.tribute-report-link a{color:var(--muted)}
.tribute-report-link a:hover,.tribute-report-link a:focus-visible{color:var(--site-button-blue,#1c5faa)}
.condolence-photo-memory{
  width:100%;
  margin:0;
}
.condolence-photo-trigger{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:.7rem;
  background:#edf0f2;
}
.condolence-photo-trigger:hover,.condolence-photo-trigger:focus-visible{
  outline:3px solid rgba(23,105,170,.24);
  outline-offset:2px;
}
.condolence-photo-memory .condolence-photo{
  width:100%;
  height:100%;
  max-height:none;
  margin:0;
  border-radius:0;
  object-fit:cover;
  background:transparent;
}
.condolence-photo-memory figcaption{
  margin:.4rem 0 0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.35;
}
@media(max-width:600px){
  .tribute-card-content{grid-template-columns:1fr}
  .condolence-photo-memory{width:min(100%,160px)}
  .tribute-meta{display:grid;gap:.15rem}
}

/* Public discovery and memorial navigation */
.breadcrumb-nav{padding-top:1rem;padding-bottom:.25rem}
.breadcrumb-nav ol{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:0;padding:0;list-style:none;color:var(--muted);font-size:.88rem}
.breadcrumb-nav li{display:inline-flex;align-items:center;gap:.45rem}
.breadcrumb-nav li:not(:last-child)::after{content:">";color:#9aa4ac}
.breadcrumb-nav a{color:var(--navy);font-weight:700;text-decoration:none}
.breadcrumb-nav a:hover,.breadcrumb-nav a:focus-visible{text-decoration:underline}
.breadcrumb-nav [aria-current="page"]{color:var(--muted)}
.memorial-tribute-summary{display:inline-flex;align-items:center;gap:.35rem;margin-top:.3rem;padding:.42rem .7rem;border-radius:999px;background:#f7efe0;color:#7a5315;font-size:.88rem;font-weight:700;text-decoration:none}
.memorial-tribute-summary:hover,.memorial-tribute-summary:focus-visible{background:#f1e4cd;color:#5c3c0c;text-decoration:none}
.memorial-tribute-summary strong{font-size:1rem}
.memorial-tribute-summary-empty{background:#f2f5f7;color:var(--navy)}

.directory-result-summary{display:flex;justify-content:space-between;align-items:center;margin:1.1rem 0 .85rem;color:var(--muted);font-size:.92rem}
.directory-result-summary strong{color:var(--navy)}
.directory-sort-note{margin:.65rem 0 0;color:var(--muted);font-size:.86rem}
.memorial-search-empty{max-width:620px;margin:2.25rem auto;text-align:center;padding:2rem 1.5rem;border:1px solid var(--line);border-radius:.8rem;background:#fff}
.memorial-search-empty .empty-state-symbol{font-family:Georgia,"Times New Roman",serif;font-size:2.3rem;color:var(--gold-dark);line-height:1}
.memorial-search-empty h2{margin:.55rem 0}
.memorial-search-empty p{max-width:32rem;margin:.35rem auto 1.1rem;color:var(--muted)}

/* Home onboarding and values */
.home-how-it-works{padding-top:3.5rem;border-top:1px solid rgba(16,34,53,.08);background:#fff}
.home-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-how-step{position:relative;padding:1.5rem 1.6rem}
.home-how-step+ .home-how-step{border-left:1px solid var(--line)}
.home-how-number{display:inline-grid;place-items:center;width:2rem;height:2rem;margin-bottom:.75rem;border-radius:50%;background:var(--navy);color:#fff;font-size:.82rem;font-weight:850}
.home-how-step h3{margin:0 0 .55rem;font-size:1.15rem}
.home-how-step p{margin:0;color:var(--muted)}
.home-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.6rem;padding:1.2rem 0}
.home-values>div{display:grid;gap:.18rem}
.home-values strong{color:var(--gold-dark);font-family:Georgia,"Times New Roman",serif;font-size:1.2rem}
.home-values span{color:var(--muted);font-size:.9rem}

/* About live facts and FAQ */
.about-stats-section{padding:clamp(2.8rem,6vw,4.5rem) 0;background:#fff}
.about-stats-inner{max-width:980px}
.about-stats-note{max-width:42rem;margin:.5rem auto 0;color:var(--muted);text-align:center}
.about-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:2rem 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-stats-grid>div{display:flex;flex-direction:column-reverse;gap:.2rem;padding:1.45rem;text-align:center}
.about-stats-grid>div+div{border-left:1px solid var(--line)}
.about-stats-grid dt{color:var(--muted);font-size:.9rem;font-weight:700}
.about-stats-grid dd{margin:0;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1}
.about-faq-section{padding:clamp(3rem,7vw,5rem) 0;background:#fbf8f3}
.about-faq-inner{max-width:880px}
.about-faq-list{margin-top:1.75rem;border-top:1px solid var(--line)}
.about-faq-list details{border-bottom:1px solid var(--line);background:transparent}
.about-faq-list summary{cursor:pointer;padding:1rem 2.25rem 1rem 0;color:var(--navy);font-weight:800;list-style:none;position:relative}
.about-faq-list summary::-webkit-details-marker{display:none}
.about-faq-list summary::after{content:"+";position:absolute;right:.25rem;top:.78rem;font-size:1.35rem;font-weight:500}
.about-faq-list details[open] summary::after{content:"–"}
.about-faq-list details p{margin:0;padding:0 2.25rem 1rem 0;color:var(--muted);line-height:1.7}

/* Contact submission confirmation */
.contact-confirmation{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;margin:1.4rem 0;padding:1.15rem 1.25rem;border:1px solid #b9d9c6;border-radius:.75rem;background:#f1faf4}
.contact-confirmation-mark{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:#26734a;color:#fff;font-weight:900}
.contact-confirmation h2{margin:0 0 .35rem;color:#1d6138;font-size:1.2rem}
.contact-confirmation p{margin:.2rem 0;color:#345747}

/* Gallery thumbnail navigation */
.photo-viewer{grid-template-rows:auto minmax(0,1fr) auto auto}
.photo-viewer-thumbnails{display:flex;gap:.55rem;max-width:min(100%,900px);margin:.35rem auto 0;padding:.35rem .2rem;overflow-x:auto;scrollbar-width:thin}
.photo-viewer-thumbnails[hidden]{display:none}
.photo-viewer-thumbnail{display:block;flex:0 0 64px;width:64px;height:50px;padding:2px;border:2px solid transparent;border-radius:.45rem;background:transparent;cursor:pointer;opacity:.7}
.photo-viewer-thumbnail img{display:block;width:100%;height:100%;border-radius:.3rem;object-fit:cover}
.photo-viewer-thumbnail:hover,.photo-viewer-thumbnail:focus-visible{opacity:1;border-color:rgba(255,255,255,.62)}
.photo-viewer-thumbnail[aria-current="true"]{opacity:1;border-color:#fff;background:rgba(255,255,255,.08)}

/* Restrained card motion */
@keyframes memorial-card-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.home-memorial-grid .home-memorial-card{animation:memorial-card-enter .22s ease-out both;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}

@media(max-width:760px){
  .breadcrumb-nav{padding-top:.65rem}
  .home-how-grid,.home-values,.about-stats-grid{grid-template-columns:1fr}
  .home-how-step+ .home-how-step,.about-stats-grid>div+div{border-left:0;border-top:1px solid var(--line)}
  .home-values{gap:.9rem}
  .about-stats-grid>div{padding:1.05rem}
  .photo-viewer-thumbnail{flex-basis:56px;width:56px;height:44px}
}
@media print{.breadcrumb-nav{display:none!important}}


/* 5.6.72 button readability refinement */
:root{
  --action-small-height:2.75rem;
  --action-small-font-size:.95rem;
}

/* Keep compact actions readable without changing the action hierarchy. */
.dashboard-card-actions>.button{
  min-height:var(--action-small-height);
  padding:.58rem .82rem;
  font-size:var(--action-small-font-size);
  line-height:1.25;
}
.dashboard-notifications .notification-review-button{
  min-height:var(--action-small-height);
  padding:.58rem .82rem;
  font-size:var(--action-small-font-size);
  line-height:1.25;
}
.header-problem-report{
  min-height:2.8rem;
  padding:.62rem .95rem;
  font-size:.95rem;
  line-height:1.25;
}
.card-menu-list a{
  padding:.62rem .72rem;
  font-size:.95rem;
  line-height:1.35;
}
.user-account-count{
  min-height:2.5rem;
  padding:.5rem .75rem;
  font-size:.9rem;
  line-height:1.25;
}
.pagination a,.pagination .current{
  min-width:2.75rem;
  min-height:2.75rem;
  font-size:.95rem;
  font-weight:800;
}

/* Disabled actions remain visibly unavailable without making their labels hard to read. */
.site-body button.button:not([class^="ql-"]):not([class*=" ql-"]):disabled,
.site-body .button[disabled],
.site-body a.button[aria-disabled="true"]{
  border-color:#5f7181!important;
  background:#5f7181!important;
  color:#fff!important;
  opacity:1;
}

@media(max-width:760px){
  .header-problem-report{min-height:3rem;font-size:1rem}
  .dashboard-card-actions>.button,
  .dashboard-notifications .notification-review-button{min-height:2.9rem;font-size:1rem}
}

.field-error{display:block;color:var(--danger);font-size:.88rem;font-weight:700}
.settings-confirmation-instruction{display:inline;line-height:1.45}
.settings-confirmation-instruction strong{white-space:nowrap}
.settings-session-help{margin-top:.85rem}
.notification-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;margin-top:.85rem}
.pagination-current{color:var(--muted);font-size:.9rem;font-weight:700}
@media(max-width:520px){.notification-pagination{justify-content:space-between;flex-wrap:wrap}}

/* Native written-tribute toolbar used when the self-hosted Quill runtime is unavailable. */
.tribute-native-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;padding:.5rem;border:1px solid #aeb7bf;border-radius:.7rem .7rem 0 0;background:#f7f8f7}
.tribute-native-toolbar .ql-formats{display:inline-flex;align-items:center;gap:.2rem;margin:0 .2rem 0 0;white-space:nowrap}
.tribute-native-toolbar button{width:auto;min-width:2.25rem;min-height:2.25rem;padding:.35rem .5rem;border:1px solid #aeb7bf;border-radius:.35rem;background:#fff;color:var(--ink);font:inherit;line-height:1;cursor:pointer;flex:0 0 auto}
.tribute-native-toolbar button:hover{background:var(--cream)}
.tribute-native-toolbar button:focus-visible,.tribute-native-toolbar select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.tribute-native-toolbar select.ql-align{width:auto;min-width:6.75rem;max-width:8.5rem;min-height:2.25rem;padding:.35rem 1.75rem .35rem .55rem;border-radius:.35rem;flex:0 0 auto}
@media(max-width:560px){.tribute-native-toolbar{gap:.3rem}.tribute-native-toolbar .ql-formats{margin-right:0}.tribute-native-toolbar select.ql-align{min-width:6.25rem}}


/* Single-page memorial editor */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.memorial-editor-page{padding-top:2.2rem;padding-bottom:0}
.memorial-editor-container{max-width:1180px}
.memorial-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.4rem}
.memorial-editor-heading h1{margin:.2rem 0 .4rem;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,2.9rem);line-height:1.05}
.memorial-editor-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}
.memorial-editor-heading-actions form,.memorial-editor-bottom-bar form{margin:0}
.memorial-save-status{display:inline-flex;align-items:center;gap:.48rem;margin:.65rem 0 0;padding:.35rem .7rem;border-radius:999px;background:#e7f5ec;color:#1d6138;font-size:.83rem}
.memorial-save-status>span{width:.5rem;height:.5rem;border-radius:50%;background:currentColor;flex:0 0 auto}
.memorial-save-status[data-state="saving"]{background:#eef4fb;color:#1769aa}
.memorial-save-status[data-state="error"]{background:#fde9e9;color:#812626}
.memorial-save-status[data-state="dirty"]{background:#fff5d8;color:#6a4a00}
.memorial-editor-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.6rem;align-items:start}
.memorial-editor-nav{position:sticky;top:5.2rem;display:grid;gap:.3rem;padding:.65rem;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);border:1px solid #d8dee3;border-radius:.9rem;box-shadow:0 10px 28px rgba(16,34,53,.08);z-index:5}
.memorial-editor-nav-heading{display:grid;gap:.08rem;padding:.35rem .6rem .6rem;margin-bottom:.05rem;border-bottom:1px solid #e7ebee}.memorial-editor-nav-heading strong{color:var(--navy);font-size:.86rem;letter-spacing:.01em}.memorial-editor-nav-heading span{color:var(--muted);font-size:.72rem;font-weight:600}
.memorial-editor-nav a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:2.75rem;padding:.48rem .55rem;border:1px solid transparent;border-radius:.62rem;color:var(--ink);font-weight:750;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.memorial-editor-nav a:hover,.memorial-editor-nav a:focus-visible{background:#f1f6fa;border-color:#dce8f1;color:#0b4f86;text-decoration:none;transform:translateX(1px)}
.memorial-editor-nav a[aria-current="location"]{background:linear-gradient(135deg,#1769aa,#135987);border-color:#1769aa;color:#fff;box-shadow:0 6px 14px rgba(23,105,170,.18)}
.memorial-editor-nav-label{display:flex;align-items:center;gap:.58rem;min-width:0}.memorial-editor-nav-label>span:last-child{min-width:0}
.editor-nav-icon{display:grid;place-items:center;width:1.7rem;height:1.7rem;flex:0 0 1.7rem;border-radius:.48rem;background:var(--editor-icon-bg,#eef3f7);color:var(--editor-icon-color,#315b78);box-shadow:inset 0 0 0 1px rgba(16,34,53,.05)}
.editor-nav-icon svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.editor-nav-icon-basics{--editor-icon-bg:#fce9e7;--editor-icon-color:#a3483d}.editor-nav-icon-story{--editor-icon-bg:#eee9fb;--editor-icon-color:#6650a4}.editor-nav-icon-photos{--editor-icon-bg:#e5f4ee;--editor-icon-color:#287056}.editor-nav-icon-song{--editor-icon-bg:#fff0d8;--editor-icon-color:#9a6214}.editor-nav-icon-dates{--editor-icon-bg:#e5f0fb;--editor-icon-color:#2c6598}.editor-nav-icon-visibility{--editor-icon-bg:#e8edf7;--editor-icon-color:#425b87}.editor-nav-icon-preview{--editor-icon-bg:#fff3cc;--editor-icon-color:#8c6a00}
.memorial-editor-nav a[aria-current="location"] .editor-nav-icon{background:rgba(255,255,255,.94);box-shadow:0 1px 3px rgba(16,34,53,.15)}
.memorial-editor-nav b{display:grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .3rem;border-radius:999px;background:#e7f5ec;color:#1d6138;font-size:.7rem;flex:0 0 auto}
.memorial-editor-nav a[aria-current="location"] b{background:rgba(255,255,255,.18);color:#fff}
.memorial-editor-nav p{margin:.35rem .6rem .35rem;padding-top:.7rem;border-top:1px solid #e7ebee;color:var(--muted);font-size:.73rem;line-height:1.45}
.memorial-editor-sections{display:grid;gap:1rem;min-width:0}
.memorial-editor-card{scroll-margin-top:5.25rem;background:#fff;border:1px solid var(--line);border-radius:.8rem;box-shadow:var(--shadow);overflow:hidden}
.memorial-editor-card-header{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 1.25rem;border:0;background:#fff;color:var(--ink);text-align:left;cursor:pointer}
.memorial-editor-card-header:hover{background:#fbfcfd}
.memorial-editor-card-header>span:first-child{display:grid;gap:.15rem}
.memorial-editor-card-header strong{color:var(--navy);font-size:1.08rem}
.memorial-editor-card-header small{color:var(--muted);font-size:.82rem;font-weight:500}
.memorial-editor-chevron{color:var(--muted);font-size:.9rem;transition:transform .15s ease}
.memorial-editor-card.is-collapsed .memorial-editor-chevron{transform:rotate(-90deg)}
.memorial-editor-card.is-collapsed .memorial-editor-card-body{display:none}
.memorial-editor-card-body{padding:1.2rem 1.25rem 1.35rem;border-top:1px solid var(--line)}
.memorial-editor-card-body>.form-stack,.memorial-editor-card-body>form.form-stack{margin:0}
.editor-grid{display:grid;gap:1rem;align-items:start}.editor-grid-top>label,.editor-grid-top>fieldset{align-self:start;align-content:start}.field-label-line{display:flex;align-items:baseline;gap:.3rem;min-height:1.45em}.editor-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hint-inline{color:var(--muted);font-weight:400;font-size:.9em}
.editor-info-banner{margin-bottom:1rem;padding:.8rem .9rem;border:1px solid #bcd3e5;border-radius:.6rem;background:#f2f8fc;color:#315b78;font-size:.86rem}
.tribute-editor-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.tribute-count{text-align:right;margin:.2rem 0 0}.tribute-editor-status{margin:0}
.tribute-quill-toolbar.ql-toolbar.ql-snow{display:flex!important;align-items:center;gap:.2rem;flex-wrap:wrap;padding:.45rem .5rem;border-radius:.65rem .65rem 0 0;background:#fafbfc}
.tribute-quill-toolbar .ql-formats{display:inline-flex!important;align-items:center;gap:.12rem;margin-right:.4rem!important}
.tribute-quill-toolbar .ql-align{display:inline-block!important;width:2.2rem!important;min-width:2.2rem!important;max-width:2.2rem!important;padding:0!important}
.tribute-quill-toolbar select.ql-align{height:1.75rem!important}
.photo-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;color:var(--muted);font-size:.88rem}
.compact-photo-upload{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}
.compact-photo-upload .hint{width:100%;text-align:right}
.compact-photo-upload .photo-upload-progress{width:min(100%,420px)}
.memorial-photo-sort-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:.8rem}
.memorial-photo-tile{min-width:0;border:2px solid transparent;border-radius:.7rem;background:#f8fafb;overflow:hidden;transition:border-color .15s ease,opacity .15s ease,transform .15s ease}
.memorial-photo-tile.is-primary{border-color:#1769aa}
.memorial-photo-tile.is-pending-removal{opacity:.64;border-style:dashed}
.memorial-photo-tile.is-dragging{opacity:.38;transform:scale(.98)}
.memorial-photo-tile.is-drag-target{border-color:#8bb7d9}
.memorial-photo-image-wrap{position:relative;aspect-ratio:1/1;background:#edf1f3;overflow:hidden}
.memorial-photo-image-wrap img{display:block;width:100%;height:100%;object-fit:cover}
.photo-drag-handle,.photo-order-number,.photo-primary-badge,.photo-removal-badge{position:absolute;z-index:2;border-radius:.35rem;font-size:.68rem;font-weight:800;line-height:1;padding:.35rem .42rem}
.photo-drag-handle{top:.4rem;left:.4rem;background:rgba(16,34,53,.72);color:#fff;cursor:grab;font-size:.9rem}
.photo-order-number{bottom:.4rem;left:.4rem;background:rgba(16,34,53,.76);color:#fff}
.photo-primary-badge{top:.4rem;right:.4rem;background:#1769aa;color:#fff}
.photo-removal-badge{top:.4rem;right:.4rem;background:#fff5d8;color:#6a4a00}
.photo-tile-actions{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:.3rem;padding:1.6rem .35rem .35rem;background:linear-gradient(to top,rgba(16,34,53,.72),transparent);opacity:0;transition:opacity .15s ease}
.memorial-photo-tile:hover .photo-tile-actions,.memorial-photo-tile:focus-within .photo-tile-actions{opacity:1}
@media(hover:none){.photo-tile-actions{opacity:1}}
.photo-tile-actions button,.photo-star-control{display:grid!important;place-items:center;width:2rem!important;height:2rem!important;min-width:2rem!important;padding:0!important;border:0;border-radius:.4rem;background:rgba(255,255,255,.94)!important;color:#1769aa!important;box-shadow:none!important;cursor:pointer}
.photo-star-control input{position:absolute;opacity:0;pointer-events:none}.photo-star-control:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.photo-details-editor{border-top:1px solid var(--line);background:#fff}.photo-details-editor summary{padding:.6rem .7rem;color:#1769aa;font-size:.82rem;font-weight:800;cursor:pointer}.photo-details-editor>div{display:grid;gap:.65rem;padding:0 .7rem .75rem}.photo-details-editor label{display:grid;gap:.25rem;font-size:.78rem;font-weight:700}.photo-details-editor input{width:100%;min-width:0}
.external-media-inline{margin-top:1.35rem;padding-top:1.25rem;border-top:1px solid var(--line)}.external-media-inline h3{margin:0 0 .25rem;color:var(--navy)}
.current-song-preview{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(260px,1fr);align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--line);border-radius:.65rem;background:#f8fafb}.current-song-preview>div{display:grid;gap:.2rem}.current-song-preview audio{width:100%}
.editor-date-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.compact-date-field{min-width:0}.compact-date-controls{display:grid;grid-template-columns:.9fr 1.35fr .75fr;gap:.45rem}.compact-date-controls label{display:grid;gap:.25rem;font-size:.76rem}.compact-date-controls input,.compact-date-controls select{min-width:0;padding:.55rem .5rem}
.live-preview-heading-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.live-preview-heading-row p{margin:0}
.memorial-live-preview{overflow:hidden;border:1px solid var(--line);border-radius:.7rem;background:#fff}.memorial-live-preview>img{display:block;width:100%;height:min(38vw,300px);object-fit:cover}.memorial-live-preview>.large-placeholder{border-radius:0;margin:0;width:100%;height:240px}.memorial-live-preview>div:last-child{padding:1rem}.memorial-live-preview h2{margin:0 0 .25rem;color:var(--navy);font-family:Georgia,"Times New Roman",serif}.memorial-live-preview p{margin:.2rem 0}
.memorial-editor-bottom-bar{position:sticky;bottom:0;z-index:20;margin-top:1.5rem;padding:.7rem 0;background:rgba(251,248,243,.94);backdrop-filter:blur(7px);border-top:1px solid var(--line)}.memorial-editor-bottom-bar>.container{display:flex;justify-content:flex-end;gap:.65rem}
.memorial-draft-preview-page .page-heading{margin-bottom:1.5rem}.memorial-draft-full-preview{max-width:900px;margin-inline:auto}.memorial-draft-full-preview>h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:2.3rem}.memorial-draft-full-preview .memory-highlights dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.memorial-draft-full-preview .memory-highlights dl>div{padding:.8rem;border:1px solid var(--line);border-radius:.6rem}.memorial-draft-full-preview .memory-highlights dt{font-weight:800;color:var(--navy)}.memorial-draft-full-preview .memory-highlights dd{margin:.2rem 0 0}
@media(max-width:920px){.memorial-editor-layout{grid-template-columns:1fr}.memorial-editor-nav{position:static;display:flex;overflow-x:auto;gap:.25rem;padding:.45rem}.memorial-editor-nav-heading,.memorial-editor-nav p{display:none}.memorial-editor-nav a{white-space:nowrap;flex:0 0 auto}.editor-date-grid{grid-template-columns:1fr}}
@media(max-width:700px){.memorial-editor-heading{display:grid}.memorial-editor-heading-actions{display:grid;grid-template-columns:1fr;width:100%;justify-content:stretch}.memorial-editor-heading-actions form,.memorial-editor-heading-actions .button{width:100%}.editor-grid-2,.editor-grid-3{grid-template-columns:1fr}.memorial-editor-card-body{padding:1rem}.memorial-photo-sort-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-photo-upload{justify-content:stretch}.compact-photo-upload .button{width:100%}.compact-photo-upload .hint{text-align:left}.current-song-preview{grid-template-columns:1fr}.compact-date-controls{grid-template-columns:1fr 1.3fr .75fr}.live-preview-heading-row{align-items:stretch;flex-direction:column}.memorial-editor-bottom-bar>.container{display:grid;grid-template-columns:1fr 1fr}.memorial-editor-bottom-bar .button,.memorial-editor-bottom-bar form,.memorial-editor-bottom-bar button{width:100%}.photo-tile-actions{opacity:1}.photo-tile-actions button,.photo-star-control{width:2rem!important}.memorial-draft-full-preview .memory-highlights dl{grid-template-columns:1fr}}
@media(max-width:440px){.memorial-photo-sort-grid{grid-template-columns:1fr}.memorial-editor-bottom-bar>.container{grid-template-columns:1fr}}

/* Public resource library */
.resource-page{background:#fbf8f3}.resource-hero{padding:clamp(1rem,3vw,1.75rem) 0;background:linear-gradient(180deg,#f4f2ed 0%,#fbf8f3 100%);border-bottom:1px solid var(--line)}
.resource-hero-inner{max-width:1180px}.resource-hero-visual{overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:#f4f2ed;box-shadow:0 12px 34px rgba(16,34,53,.07)}.resource-hero-media{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover}
.resource-library{background:#fff}.resource-library-heading{max-width:62rem;margin-bottom:1.75rem}.resource-library-heading .eyebrow{margin-bottom:.35rem}.resource-library-disclaimer{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.65}.resource-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.resource-card{display:flex;min-height:245px;flex-direction:column;justify-content:space-between;gap:1.2rem;padding:1.35rem;border:1px solid var(--line);border-radius:.85rem;background:#fff;box-shadow:0 8px 24px rgba(16,34,53,.04)}.resource-card h3,.resource-card h4,.home-resource-card h3{margin:.25rem 0 .65rem;font-size:1.25rem}.resource-card h3 a,.resource-card h4 a,.home-resource-card h3 a{color:var(--navy);text-decoration:none}.resource-card h3 a:hover,.resource-card h4 a:hover,.home-resource-card h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}.resource-card p,.home-resource-card p{line-height:1.65}.resource-card-meta{margin:0;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.resource-card-link{display:inline-flex;align-items:center;gap:.35rem;color:#1769aa;font-weight:800;text-decoration:none}.resource-card-link:hover{text-decoration:underline;text-underline-offset:.18em}
.resource-cta{padding:clamp(2.5rem,6vw,4rem) 0;background:#f5f1ea;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.resource-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.resource-cta h3{margin:.2rem 0 .55rem;color:var(--navy)}.resource-cta p{max-width:45rem;margin:0;color:var(--muted)}.resource-cta .eyebrow{color:var(--gold-dark)}.resource-cta-actions{display:flex;gap:.7rem;flex:0 0 auto}
.resource-article-shell{padding:1.5rem 0 clamp(3rem,8vw,6rem);background:#fbf8f3}.resource-article-container{max-width:940px}.resource-breadcrumb{margin-bottom:1.25rem;padding-top:0;padding-bottom:0}.resource-article{overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:0 14px 38px rgba(16,34,53,.055)}.resource-article-header{padding:clamp(1.6rem,5vw,3.3rem) clamp(1.35rem,6vw,4rem) clamp(1.3rem,4vw,2.2rem);border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff 0%,#fcfaf6 100%)}.resource-article-header h1{max-width:18ch;margin:.25rem 0 1rem;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3.5vw,2.75rem);line-height:1.14;letter-spacing:-.018em}.resource-article-intro{max-width:48rem;margin:0;color:#46504d;font-size:1.1rem;line-height:1.75}.resource-article-meta{margin:1.1rem 0 0;color:var(--muted);font-size:.87rem;font-weight:700}.resource-article-body{max-width:760px;margin:0 auto;padding:clamp(1.5rem,5vw,3.5rem) clamp(1.35rem,5vw,2.2rem);font-size:1.03rem;line-height:1.78}.resource-article-body h2{margin:2.3rem 0 .75rem;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.45rem,3vw,1.85rem)}.resource-article-body h2:first-child{margin-top:0}.resource-article-body p{margin:0 0 1.15rem}.resource-article-body ul,.resource-article-body ol{margin:.5rem 0 1.35rem;padding-left:1.55rem}.resource-article-body li{margin:.45rem 0}.resource-article-body a{font-weight:750;text-underline-offset:.16em}.resource-related{margin-top:2.2rem;padding-top:2rem;border-top:1px solid var(--line)}.resource-related h2{margin:.2rem 0 1rem}.resource-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.resource-related-card{display:grid;gap:.5rem;padding:1rem;border:1px solid var(--line);border-radius:.75rem;background:#fff;color:inherit;text-decoration:none}.resource-related-card strong{color:var(--navy)}.resource-related-card span{color:var(--muted);font-size:.91rem;line-height:1.55}.resource-related-card:hover{border-color:rgba(24,61,54,.35);box-shadow:0 8px 24px rgba(16,34,53,.05)}.resource-article-cta{margin-top:2rem;padding:clamp(1.3rem,4vw,2.2rem);border-radius:.9rem;background:#f1eee6;text-align:center}.resource-article-cta h2{margin:.1rem 0 .6rem}.resource-article-cta p{max-width:42rem;margin:0 auto 1.15rem;color:var(--muted);line-height:1.65}
.home-resources{background:#fff}.home-resources-heading{margin-bottom:1.4rem}.home-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.home-resource-card{display:flex;flex-direction:column;min-height:250px;padding:1.25rem;border:1px solid var(--line);border-radius:.8rem;background:#fbfaf7}.home-resource-card>.resource-card-link{margin-top:auto;padding-top:.8rem}.text-link{color:#1769aa;font-weight:800;text-decoration:none}.text-link:hover{text-decoration:underline;text-underline-offset:.18em}
@media(max-width:900px){.resource-card-grid{grid-template-columns:1fr}.resource-cta-inner{display:grid}.resource-cta-actions{justify-self:start}.resource-related-grid,.home-resource-grid{grid-template-columns:1fr}.home-resource-card{min-height:0}}
@media(max-width:600px){.resource-hero{padding:.75rem 0}.resource-hero-visual{border-radius:.75rem}.resource-cta-actions{display:grid;width:100%}.resource-cta-actions .button{width:100%}.resource-article-shell{padding-top:1rem}.resource-article-header h1{max-width:none}.resource-article{border-radius:.75rem}.resource-related-grid{grid-template-columns:1fr}.home-resources-heading{display:grid}.home-resources-heading .text-link{justify-self:start}}

.resource-category{margin-top:2.4rem}.resource-category:first-of-type{margin-top:0}.resource-category-heading{max-width:52rem;margin:0 0 1rem}.resource-category-heading h3{margin:0 0 .35rem;color:var(--navy);font-size:1.45rem}.resource-category-heading p{margin:0;color:var(--muted);line-height:1.65}.resource-information-notice{margin:0 0 1.5rem;padding:1rem 1.1rem;border:1px solid var(--line);border-left:4px solid #1769aa;border-radius:.55rem;background:#f7fafc}.resource-information-notice strong{display:block;margin-bottom:.3rem;color:var(--navy)}.resource-information-notice p{margin:0;line-height:1.6}.resource-sources{width:calc(100% - 2.7rem);max-width:760px;margin:0 auto clamp(1.6rem,4vw,2.6rem);padding:1.2rem 1.35rem;border:1px solid var(--line);border-radius:.7rem;background:#fbfaf7;box-shadow:0 6px 18px rgba(16,34,53,.035)}.resource-sources h2{margin:0 0 .45rem;color:var(--navy);font-size:1.12rem}.resource-sources p{margin:0 0 .8rem;color:var(--muted);font-size:.9rem;line-height:1.55}.resource-sources ul{margin:.2rem 0 0;padding-left:1.25rem}.resource-sources li{margin:.35rem 0;line-height:1.5}.resource-sources a{overflow-wrap:anywhere}

/* Admin release identifier beside the AngelFur header logo. */
.admin-header-version{display:inline-flex;align-items:center;margin-left:.55rem;padding:.18rem .45rem;border:1px solid rgba(16,34,53,.16);border-radius:.45rem;background:rgba(255,255,255,.62);color:var(--muted);font-family:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:.7rem;font-weight:700;line-height:1;white-space:nowrap}
@media(max-width:780px){.admin-header-version{margin-left:.4rem;padding:.16rem .35rem;font-size:.64rem}}

/* Public user guide */
.user-guide-section{padding-top:2.5rem}
.user-guide-container{width:min(920px,calc(100% - 2rem))}
.user-guide-header{max-width:760px;margin:1.1rem 0 1.5rem}
.user-guide-header h1{margin:.2rem 0 .55rem}
.user-guide-lead{max-width:700px;margin:.2rem 0;font-size:1.08rem;color:#465261}
.user-guide-toc{margin:0 0 2rem;padding:1.2rem 1.35rem;border:1px solid var(--line);border-radius:.7rem;background:#f8fafb}
.user-guide-toc h2{margin:0 0 .7rem;font-size:1.3rem}
.user-guide-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1.5rem;margin:0;padding-left:1.4rem}
.user-guide-toc li{padding:.12rem 0}
.user-guide-toc a{font-weight:700}
.user-guide-document{max-width:820px}
.user-guide-document h2{margin:2.4rem 0 .8rem;padding-top:.35rem;border-top:1px solid var(--line);scroll-margin-top:6rem}
.user-guide-document h2:first-child{margin-top:0}
.user-guide-document h3{margin:1.55rem 0 .55rem;scroll-margin-top:6rem}
.user-guide-document p{margin:.6rem 0 1rem}
.user-guide-document ul,.user-guide-document ol{margin:.55rem 0 1.2rem;padding-left:1.55rem}
.user-guide-document li{margin:.3rem 0}
.user-guide-document code{padding:.08rem .3rem;border-radius:.25rem;background:#eef2f4;font-size:.92em}
.user-guide-document hr{margin:2.2rem 0;border:0;border-top:1px solid var(--line)}
.user-guide-footer-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:2.4rem 0 .5rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.dashboard-page-heading .heading-links{flex-wrap:wrap}
@media(max-width:700px){
  .user-guide-section{padding-top:1.75rem}
  .user-guide-container{width:min(100% - 1.35rem,920px)}
  .user-guide-toc ol{grid-template-columns:1fr}
  .user-guide-footer-actions .button{width:100%}
}
/* 5.6.114 accessibility and acknowledged-notification lifecycle. */
.memorial-content-section[tabindex="-1"],.memorial-story-layout[tabindex="-1"]{outline:none}
.memorial-content-section[tabindex="-1"]:focus-visible,.memorial-story-layout[tabindex="-1"]:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.notification-history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0 .85rem}
.notification-history-toolbar .field-help{margin:0}
.notification-history-toolbar form,.notification-item-actions form{margin:0}
.notification-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}
@media(max-width:700px){.notification-history-toolbar{align-items:stretch;flex-direction:column}.notification-item-actions{width:100%;justify-content:flex-start}.notification-item-actions .button,.notification-history-toolbar .button{width:100%}}


/* 5.6.117 homepage process visuals and AngelFur differentiation */
.home-how-heading{max-width:760px;margin-inline:auto}
.home-how-time{display:inline-flex;align-items:center;gap:.45rem;margin:.7rem 0 0;padding:.38rem .7rem;border:1px solid rgba(16,34,53,.12);border-radius:999px;background:#fbfaf7;color:var(--muted);font-size:.9rem;font-weight:750}
.home-how-time svg{flex:0 0 auto;color:var(--gold-dark)}
.home-how-grid{position:relative;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0 0;padding:0;border:0}
.home-how-grid::before{content:"";position:absolute;top:2.55rem;left:16.666%;right:16.666%;height:2px;background:linear-gradient(90deg,rgba(143,95,0,.24),rgba(16,34,53,.2),rgba(143,95,0,.24));z-index:0}
.home-how-step{position:relative;display:flex;min-width:0;flex-direction:column;padding:0 1rem;text-align:center}
.home-how-step+ .home-how-step{border:0}
.home-how-icon{position:relative;z-index:1;display:grid;place-items:center;width:5.1rem;height:5.1rem;margin:0 auto 1rem;border:1px solid rgba(16,34,53,.13);border-radius:50%;background:#fff;color:var(--navy);box-shadow:0 7px 20px rgba(16,34,53,.06)}
.home-how-icon>svg{width:2rem;height:2rem}
.home-how-number{position:absolute;top:-.35rem;right:-.1rem;display:grid;place-items:center;width:1.75rem;height:1.75rem;margin:0;border:3px solid #fff;border-radius:50%;background:var(--gold-dark);color:#fff;font-size:.72rem;font-weight:850}
.home-how-step h3{margin:0 0 .55rem;font-size:1.17rem}
.home-how-step>p{margin:0 auto;color:var(--muted);line-height:1.62}
.home-how-preview{display:flex;align-items:center;justify-content:center;min-height:5.65rem;margin-top:1.05rem;padding:.75rem;border:1px solid rgba(16,34,53,.1);border-radius:.75rem;background:#fbfaf7;overflow:hidden}
.home-how-preview-write{display:grid;grid-template-columns:1fr;align-content:center;gap:.38rem;text-align:left}
.preview-label{color:var(--navy);font-size:.7rem;font-weight:800}
.preview-field{display:block;width:100%;height:.5rem;border-radius:999px;background:#dde3e6}
.preview-field-short{width:52%}.preview-field-medium{width:78%}
.home-how-preview-gallery{gap:.42rem}
.preview-photo{display:grid;place-items:center;width:25%;height:2.7rem;border-radius:.38rem;background:#dfe5e7;color:var(--gold-dark);font-family:Georgia,"Times New Roman",serif}
.preview-photo-main{width:42%;height:3.7rem;background:#f1e9dc;font-size:1.4rem}
.home-how-preview-share{flex-wrap:wrap;gap:.45rem}
.preview-link{flex:1 1 100%;padding:.42rem .55rem;border-radius:.4rem;background:#fff;color:var(--muted);font-size:.68rem;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preview-share-dot{display:block;width:1.65rem;height:1.65rem;border-radius:50%;background:#dfe5e7}
.preview-share-dot:nth-last-child(2){background:#eee2cc}

.home-why{background:#fbf8f3;border-top:1px solid rgba(16,34,53,.07);border-bottom:1px solid rgba(16,34,53,.07)}
.home-why-heading{max-width:760px;margin-inline:auto}
.home-why-heading>p:last-child{max-width:650px;margin:.55rem auto 0;color:var(--muted)}
.home-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}
.home-why-card{min-width:0;padding:1.4rem;border:1px solid rgba(16,34,53,.12);border-radius:.85rem;background:#fff;box-shadow:0 8px 26px rgba(16,34,53,.045)}
.home-why-card-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;margin-bottom:1rem;border-radius:.7rem;background:#f5eee2;color:var(--gold-dark)}
.home-why-card-icon svg{width:1.65rem;height:1.65rem}
.home-why-vs{margin:0 0 .35rem;color:var(--gold-dark);font-size:.76rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
.home-why-card h3{margin:0 0 .55rem;font-size:1.18rem}
.home-why-card>p:last-child{margin:0;color:var(--muted);line-height:1.65}
.home-why .home-values{margin:1.4rem 0 0;padding:1.15rem 1.25rem;border:1px solid rgba(16,34,53,.1);border-radius:.8rem;background:rgba(255,255,255,.66)}
.home-why .home-values strong{font-size:1.08rem}

@media(max-width:760px){
  .home-how-grid{grid-template-columns:1fr;gap:1.35rem;margin-top:1.75rem}
  .home-how-grid::before{top:2.55rem;bottom:2.55rem;left:2.55rem;right:auto;width:2px;height:auto;background:linear-gradient(180deg,rgba(143,95,0,.24),rgba(16,34,53,.2),rgba(143,95,0,.24))}
  .home-how-step{display:grid;grid-template-columns:5.1rem minmax(0,1fr);column-gap:1rem;padding:0;text-align:left}
  .home-how-icon{grid-row:1/5;grid-column:1;margin:0}
  .home-how-step h3,.home-how-step>p,.home-how-preview{grid-column:2;margin-left:0;margin-right:0}
  .home-how-step h3{align-self:end}
  .home-how-preview{width:100%;margin-top:.85rem}
  .home-why-grid{grid-template-columns:1fr}
  .home-why .home-values{grid-template-columns:1fr;gap:.9rem}
}
@media(max-width:500px){
  .home-how-step{grid-template-columns:4.4rem minmax(0,1fr);column-gap:.8rem}
  .home-how-icon{width:4.4rem;height:4.4rem}
  .home-how-grid::before{left:2.2rem;top:2.2rem;bottom:2.2rem}
  .home-how-icon>svg{width:1.8rem;height:1.8rem}
}

/* 5.6.122 themed media controls: keep native accessibility while matching AngelFur forms. */
.form-stack input[type=file],.stacked-form input[type=file]:not([type=hidden]){min-height:3rem;padding:.35rem;border:1px solid #8a9590;border-radius:.65rem;background:#fff;color:var(--muted);font-weight:500;cursor:pointer}
.form-stack input[type=file]::file-selector-button,.stacked-form input[type=file]:not([type=hidden])::file-selector-button{min-height:2.25rem;margin:-.35rem .75rem -.35rem -.35rem;padding:.55rem .9rem;border:0;border-right:1px solid var(--line);border-radius:.55rem 0 0 .55rem;background:var(--forest);color:#fff;font:inherit;font-weight:750;cursor:pointer;transition:background-color .16s ease}
.form-stack input[type=file]:hover::file-selector-button,.stacked-form input[type=file]:not([type=hidden]):hover::file-selector-button{background:var(--forest-2)}
.form-stack input[type=file]:focus-visible,.stacked-form input[type=file]:not([type=hidden]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.site-audio-player{display:block;width:100%;max-width:760px;padding:.3rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface-soft);box-shadow:inset 0 1px 0 rgba(255,255,255,.7);accent-color:var(--forest);color-scheme:light}
.current-song-preview .site-audio-player{max-width:none}
@media(max-width:520px){.form-stack input[type=file],.stacked-form input[type=file]:not([type=hidden]){font-size:.92rem}.form-stack input[type=file]::file-selector-button,.stacked-form input[type=file]:not([type=hidden])::file-selector-button{margin-right:.55rem;padding-left:.7rem;padding-right:.7rem}}
