:root{--navy:#142c4c;--deep:#10243e;--blue:#315d8b;--pale:#e9f0f5;--cream:#fbf8f2;--gold:#b59258;--ink:#253447;--muted:#627082;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--script:'Great Vibes',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip-link{position:absolute;top:-100px;left:15px;background:white;padding:12px;z-index:100}.skip-link:focus{top:10px}.topline{background:var(--deep);color:#e8e2d6;letter-spacing:.15em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:22px;font-size:10px;padding:11px 15px}.topline-cross{color:#d7b783}.site-header{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:14px clamp(22px,5vw,90px);background:#fcfaf6f5;backdrop-filter:blur(14px);box-shadow:0 2px 18px #152e4810}.brand{text-decoration:none;display:flex;align-items:center;gap:13px;color:var(--navy);font-size:12px;letter-spacing:.08em}.brand-monogram{height:37px;width:37px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font:italic 16px var(--serif)}.nav-links{display:flex;align-items:center;gap:clamp(14px,2.5vw,36px)}.nav-links a{text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.12em;font-weight:700}.nav-links a:hover{color:var(--gold)}.menu-toggle{display:none;border:0;background:transparent;font-size:26px;color:var(--navy)}.hero{background:radial-gradient(ellipse at 80% 33%,#e3eaf2 0%,transparent 55%),linear-gradient(145deg,#f7f8f8 0%,#dfeaf3 100%);overflow:hidden;position:relative}.hero:before{content:'';position:absolute;inset:0;opacity:.3;pointer-events:none;background-image:radial-gradient(#8aa7bd 0.7px,transparent .7px);background-size:15px 15px;mask-image:linear-gradient(90deg,transparent 10%,black 90%)}.hero-stars{position:absolute;color:#b59258;top:7%;left:49%;letter-spacing:10px;font-size:17px}.hero-inner{max-width:1320px;min-height:680px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6%;padding:75px clamp(25px,7vw,95px) 60px;position:relative}.hero-copy{position:relative;z-index:2}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700}.intro-script{color:var(--blue);font-size:43px;margin:30px 0 2px}.script{font-family:var(--script)}h1,h2,h3,p{margin-top:0}.hero h1{font:500 clamp(52px,5.25vw,84px)/1.16 var(--serif);color:var(--navy);letter-spacing:-.05em;margin:0}.hero h1 em,h2 em{font-style:italic;font-weight:400;color:var(--blue)}.nickname{font-size:14px;letter-spacing:.045em;color:#5b7084;margin:24px 0}.gold-rule{width:78px;height:1px;background:var(--gold);margin:29px 0}.life-dates{display:flex;align-items:center;gap:23px;color:var(--navy);font:600 17px var(--serif)}.life-dates span{display:grid}.life-dates small{font:700 10px var(--sans);color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}.life-dates .date-divider{font:14px var(--serif);color:var(--gold)}.hero-line{font:italic 19px var(--serif);color:#4b6071;margin:35px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;text-decoration:none;font-weight:700;letter-spacing:.07em;font-size:11px;text-transform:uppercase;padding:17px 22px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--navy);color:white;border:1px solid var(--navy)}.button-outline{color:var(--navy);border:1px solid #aab8c6}.hero-visual{position:relative;min-height:530px;display:flex;justify-content:center;align-items:center}.portrait-halo{position:absolute;width:min(93%,500px);aspect-ratio:1;border-radius:50%;border:1px solid #ad956d;box-shadow:0 0 0 14px #ffffff50,0 0 0 15px #bb9d6d55;top:5%;left:3%}.hero-visual>img{position:relative;z-index:1;width:90%;max-width:470px;height:510px;object-fit:cover;object-position:50% 40%;border-radius:240px 240px 8px 8px;box-shadow:22px 24px 0 #ffffff88,0 28px 50px #243e5d3b}.visual-caption{position:absolute;z-index:2;bottom:-19px;right:-3%;min-width:200px;padding:16px 23px;background:#faf8f2ed;border-left:3px solid var(--gold);box-shadow:0 10px 30px #152e4815}.visual-caption .script{display:block;color:var(--navy);font-size:33px}.visual-caption>span:last-child{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.hero-bottom{background:var(--navy);color:white;display:flex;justify-content:center;align-items:center;gap:30px;padding:19px;font:italic 14px var(--serif);letter-spacing:.07em}.hero-bottom i{font-size:9px;color:var(--gold);font-style:normal}.quote-section{text-align:center;padding:90px 20px 88px;max-width:850px;margin:auto}.tiny-star{font-size:19px;color:var(--gold)}.quote-section p{font:italic clamp(23px,3vw,35px)/1.6 var(--serif);color:var(--navy);margin:20px 0}.quote-credit{color:var(--gold);text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:700}.section{padding:95px clamp(22px,6vw,90px)}.section-heading{text-align:center;margin:0 auto 57px;max-width:760px}.section-heading h2,.service-inner h2{font:500 clamp(34px,4vw,56px)/1.25 var(--serif);color:var(--navy);margin:12px 0}.section-heading>p:last-child{font-size:14px;color:var(--muted);line-height:1.8}.heading-decoration{color:var(--gold);padding-top:8px}.story-section{background:#fff}.story-grid{max-width:1160px;margin:auto;display:grid;grid-template-columns:.83fr 1.17fr;gap:7%;align-items:start}.story-image{position:relative;margin-top:12px}.story-image img{width:100%;max-height:655px;object-fit:cover;object-position:45% center;border-radius:210px 210px 0 0;filter:saturate(.84);box-shadow:15px 15px 0 #e4ebf2}.image-stamp{position:absolute;right:-22px;bottom:35px;background:var(--navy);color:#f1deba;letter-spacing:.12em;padding:16px 20px;font-size:12px}.story-text p{font-size:14px;line-height:1.95;color:#47566a;margin-bottom:19px}.story-text .dropcap:first-letter{font:65px/.8 var(--serif);float:left;color:var(--blue);padding:8px 8px 0 0}.legacy-trio{display:grid;grid-template-columns:repeat(3,1fr);max-width:1060px;margin:75px auto 45px;border-top:1px solid #dfdfd8;border-bottom:1px solid #dfdfd8}.legacy-trio>div{text-align:center;padding:32px 18px}.legacy-trio>div+div{border-left:1px solid #dfdfd8}.legacy-trio span{display:block;color:var(--gold);font:31px var(--serif);height:43px}.legacy-trio strong{font:600 24px var(--serif);color:var(--navy)}.legacy-trio p{font-size:12px;color:var(--muted);margin:8px 0 0}.family-remembrance{max-width:950px;margin:auto;text-align:center;background:#f4f7fa;padding:40px 7%;border-top:2px solid #bba16c}.family-remembrance h3{font:500 28px var(--serif);color:var(--navy)}.family-remembrance p{font-size:13px;line-height:1.9;color:#536477;margin:0}.memory-section{background:linear-gradient(145deg,#152f50,#24496e);color:#fff}.light-heading h2{color:white}.light-heading h2 em{color:#e5c89b}.light-heading>p:last-child{color:#c7d4e0}.collage{max-width:1170px;margin:auto;border:9px solid #ffffff1c;box-shadow:0 15px 45px #0003}.collage img{width:100%}.gallery-hint{text-align:center;color:#d2deeb;font-size:12px;margin:30px 0}.gallery-grid{max-width:1170px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.gallery-item{position:relative;background:#fff1;border:1px solid #ffffff3a;padding:0;cursor:pointer;overflow:hidden;color:white}.gallery-item img{width:100%;height:235px;object-fit:cover;transition:transform .3s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item span{position:absolute;bottom:0;left:0;right:0;text-align:left;background:linear-gradient(transparent,#071a2bdc);padding:24px 13px 12px;font-size:12px;font-weight:700}.tributes-section{background:#f8f6f0}.tribute-grid{max-width:1150px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tribute-card{background:white;border:1px solid #e9e2d6;padding:29px;display:flex;flex-direction:column;box-shadow:0 7px 30px #152e4807}.tribute-card.featured{background:var(--navy);color:white}.quote-mark{font:70px/.8 var(--serif);color:var(--gold)}.tribute-card p{font:italic 17px/1.8 var(--serif);flex:1}.tribute-by{margin-top:20px;padding-top:15px;border-top:1px solid #c3ae8d70;color:var(--gold);font-size:12px;font-weight:700}.tribute-note{text-align:center;margin:35px 0 0;color:var(--muted);font-size:12px}.tribute-note a{color:var(--blue);text-underline-offset:3px}.service-section{background:linear-gradient(#f9fbfbe8,#f9fbfbe8),radial-gradient(circle at top,#b2cee7,#dde9f0);text-align:center;padding:95px 24px}.service-inner{max-width:1020px;margin:auto}.service-date{font:italic 24px var(--serif);color:var(--navy);margin:22px 0 42px}.service-date span{display:block;font:500 37px var(--serif);margin-top:8px}.service-detail-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr;border:1px solid #ced9e0;margin-bottom:35px;background:#fff9}.service-detail-grid>div{padding:28px 20px}.service-detail-grid>div+div{border-left:1px solid #ced9e0}.service-icon{font-size:24px;color:var(--gold)}.service-detail-grid h3{margin:11px 0;font:600 21px var(--serif);color:var(--navy)}.service-detail-grid p{line-height:1.8;font-size:13px;margin:0}.repass{margin-top:50px;padding-top:35px;border-top:1px solid #cdd9e2}.repass h3{font:500 30px var(--serif);color:var(--navy);margin:10px 0}.repass p{font-size:14px;line-height:1.8}.repass a{font-size:12px;color:var(--blue);font-weight:700}.program-section{background:white}.program-list{max-width:920px;margin:auto}.program-list>div{display:grid;grid-template-columns:35px 1fr 1fr;gap:18px;padding:15px 7px;border-bottom:1px solid #e7e7e2;align-items:center;font-size:13px}.program-list>div span:first-child{color:var(--gold);font-size:11px}.program-list strong{font-weight:600;color:var(--navy)}.program-list>div span:last-child{color:var(--muted)}.scripture{max-width:800px;margin:58px auto;text-align:center}.scripture>span{color:var(--gold);font-size:29px}.scripture p{font:italic 22px/1.6 var(--serif);color:var(--navy);margin:15px 0}.scripture small{color:var(--muted);font-size:11px}.program-extra{max-width:920px;margin:0 auto 46px;background:#f5f7f8;padding:27px 35px}.program-extra h3,.original-program h3{color:var(--navy);font:500 25px var(--serif)}.program-extra p,.original-program p{color:#526278;font-size:13px;line-height:1.85}.original-program{max-width:920px;margin:auto;text-align:center}.original-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.original-links a{padding:12px 15px;border:1px solid #bdcad6;color:var(--navy);font-size:11px;text-decoration:none;font-weight:700}.original-links a:hover{background:var(--navy);color:white}.closing{text-align:center;padding:95px 22px 85px;background:var(--deep);color:white}.closing-flower{color:#d1b789;font-size:28px}.closing>.script{font-size:44px;color:#e6c99b;margin:18px 0 0}.closing h2{font:500 clamp(37px,4.5vw,62px) var(--serif);margin:8px 0 20px}.closing>p:not(.script){max-width:560px;margin:0 auto 35px;color:#c4d0dd;line-height:1.9;font-size:14px}.closing-dates{font:600 11px var(--sans);letter-spacing:.14em;color:#e2c99b}.closing-dates span{margin:0 15px}.share-button{background:transparent;color:white;border:1px solid #a8bdcc;padding:13px 20px;margin-top:35px;cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.share-status{display:block;font-size:11px;min-height:18px;margin-top:10px;color:#e6c99b}footer{background:#091a2d;color:#a7b5c3;padding:24px clamp(22px,5vw,90px);display:flex;justify-content:space-between;gap:15px;font-size:11px}dialog{border:0;background:#0b1b2cf5;color:white;max-width:min(95vw,1100px);max-height:95vh;padding:32px 16px 12px;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#050e1dcc}dialog img{max-height:78vh;max-width:88vw;object-fit:contain;margin:auto}dialog p{text-align:center;font-size:11px;color:#cbd4df}#lightbox-close{position:absolute;right:4px;top:0;background:transparent;color:white;border:0;font-size:35px;cursor:pointer;padding:3px 12px}@media(max-width:900px){.hero-inner{gap:4%;padding:70px 30px}.hero h1{font-size:clamp(44px,6vw,65px)}.hero-visual{min-height:450px}.hero-visual>img{height:430px}.portrait-halo{top:8%}.story-grid{gap:5%}.tribute-grid{grid-template-columns:repeat(2,1fr)}.gallery-item img{height:170px}}@media(max-width:680px){.topline{gap:8px;font-size:8px;letter-spacing:.08em}.site-header{padding:12px 20px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fcfaf6;flex-direction:column;gap:0;padding:6px 0 17px;box-shadow:0 20px 20px #142c4c17}.nav-links.open{display:flex}.nav-links a{display:block;width:100%;padding:13px 25px}.hero-inner{grid-template-columns:1fr;padding:48px 23px 56px;gap:38px;min-height:0}.hero-copy{text-align:center}.hero-stars{display:none}.intro-script{font-size:35px;margin:4px 0}.hero h1{font-size:clamp(43px,11vw,66px)}.nickname{font-size:12px}.gold-rule{margin:23px auto}.life-dates{justify-content:center;gap:15px;font-size:14px}.hero-line{margin:25px 0}.hero-actions{justify-content:center}.hero-visual{min-height:0;max-width:460px;width:90%;margin:0 auto}.portrait-halo{top:5%;left:0}.hero-visual>img{height:420px;max-width:350px}.visual-caption{bottom:-20px;right:-10px}.hero-bottom{gap:15px;font-size:11px;padding:17px 10px}.quote-section{padding:68px 27px}.section{padding:68px 21px}.section-heading{margin-bottom:40px}.story-grid{grid-template-columns:1fr;gap:45px}.story-image{max-width:340px;margin:0 auto}.story-image img{max-height:430px}.story-text p{font-size:14px}.legacy-trio{margin:45px auto 28px}.legacy-trio>div{padding:25px 6px}.legacy-trio strong{font-size:18px}.legacy-trio p{font-size:10px;line-height:1.5}.family-remembrance{padding:32px 20px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:11px}.gallery-item img{height:195px}.tribute-grid{grid-template-columns:1fr}.service-date span{font-size:30px}.service-detail-grid{grid-template-columns:1fr}.service-detail-grid>div+div{border-left:0;border-top:1px solid #ced9e0}.program-list>div{grid-template-columns:25px 1fr;gap:8px 12px}.program-list>div span:last-child{grid-column:2}.program-extra{padding:22px}.closing-dates{font-size:9px;line-height:2}footer{flex-direction:column;text-align:center}.brand{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Edition II: editorial memorial design system, legibility, accessibility */
:root {--deep:#0b2338;--navy:#153554;--gold:#c5a66d;--sans:'DM Sans',sans-serif;--serif:'Playfair Display',Georgia,serif}
body{font-size:16px;background:#f9f8f5}
:focus-visible{outline:3px solid #c99f58!important;outline-offset:4px!important}
.section-heading>p:last-child,.story-text p,.family-remembrance p,.program-extra p,.original-program p,.service-detail-grid p,.repass p,.tribute-note{font-size:clamp(15px,1.15vw,17px);line-height:1.85}
.program-list>div{font-size:clamp(14px,1vw,16px);line-height:1.65}
.original-links a,.gallery-hint,.repass a,.share-button{font-size:14px}
.story-text p{max-width:70ch}
.tribute-card p{font-size:clamp(18px,1.4vw,21px)}
.tribute-by{font-size:13px}
.gallery-item{border-radius:4px}
.gallery-item:focus-visible{z-index:2}
.hero-visual>img{object-position:center 21%}
.legacy-story{background:#f0f4f5;padding:100px max(24px,calc((100vw - 1200px)/2));position:relative;overflow:hidden}
.legacy-story:before{content:'✦';position:absolute;right:-90px;top:-170px;color:#dfe7e8;font-size:440px;line-height:1;pointer-events:none}
.legacy-story-intro{max-width:710px;margin:0 auto 55px;text-align:center;position:relative}
.legacy-story-intro h2{font:500 clamp(35px,4.3vw,56px)/1.2 var(--serif);color:var(--navy);margin:14px 0 20px}
.legacy-story-intro h2 em{font-weight:400;color:#8a6745}
.legacy-story-intro>p:last-child{font-size:16px;line-height:1.8;color:#4f6070}
.legacy-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;position:relative}
.legacy-feature{background:white;border-top:3px solid #c9ae7b;padding:35px 30px;min-height:300px;box-shadow:0 15px 40px #1735520a}
.legacy-num{font-size:11px;letter-spacing:.14em;color:#836b44;font-weight:700}
.legacy-feature h3{font:500 29px/1.3 var(--serif);color:var(--navy);margin:26px 0 15px}
.legacy-feature p{font-size:15px;color:#516477;line-height:1.8}
.legacy-years{margin-top:45px;border-top:1px solid #c6d2d5;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:27px}
.legacy-years>div{display:flex;flex-direction:column;gap:8px;padding:0 13px}
.legacy-years strong{font:500 30px var(--serif);color:var(--navy)}
.legacy-years span{font-size:13px;line-height:1.6;color:#536477}
@media(max-width:800px){.legacy-story{padding:70px 24px}.legacy-story-grid{grid-template-columns:1fr;gap:12px}.legacy-feature{min-height:0;padding:28px}.legacy-years{grid-template-columns:repeat(2,1fr);gap:27px}}
@media(max-width:600px){.legacy-story-intro{margin-bottom:35px}.legacy-feature h3{font-size:25px}.legacy-years strong{font-size:26px}.hero-visual>img{object-position:center 20%}.gallery-item img{height:180px}.story-text p{font-size:16px}.service-detail-grid h3{font-size:23px}.service-detail-grid p{font-size:16px}.original-links a{font-size:13px}}

/* Edition III — original-image pledge: images are displayed in their entirety, never distorted or filtered. */
:root{--navy:#182d49;--deep:#101f35;--gold:#bd9961;--pale:#eaf2fa;--ink:#213047;--cream:#fdfaf5}
body{background:var(--cream)}
.topline{background:#132946}
.site-header{box-shadow:0 5px 25px rgba(11,28,49,.065)}
.hero{background:radial-gradient(ellipse at 95% 5%,#d9e8f7 0%,transparent 45%),linear-gradient(135deg,#fffdf9 0%,#ecf1f7 100%)}
.hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,.83fr);max-width:1250px;min-height:0;gap:8%;padding:75px clamp(26px,6vw,90px) 88px}
.hero h1{font-size:clamp(54px,5.3vw,80px);line-height:1.06;letter-spacing:-.055em}
.hero-visual.original-cover{min-height:0;width:100%;display:flex;flex-direction:column;gap:17px;align-items:center;justify-content:center}
.cover-mat{width:min(100%,420px);background:#fff;padding:10px;box-shadow:0 30px 60px #0e2c4a2c,0 2px 7px #0e2c4a12;transform:rotate(.8deg);transition:transform .25s}
.cover-mat:hover{transform:rotate(0)}
.hero-visual.original-cover img{width:100%;max-width:none;height:auto;max-height:none;object-fit:contain;object-position:center;border-radius:0;box-shadow:none;filter:none;transform:none;aspect-ratio:auto}
.original-caption{color:#637389;letter-spacing:.10em;font-size:10px;text-transform:uppercase;text-align:center;font-weight:700;margin:2px 0 0}
.original-caption span{color:var(--gold);margin-right:4px}
.hero-stars{display:none}
.hero-bottom{font-size:15px}
.story-grid{grid-template-columns:minmax(0,.67fr) minmax(0,1.15fr);gap:6%;max-width:1120px}
.story-image{align-self:start;position:sticky;top:105px;max-width:420px}
.story-image .obituary-sheet{display:block;text-decoration:none;box-shadow:12px 15px 35px #172e431a;border:8px solid white;background:white;transform:rotate(-.5deg);transition:transform .2s}
.story-image .obituary-sheet:hover{transform:rotate(0)}
.story-image img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;border-radius:0;filter:none;box-shadow:none;aspect-ratio:auto}
.paper-hint{display:block;padding:13px 8px 7px;text-align:center;color:var(--navy);font-weight:700;font-size:12px;letter-spacing:.02em}
.legacy-trio{margin-top:80px}
.memory-section{background:linear-gradient(150deg,#0f2540,#234b72)}
.collage{padding:9px;background:#fffdf9;border:0;box-shadow:0 25px 65px #06162565}
.collage img{width:100%;height:auto;max-height:none;object-fit:contain;filter:none;aspect-ratio:auto}
.gallery-hint{font-size:15px;line-height:1.7;margin:34px auto 28px;max-width:720px}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gallery-item{display:flex;flex-direction:column;min-width:0;border:1px solid #ffffff50;background:#ffffff10;text-align:left;transition:background .2s,transform .2s;color:white;padding:11px;box-shadow:none;cursor:zoom-in}
.gallery-item:hover{background:#ffffff21;transform:translateY(-4px)}
.gallery-thumb{display:flex;align-items:center;justify-content:center;width:100%;height:266px;background:#142a49;overflow:hidden}
.gallery-item .gallery-thumb img{width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%;filter:none;transition:none;transform:none}
.gallery-item:hover .gallery-thumb img{transform:none}
.gallery-item .gallery-label{position:static;background:none;padding:13px 2px 3px;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px;text-align:left}
.gallery-item .gallery-label span{position:static;background:none;padding:0;font-size:15px}
.tribute-card p{font-style:normal}
.legacy-feature{border-radius:2px}
.service-section{background:radial-gradient(ellipse at top right,#dceaf7,transparent 55%),#f7fafc}
.original-program{border-top:1px solid #e2e1de;padding-top:36px}
.original-links a{border-radius:2px}
dialog{width:min(96vw,1100px);height:min(95dvh,1000px);padding:48px 18px 16px;overflow:auto}
dialog img{width:auto;height:auto;max-width:100%;max-height:calc(95dvh - 180px);object-fit:contain;filter:none}
dialog .lightbox-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}
dialog .lightbox-actions a,dialog .lightbox-actions button{background:#183b5a;border:1px solid #7791a9;color:white;text-decoration:none;cursor:pointer;padding:10px 15px;font-size:12px}
dialog .lightbox-actions button:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:950px){.hero-inner{gap:4%;padding:60px 30px 76px}.cover-mat{width:min(100%,360px)}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-thumb{height:235px}}
@media(max-width:680px){.hero-inner{grid-template-columns:1fr;gap:38px;padding:50px 24px 65px}.hero-copy{text-align:center}.hero h1{font-size:clamp(48px,11.7vw,66px)}.cover-mat{max-width:350px;width:min(86%,350px)}.hero-visual.original-cover{max-width:none;width:100%}.hero-bottom{gap:12px}.story-grid{grid-template-columns:1fr}.story-image{position:static;max-width:350px;margin:0 auto}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-item{padding:6px}.gallery-thumb{height:196px}.gallery-item .gallery-label{font-size:12px;padding:11px 5px 7px}.original-caption{font-size:9px}.legacy-trio{margin-top:40px}dialog .lightbox-actions{flex-wrap:wrap}dialog .lightbox-actions button{flex:1}dialog .lightbox-actions a{order:3;width:100%;text-align:center}}
@media(max-width:375px){.gallery-thumb{height:170px}.topline{font-size:7px}.hero-bottom{font-size:10px}.life-dates{font-size:12px}}
@media(prefers-reduced-motion:reduce){.cover-mat,.gallery-item,.story-image .obituary-sheet{transition:none;transform:none!important}}

/* Celebration of Life slideshow */
.film-section{background:#f8f4ed;padding:clamp(68px,8vw,115px) 24px;position:relative}
.film-section::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 10% 0%,rgba(196,165,108,.11),transparent 52%);pointer-events:none}
.film-inner{position:relative;max-width:1100px;margin:0 auto}
.film-heading{max-width:725px;margin:0 auto 38px;text-align:center}
.film-heading .eyebrow{color:#977345}
.film-heading h2{font:500 clamp(34px,4.4vw,59px)/1.15 var(--serif);color:#1a304c;margin:13px 0 20px}
.film-heading h2 em{color:#98764d;font-weight:400}
.film-heading>p:last-child{font-size:16px;line-height:1.8;color:#586a79;margin:0 auto;max-width:640px}
.film-card{background:#15283f;padding:12px;box-shadow:0 24px 55px rgba(12,35,60,.19);border:1px solid rgba(182,152,100,.46)}
.memorial-video{display:block;width:100%;height:auto;aspect-ratio:910/512;background:#101b2a;object-fit:contain;outline-offset:5px}
.memorial-video:focus-visible{outline:3px solid #c7a26b}
.film-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#f7f0e4;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:17px 12px 6px}
.film-card-foot span:last-child{font-variant-numeric:tabular-nums;color:#d6b98a}
@media(max-width:620px){.film-section{padding:68px 16px}.film-heading{margin-bottom:27px}.film-heading h2{font-size:clamp(35px,9vw,46px)}.film-heading>p:last-child{font-size:15px}.film-card{padding:6px}.film-card-foot{padding:13px 7px 6px;font-size:10px}}
