@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_54de9d40-module__PGa0ja__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_54de9d40-module__PGa0ja__variable{--font-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/150f724d70372c02-s.1ljbalzvxyif7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/750c737482d9de2f-s.3ex3j6ahhvjry.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.40bho2kviej2o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_da1b4d42-module__dmGecW__className{font-family:Newsreader,Newsreader Fallback;font-style:normal}.newsreader_da1b4d42-module__dmGecW__variable{--font-serif:"Newsreader", "Newsreader Fallback"}
@theme inline{@keyframes accordion-down { from { height: 0; } to { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } } @keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } to { height: 0; } }}@custom-variant data-open{&:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) { @slot; }}@custom-variant data-closed{&:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) { @slot; }}@custom-variant data-checked{&:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) { @slot; }}@custom-variant data-unchecked{&:where([data-state="unchecked"]), &:where([data-unchecked]:not([data-unchecked="false"])) { @slot; }}@custom-variant data-selected{&:where([data-selected="true"]) { @slot; }}@custom-variant data-disabled{&:where([data-disabled="true"]), &:where([data-disabled]:not([data-disabled="false"])) { @slot; }}@custom-variant data-active{&:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) { @slot; }}@custom-variant data-horizontal{&:where([data-orientation="horizontal"]) { @slot; }}@custom-variant data-vertical{&:where([data-orientation="vertical"]) { @slot; }}@utility no-scrollbar{-ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar { display: none; }}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@theme inline{@keyframes scroll-fade-reveal-t { from { --scroll-fade-t: 0px; } to { --scroll-fade-t: var(--_scroll-fade-size-t,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } } @keyframes scroll-fade-reveal-b { from { --scroll-fade-b: var(--_scroll-fade-size-b,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } to { --scroll-fade-b: 0px; } } @keyframes scroll-fade-reveal-s { from { --scroll-fade-s: 0px; } to { --scroll-fade-s: var(--_scroll-fade-size-s,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } } @keyframes scroll-fade-reveal-e { from { --scroll-fade-e: var(--_scroll-fade-size-e,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } to { --scroll-fade-e: 0px; } }}@utility scroll-fade{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-block: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out, scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y), scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-y{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-block: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out, scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y), scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-x{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-inline: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-inline: linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); } -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-inline)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-inline)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out, scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self inline), scroll(self inline); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-t{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out; animation-timeline: scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); }}@utility scroll-fade-b{--_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-l{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out; animation-timeline: scroll(self x); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); }}@utility scroll-fade-r{--_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self x); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-s{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-mask: linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); } -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out; animation-timeline: scroll(self inline); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); }}@utility scroll-fade-e{--_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-mask: linear-gradient(to left, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); } -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self inline); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-*{--scroll-fade-size: calc(var(--spacing) * --value(integer)); --scroll-fade-size: --value([length], [percentage]);}@utility scroll-fade-t-*{--scroll-fade-t-size: calc(var(--spacing) * --value(integer)); --scroll-fade-t-size: --value([length], [percentage]);}@utility scroll-fade-b-*{--scroll-fade-b-size: calc(var(--spacing) * --value(integer)); --scroll-fade-b-size: --value([length], [percentage]);}@utility scroll-fade-s-*{--scroll-fade-s-size: calc(var(--spacing) * --value(integer)); --scroll-fade-s-size: --value([length], [percentage]);}@utility scroll-fade-e-*{--scroll-fade-e-size: calc(var(--spacing) * --value(integer)); --scroll-fade-e-size: --value([length], [percentage]);}@utility scroll-fade-none{--scroll-fade-mask: none;}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@theme inline{@keyframes tw-shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }}@utility shimmer{--_spread: var(--shimmer-spread,calc(3ch + 40px)); --_base: currentColor; --_highlight: var(--shimmer-color,oklch(from currentColor l c h / calc(alpha* .2))); background-image: var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread)))); background-repeat: no-repeat; background-size: calc(200% + var(--_spread) * 2) 100%; background-position: 0 0; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: var(--shimmer-text-fill,transparent); animation: tw-shimmer var(--shimmer-duration,2s) linear infinite; @variant dark { --_highlight: var(--shimmer-color,oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4))); } &:where([dir="rtl"], [dir="rtl"] *) { animation-direction: reverse; }}@utility shimmer-once{animation-iteration-count: 1;}@utility shimmer-reverse{animation-direction: reverse;}@utility shimmer-none{--shimmer-image: none; --shimmer-text-fill: currentColor;}@utility shimmer-color-*{--shimmer-color: --value(--color, [color]); --shimmer-color: color-mix(in oklch, --value(--color, [color]) calc(--modifier(integer) * 1%), transparent);}@utility shimmer-duration-*{--shimmer-duration: calc(--value(integer) * 1ms);}@utility shimmer-spread-*{--shimmer-spread: calc(var(--spacing) * --value(integer)); --shimmer-spread: --value([length], [percentage]);}@utility shimmer-angle-*{--shimmer-angle: calc(--value(integer) * 1deg);}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}
:root{--background:#f7f2e9;--foreground:#2c2925;--paper:#fffdf9;--card:#fffdf9;--card-foreground:#2c2925;--popover:#fffdf9;--popover-foreground:#2c2925;--primary:#247c79;--primary-foreground:#fff;--secondary:#e0eeec;--secondary-foreground:#155d5b;--muted:#efe9df;--muted-foreground:#726b62;--accent:#dcebea;--accent-foreground:#155d5b;--destructive:#b4232d;--border:#ded4c8;--input:#ded4c8;--ring:#247c79;--radius:.75rem;--cardinal-deep:#6c2027;--teal-deep:#155d5b;--teal-soft:#e7f2f0;--ink-muted:#726b62;--soft-line:#41322824}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);min-width:320px;color:var(--foreground);font-family:var(--font-sans), Arial, sans-serif;margin:0}a{color:inherit}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}section[id]{scroll-margin-top:76px}.section-paper{background:var(--paper)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:30;border-bottom:1px solid var(--soft-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f2e9e0;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(22px,6vw,90px);display:flex;position:sticky;top:0}.site-mark{color:#4d4741;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:12px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.site-mark-dot{background:var(--primary);border-radius:99px;width:9px;height:9px;box-shadow:15px -6px 0 -2px #247c7952}.site-header nav{gap:30px;display:flex}.site-header nav a{color:#5d574f;font-size:14px;text-decoration:none;transition:color .2s}.site-header nav a:hover{color:var(--primary)}.hero{grid-template-columns:minmax(0,1.03fr) minmax(340px,.97fr);align-items:center;gap:clamp(46px,6vw,88px);min-height:700px;padding:70px clamp(28px,8vw,122px) 88px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";border:1px solid #247c7924;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-250px;left:-270px}.hero-copy{z-index:1;position:relative}.eyebrow{color:var(--primary);letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}h1,h2,h3{font-family:var(--font-serif), Georgia, serif}h1{letter-spacing:-.05em;max-width:700px;margin:20px 0 18px;font-size:clamp(60px,7.4vw,108px);font-weight:500;line-height:.91}h1 em{color:var(--teal-deep);font-weight:400;display:block}.nickname{color:var(--teal-deep);font:italic 23px var(--font-serif), Georgia, serif;margin:0}.dates{color:#675f57;letter-spacing:.045em;margin:8px 0 0;font-size:14px}.hero-intro{max-width:610px;color:var(--ink-muted);font:400 22px/1.55 var(--font-serif), Georgia, serif;margin:24px 0 0}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.button{border-radius:99px;align-items:center;gap:9px;padding:14px 21px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:focus-visible{outline-offset:3px;outline:3px solid #247c7947}.button-primary{background:var(--primary);color:#fff;box-shadow:0 10px 24px #247c7933}.button-primary:hover{background:var(--teal-deep)}.button-secondary{color:var(--teal-deep);background:#ffffff5c;border:1px solid #155d5b47}.portrait-wrap{justify-self:center;width:min(100%,540px);margin:0;position:relative}.portrait{aspect-ratio:1.06;object-fit:cover;object-position:50% 42%;mix-blend-mode:multiply;filter:saturate(.92)contrast(.99);border-radius:0;width:100%;display:block}.portrait-wrap figcaption{background:var(--paper);color:var(--teal-deep);font:italic 21px var(--font-serif), Georgia, serif;border:1px solid #247c7938;padding:15px 22px;position:absolute;bottom:42px;right:-24px;box-shadow:0 12px 35px #3b281a1a}.about-section{grid-template-columns:.78fr 1.22fr;align-items:start;gap:clamp(50px,8vw,130px);padding:108px clamp(28px,8vw,122px);display:grid}.about-section h2,.section-heading h2,.condolence-copy h2,.approved-heading h2{letter-spacing:-.04em;margin:12px 0 0;font-size:clamp(45px,5vw,72px);font-weight:500;line-height:.98}.about-copy{max-width:730px;color:var(--ink-muted);font-size:17px;line-height:1.75}.about-copy p{margin:0 0 22px}.about-copy .about-lead{color:#554d46;font:400 29px/1.45 var(--font-serif), Georgia, serif}.music-section{padding:104px clamp(28px,8vw,122px) 92px}.song-card{background:var(--cardinal-deep);color:#fff;border-radius:26px;grid-template-columns:.72fr 1.28fr;width:min(1180px,100%);min-height:420px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 28px 70px #531d2238}.song-art{background:var(--paper);place-items:end center;min-height:360px;padding:0;display:grid;position:relative;overflow:hidden}.song-art:before,.song-art:after{content:"";border:1px solid #247c7924;border-radius:50%;position:absolute}.song-art:before{width:390px;height:390px;top:-90px;left:-160px}.song-art:after{width:250px;height:250px;bottom:-110px;right:-90px}.song-portrait{z-index:1;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply;filter:saturate(.95)contrast(1.01);width:100%;height:100%;max-height:460px;display:block;position:relative}.song-copy{flex-direction:column;justify-content:center;padding:58px;display:flex}.eyebrow-light{color:#efb7b8}.song-copy h2{margin:12px 0 14px;font-size:clamp(40px,4vw,56px);font-weight:500;line-height:1}.song-copy>p:not(.eyebrow){color:#ffffffc2;max-width:630px;line-height:1.7}.song-copy audio{display:none}.custom-player{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:18px;align-items:center;gap:14px;margin-top:24px;padding:16px;display:flex}.round-control,.icon-control,.floating-play,.floating-mute{cursor:pointer;border:0;place-items:center;display:grid}.round-control{width:48px;height:48px;color:var(--cardinal-deep);background:#fff;border-radius:50%;flex:0 0 48px}.round-control svg{width:20px;height:20px}.icon-control{color:#fff;background:0 0;border-radius:50%;width:36px;height:36px}.player-track{flex:1;align-items:center;display:flex}.player-track input{appearance:none;background:linear-gradient(to right, white var(--progress), #ffffff47 var(--progress));cursor:pointer;border:0;border-radius:99px;width:100%;height:4px}.player-track input::-webkit-slider-thumb{appearance:none;background:#fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 5px #00000040}.player-time{color:#ffffffb8;text-align:right;min-width:72px;font-size:11px}.song-download{color:#ffffffd6;text-underline-offset:4px;align-items:center;gap:8px;width:fit-content;margin-top:14px;font-size:13px;display:inline-flex}.rick-quote{border-left:2px solid var(--primary);color:#5a4b43;width:min(1180px,100%);font:italic 25px/1.45 var(--font-serif), Georgia, serif;margin:34px auto 0;padding-left:24px}.rick-quote cite{color:var(--primary);font:700 11px var(--font-sans), sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-top:10px;display:block}[data-slot=dialog-overlay]{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#221a189e;z-index:1000!important;position:fixed!important;inset:0!important}[data-slot=dialog-content]{max-width:calc(100% - 2rem);max-height:calc(100dvh - 2rem);overflow:auto;z-index:1001!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.entry-dialog{text-align:center;border:1px solid #247c792e;box-shadow:0 32px 110px #170d0c5c;background:var(--paper)!important;border-radius:26px!important;gap:0!important;width:min(560px,100% - 32px)!important;max-width:560px!important;padding:44px!important}.entry-ornament{width:66px;height:66px;color:var(--teal-deep);font:italic 37px var(--font-serif), Georgia, serif;border:1px solid #247c794d;border-radius:50% 50% 46% 54%;place-items:center;margin:0 auto 26px;display:grid}.entry-title{color:var(--foreground);margin-top:10px;font:500 54px/1 var(--font-serif), Georgia, serif!important}.entry-description{max-width:440px;margin:18px auto 0;color:var(--ink-muted)!important;font:400 18px/1.6 var(--font-serif), Georgia, serif!important}.entry-actions{justify-content:center;gap:12px;margin-top:30px;display:flex}.entry-primary,.entry-secondary{border-radius:99px!important;height:46px!important;padding:0 19px!important}.entry-primary{background:var(--primary)!important;color:#fff!important}.entry-secondary{color:var(--teal-deep)!important;border-color:#155d5b3d!important}.floating-player{z-index:40;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#40181df0;border:1px solid #ffffff29;border-radius:16px;align-items:center;gap:12px;min-width:300px;padding:11px 12px;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 18px 50px #2a131547}.floating-play{width:38px;height:38px;color:var(--cardinal-deep);background:#fff;border-radius:50%}.floating-player>div{flex:1;min-width:0;display:grid}.floating-player strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.floating-player span{color:#ffffffa6;margin-top:2px;font-size:10px}.floating-mute{color:#fff;background:0 0;border-radius:50%;width:34px;height:34px}.gallery-section{background:var(--teal-soft);padding:106px clamp(28px,8vw,122px) 118px}.section-heading{max-width:720px;margin-bottom:48px}.section-heading>p:not(.eyebrow){color:var(--ink-muted);margin:18px 0 0;font-size:17px;line-height:1.7}.gallery-actions{align-items:center;gap:16px;margin:-18px 0 30px;display:flex}.gallery-actions>span{color:var(--ink-muted);font-size:11px}.slideshow-start{box-shadow:0 9px 22px #247c7933;background:var(--primary)!important;color:#fff!important;border-radius:99px!important;height:44px!important;padding:0 19px!important;font-weight:700!important}.slideshow-start svg{fill:currentColor;width:16px;height:16px}.photo-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:120px;grid-auto-flow:dense;gap:14px;display:grid}.photo-tile{cursor:zoom-in;background:#d6e5e3;border:0;border-radius:16px;min-width:0;padding:0;position:relative;overflow:hidden}.photo-tile :is(img,video){object-fit:cover;filter:saturate(.88)contrast(.98);width:100%;height:100%;transition:transform .45s,filter .45s;display:block}.photo-tile:hover :is(img,video){filter:saturate();transform:scale(1.035)}.photo-expand{width:34px;height:34px;color:var(--teal-deep);opacity:0;background:#fffdf9e6;border-radius:50%;place-items:center;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:12px;right:12px;transform:translateY(4px)}.photo-expand svg{width:16px;height:16px}.photo-tile:hover .photo-expand,.photo-tile:focus-visible .photo-expand{opacity:1;transform:translateY(0)}.photo-tile:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.gallery-pagination{justify-content:center;align-items:center;gap:14px;margin-top:32px;display:flex}.gallery-pagination button{min-height:40px;color:var(--teal-deep);cursor:pointer;background:#fffdf9b8;border:1px solid #155d5b3d;border-radius:99px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:12px;font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.gallery-pagination button:hover:not(:disabled){background:#fff;transform:translateY(-1px)}.gallery-pagination button:disabled{cursor:not-allowed;opacity:.38}.gallery-pagination button svg{width:15px;height:15px}.gallery-pagination-status{min-height:40px;color:var(--ink-muted);align-items:center;gap:8px;padding:0 13px;font-size:12px;display:inline-flex}.gallery-pagination-status select{border:1px solid var(--soft-line);background:var(--paper);min-width:58px;height:34px;color:var(--teal-deep);font:inherit;border-radius:9px;padding:0 25px 0 10px;font-weight:700}.admin-gallery-pagination{margin-top:26px}.photo-tile-1{grid-area:span 4/span 5}.photo-tile-2{grid-area:span 2/span 4}.photo-tile-3,.photo-tile-4{grid-area:span 2/span 3}.photo-tile-5{grid-area:span 2/span 4}.photo-tile-6{grid-area:span 3/span 5}.photo-dialog{max-height:calc(100vh - 32px);background:#1f1c1a!important;border-radius:20px!important;width:min(1000px,100% - 32px)!important;max-width:1000px!important;padding:12px!important}.photo-dialog>:is(img,video){object-fit:contain;border-radius:12px;width:100%;max-height:calc(100vh - 56px);display:block}.photo-dialog [data-slot=dialog-close]{color:#2c2925;background:#ffffffe6}.slideshow-dialog{grid-template-rows:minmax(0,1fr) auto;height:min(88vh,900px);overflow:hidden;color:#fff!important;background:#171412!important;border:1px solid #ffffff1a!important;border-radius:22px!important;gap:0!important;width:min(1240px,100% - 32px)!important;max-width:1240px!important;padding:0!important;display:grid!important;box-shadow:0 38px 120px #0000007a!important}.slideshow-stage{background:radial-gradient(circle,#29231f,#100e0d 72%);place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.slideshow-stage>:is(img,video){object-fit:contain;width:100%;height:100%;min-height:0;animation:.55s both slideshow-fade;display:block}.slideshow-close,.slideshow-side,.slideshow-play-control{cursor:pointer;color:#fff;border:0}.slideshow-close{z-index:2;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#14110fb8;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;top:16px;right:16px}.slideshow-close:hover,.slideshow-side:hover{background:#247c79eb}.slideshow-close svg{width:19px;height:19px}.slideshow-side{z-index:2;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#14110f9e;border-radius:14px;place-items:center;width:48px;height:66px;transition:background .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.slideshow-side svg{width:25px;height:25px}.slideshow-previous{left:16px}.slideshow-next{right:16px}.slideshow-footer{background:#211d1a;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:24px;min-height:88px;padding:18px 22px;display:flex}.slideshow-copy{gap:5px;min-width:0;display:grid}.slideshow-copy [data-slot=dialog-description]{color:#ffffffc7;font:italic 17px var(--font-serif), Georgia, serif;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slideshow-copy>span{color:#ffffff7a;letter-spacing:.12em;font-size:10px;font-weight:700}.slideshow-play-control{background:var(--primary);border-radius:99px;justify-content:center;align-items:center;gap:8px;min-width:112px;height:42px;padding:0 16px;font-size:12px;font-weight:700;display:inline-flex}.slideshow-play-control:hover{background:var(--teal-deep)}.slideshow-play-control svg{width:15px;height:15px}.condolence-section{padding:112px clamp(28px,8vw,122px)}.condolence-grid{grid-template-columns:.82fr 1.18fr;align-items:start;gap:clamp(48px,7vw,110px);display:grid}.condolence-copy>p:not(.eyebrow){max-width:570px;color:var(--ink-muted);margin:24px 0 0;font-size:17px;line-height:1.75}.condolence-portrait{width:min(100%,530px);margin:24px 0 -4px;overflow:hidden}.condolence-portrait img{object-fit:contain;object-position:center bottom;mix-blend-mode:multiply;filter:saturate(.95)contrast(1.01);width:100%;max-height:470px;display:block}.moderation-note{border-top:1px solid var(--soft-line);color:#6b6258;gap:13px;max-width:570px;margin-top:30px;padding-top:24px;font-size:13px;line-height:1.6;display:flex}.moderation-note svg{width:17px;height:17px;color:var(--primary);flex:none;margin-top:2px}.condolence-form{border:1px solid var(--soft-line);background:#fff;border-radius:22px;padding:36px;box-shadow:0 22px 60px #3b281a14}.condolence-form h3{margin:0;font-size:34px;font-weight:500;line-height:1}.condolence-form>p{color:var(--ink-muted);margin:8px 0 27px;font-size:13px}.condolence-form label{gap:8px;margin-bottom:16px;display:grid}.condolence-form label>span{color:#514b44;font-size:12px;font-weight:700}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.condolence-form [data-slot=input],.condolence-form [data-slot=textarea]{background:#fdfbf7;border-color:#ddd4c9}.condolence-form [data-slot=input]{height:43px}.condolence-form [data-slot=textarea]{resize:vertical;min-height:135px}.photo-upload>span:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.photo-upload small{color:var(--ink-muted);font-size:10px;font-weight:500}.photo-upload-control{min-height:62px;color:var(--primary);background:#fdfbf7;border:1px dashed #cfc2b4;border-radius:12px;align-items:center;gap:10px;padding:9px 12px;display:flex}.photo-upload-control>svg{flex:none;width:20px;height:20px}.photo-picker-button{color:var(--teal-deep);cursor:pointer;background:#dfecea;border:0;border-radius:99px;flex:none;padding:9px 13px;font-size:11px;font-weight:800;transition:background .2s,transform .2s}.photo-picker-button:hover{background:#cfdfdc;transform:translateY(-1px)}.photo-picker-button:focus-visible{outline-offset:2px;outline:3px solid #247c7938}.photo-selection{color:#514b44;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.submit-message{width:100%;margin-top:2px;background:var(--primary)!important;color:#fff!important;border-radius:99px!important;height:46px!important;font-weight:700!important}.spin{animation:1s linear infinite spin}.form-success,.form-error{border-radius:10px;margin:18px 0 0;padding:12px 14px;font-size:13px;line-height:1.45}.form-success{color:#36583c;background:#eef5ed;align-items:flex-start;gap:8px;display:flex}.form-success svg{flex:none;width:16px;height:16px}.form-error{color:#8d252b;background:#faeeee}.approved-messages{margin-top:108px}.approved-intro{grid-template-columns:minmax(0,1fr) minmax(250px,370px);align-items:end;gap:clamp(28px,6vw,88px);max-width:1180px;margin-bottom:36px;display:grid}.approved-heading{max-width:720px}.approved-portrait{align-self:end;overflow:hidden}.approved-portrait img{object-fit:contain;object-position:center bottom;mix-blend-mode:multiply;filter:saturate(.95)contrast(1.01);width:100%;max-height:370px;display:block}.message-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.message-card{border:1px solid var(--soft-line);background:#f8f2e9;border-radius:18px;min-width:0;margin:0;overflow:hidden}.message-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;min-height:94px;padding:22px 24px;list-style:none;transition:background .2s;display:flex}.message-summary::-webkit-details-marker{display:none}.message-summary:hover{background:#247c790f}.message-summary:focus-visible{outline-offset:-3px;outline:3px solid #247c7940}.message-summary-author{gap:4px;min-width:0;display:grid}.message-summary-author strong{overflow-wrap:anywhere;color:var(--teal-deep);font-size:14px}.message-summary-author small{overflow-wrap:anywhere;color:var(--ink-muted);font-size:11px}.message-toggle{color:var(--teal-deep);white-space:nowrap;flex:none;align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}.message-toggle svg{width:16px;height:16px;transition:transform .2s}.message-card[open] .message-toggle svg{transform:rotate(180deg)}.message-card-body{border-top:1px solid var(--soft-line);padding:28px}.message-photos{background:#ded8cf;border-radius:18px 18px 0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;width:calc(100% + 56px);min-height:220px;max-height:430px;margin:-28px -28px 24px;display:grid;overflow-y:auto}.message-photos.single{display:block}.message-photo{object-fit:cover;width:100%;height:220px;display:block}.message-photos.single .message-photo{border-radius:0}.message-card-body>p{color:#554c45;font:italic 21px/1.55 var(--font-serif), Georgia, serif;overflow-wrap:anywhere;margin:0}.message-card-body footer{gap:3px;margin-top:24px;display:grid}.message-card-body footer strong{color:var(--teal-deep);font-size:13px}.message-card-body footer span{color:var(--ink-muted);font-size:11px}.empty-messages{color:var(--ink-muted);text-align:center;border:1px dashed #d8cdc0;border-radius:16px;margin:0;padding:28px}.site-footer{color:#ffffffc7;text-align:center;background:#174f4e;padding:72px 24px 82px}.footer-mark{color:#fff;width:44px;height:44px;font:italic 25px var(--font-serif), Georgia, serif;border:1px solid #ffffff42;border-radius:50%;place-items:center;margin:0 auto 22px;display:grid}.site-footer strong{color:#fff;font:italic clamp(31px, 4vw, 45px) var(--font-serif), Georgia, serif;display:block}.site-footer p{margin:11px 0 0;font-size:13px}.site-footer .footer-dates{color:#ffffff7a;letter-spacing:.06em;margin-top:6px;font-size:11px}.admin-link{color:#ffffff6b;letter-spacing:.12em;text-transform:uppercase;margin-top:28px;font-size:10px;text-decoration:none;display:inline-block}.admin-link:hover{color:#fff}.admin-shell{background:#f4f0e9;min-height:100vh}.admin-header{border-bottom:1px solid var(--soft-line);background:var(--paper);justify-content:space-between;align-items:center;gap:32px;min-height:112px;padding:24px clamp(24px,5vw,72px);display:flex}.admin-header>div:first-child{align-items:center;gap:17px;display:flex}.admin-logo{background:var(--teal-deep);color:#fff;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.admin-logo svg{width:23px;height:23px}.admin-header h1{color:#332e2a;font:500 34px/1 var(--font-serif), Georgia, serif;letter-spacing:-.025em;margin:4px 0 0}.admin-account{color:var(--ink-muted);align-items:center;gap:20px;font-size:12px;display:flex}.admin-account a{color:var(--teal-deep);align-items:center;gap:6px;font-weight:700;text-decoration:none;display:inline-flex}.admin-account a:hover{text-underline-offset:3px;text-decoration:underline}.admin-account svg{width:14px;height:14px}.admin-workspace{width:min(1180px,100% - 48px);margin:0 auto;padding:46px 0 80px}.analytics-heading{justify-content:space-between;align-items:end;gap:28px;display:flex}.analytics-heading h2{color:#332e2a;font:500 36px/1.05 var(--font-serif), Georgia, serif;letter-spacing:-.025em;margin:6px 0 0}.analytics-heading>span{max-width:380px;color:var(--ink-muted);text-align:right;font-size:11px;line-height:1.6}.analytics-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 34px;display:grid}.analytics-card{border:1px solid var(--soft-line);background:#fff;border-radius:18px;align-items:center;gap:17px;min-height:132px;padding:22px;display:flex;box-shadow:0 12px 34px #3b281a0d}.analytics-card>div{flex-direction:column-reverse;gap:7px;display:flex}.analytics-card strong{color:#332e2a;font:500 35px/1 var(--font-serif), Georgia, serif;letter-spacing:-.02em}.analytics-card>div>span{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.analytics-icon{width:42px;height:42px;color:var(--teal-deep);background:#e2efed;border-radius:50%;flex:none;place-items:center;display:grid}.analytics-icon svg{width:18px;height:18px}.analytics-card-primary{background:var(--teal-deep);border-color:#0000;box-shadow:0 15px 35px #155d5b33}.analytics-card-primary strong,.analytics-card-primary>div>span{color:#fff}.analytics-card-primary .analytics-icon{color:#fff;background:#ffffff21}.analytics-note{color:#8d252b;margin:-18px 0 28px;font-size:12px}.admin-section-tabs{border:1px solid var(--soft-line);background:#ebe4db;border-radius:14px;gap:5px;margin:0 0 28px;padding:5px;display:inline-flex}.admin-section-tabs button{color:#6f655b;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:0 18px;font-size:12px;font-weight:700;display:inline-flex}.admin-section-tabs button svg{width:16px;height:16px}.admin-section-tabs button.active{color:var(--teal-deep);background:#fff;box-shadow:0 5px 18px #3b281a14}.caption-manager-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px;display:flex}.caption-manager-heading h2{color:#332e2a;font:500 34px/1.05 var(--font-serif), Georgia, serif;letter-spacing:-.025em;margin:5px 0 8px}.caption-manager-heading p:last-child{color:var(--ink-muted);margin:0;font-size:12px;line-height:1.6}.caption-manager-heading [data-slot=button]{color:#554d46;background:#fff;border-color:#d7cdc1}.admin-gallery-upload{background:#edf6f4;border:1px solid #247c7938;border-radius:17px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;margin-bottom:20px;padding:18px;display:grid}.admin-gallery-upload-icon{background:var(--teal-deep);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.admin-gallery-upload-icon svg{width:20px;height:20px}.admin-gallery-upload-copy{gap:3px;min-width:0;display:grid}.admin-gallery-upload-copy strong{color:#315f5d;font-size:14px}.admin-gallery-upload-copy>span{color:var(--ink-muted);font-size:10px}.admin-gallery-upload-selection{margin-top:4px;font-weight:700;color:var(--teal-deep)!important}.admin-gallery-upload-actions{gap:8px;display:flex}.admin-gallery-upload-actions [data-slot=button]{border-radius:99px;min-height:40px;font-weight:700}.admin-gallery-upload-actions [data-slot=button]:last-of-type{background:var(--teal-deep);color:#fff}.caption-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.caption-card{border:1px solid var(--soft-line);background:#fff;border-radius:18px;grid-template-columns:168px minmax(0,1fr);min-width:0;display:grid;overflow:hidden;box-shadow:0 12px 34px #3b281a0d}.caption-card figure{background:#e9e1d7;min-height:230px;margin:0;position:relative;overflow:hidden}.caption-card figure :is(img,video){object-fit:cover;width:100%;height:100%;display:block}.caption-card figcaption{color:#fff;letter-spacing:.05em;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1b1714b8;border-radius:99px;padding:6px 9px;font-size:9px;font-weight:700;position:absolute;bottom:10px;left:10px}.caption-card form{flex-direction:column;min-width:0;padding:20px;display:flex}.caption-card label{color:#554d46;margin-bottom:8px;font-size:11px;font-weight:700}.removal-request-note{color:#76501e;overflow-wrap:anywhere;background:#fff3dc;border-radius:10px;align-items:center;gap:7px;margin:-5px 0 12px;padding:8px 10px;font-size:10px;font-weight:700;display:flex}.removal-request-note svg{flex:none;width:14px;height:14px}.caption-card textarea{resize:vertical;color:#413b36;min-height:112px;font:400 15px/1.5 var(--font-serif), Georgia, serif;background:#fffdf9;border-color:#d7cdc1;flex:1}.caption-card textarea:focus-visible{border-color:var(--primary)}.caption-card-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.caption-card-actions>span{color:var(--ink-muted);font-size:9px}.caption-card-actions>div{justify-content:flex-end;align-items:center;gap:8px;display:flex}.caption-card-actions [data-slot=button]{background:var(--teal-deep);color:#fff;border-radius:99px;height:36px;padding-inline:13px;font-weight:700}.caption-card-actions .caption-delete-button{color:#8d252b;background:#fff;border-color:#d8c9c3}.caption-card-actions .caption-delete-button:hover{background:#faeeee;border-color:#c99e9e}.caption-card-actions .caption-request-button{color:var(--teal-deep);background:#edf8f5;border-color:#b9d7d1}.caption-card-actions .caption-keep-button{color:#76501e;background:#fff8e9;border-color:#d6c9af}.admin-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.admin-toolbar [data-slot=button]{color:#554d46;background:#fff;border-color:#d7cdc1}.admin-filters{border:1px solid var(--soft-line);background:#fff;border-radius:99px;padding:4px;display:inline-flex}.admin-filters button{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:99px;padding:10px 17px;font-size:12px;font-weight:700}.admin-filters button.active{background:var(--teal-deep);color:#fff;box-shadow:0 5px 16px #155d5b2e}.queue-summary{color:var(--teal-deep);background:#dfecea;border:1px solid #155d5b24;border-radius:14px;align-items:center;gap:14px;margin:24px 0;padding:19px 21px;display:flex}.queue-summary>svg{width:21px;height:21px}.queue-summary>div{gap:3px;display:grid}.queue-summary strong{font-size:13px}.queue-summary span{color:#6f655b;font-size:11px}.admin-error{color:#8d252b;background:#faeeee;border-radius:12px;margin:0 0 18px;padding:13px 16px;font-size:13px}.admin-empty{min-height:260px;color:var(--ink-muted);text-align:center;background:#fffdf98c;border:1px dashed #d2c7ba;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.admin-empty>svg{width:28px;height:28px;color:var(--primary)}.admin-empty strong{color:#4b443e;font:500 25px var(--font-serif), Georgia, serif}.admin-empty span{font-size:12px}.review-list{gap:18px;display:grid}.review-card{border:1px solid var(--soft-line);background:#fff;border-radius:20px;grid-template-columns:minmax(220px,330px) 1fr;display:grid;overflow:hidden;box-shadow:0 14px 40px #3b281a0f}.review-card:not(:has(.review-photo)){grid-template-columns:1fr}.review-photos{background:#e9e1d7;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;min-height:320px;max-height:680px;display:grid;overflow-y:auto}.review-photos.single{display:block}.review-photo{background:#e9e1d7;flex-direction:column;min-height:320px;margin:0;display:flex}.review-photos:not(.single) .review-photo{min-height:245px}.review-photo img{object-fit:cover;flex:1;width:100%;min-height:0;display:block}.review-photo figcaption{color:#6a6159;align-items:center;gap:7px;padding:10px 13px;font-size:10px;display:flex}.review-photo figcaption svg{width:14px;height:14px;color:var(--primary)}.review-content{flex-direction:column;min-width:0;padding:28px;display:flex}.review-meta{border-bottom:1px solid var(--soft-line);justify-content:space-between;gap:24px;padding-bottom:20px;display:flex}.review-meta>div{gap:4px;min-width:0;display:grid}.review-meta strong{color:var(--teal-deep);font-size:14px}.review-meta span{color:var(--ink-muted);text-overflow:ellipsis;font-size:11px;overflow:hidden}.review-meta time{color:var(--ink-muted);white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:flex}.review-meta time svg{width:13px;height:13px}.review-content blockquote{color:#4f4842;font:400 21px/1.6 var(--font-serif), Georgia, serif;flex:1;margin:25px 0}.review-actions{flex-wrap:wrap;gap:10px;display:flex}.review-actions [data-slot=button]{border-radius:99px;height:42px;font-weight:700}.approve-button{color:#fff!important;background:#315f43!important}.approve-button:hover{background:#284f38!important}.reject-button{color:#8d252b!important;border-color:#d8c9c3!important}.permanent-actions{border-top:1px solid var(--soft-line);padding-top:18px}.delete-photo-button{color:#7a4b2b!important;border-color:#d8c9c3!important}.delete-entry-button{color:#fff!important;background:#8d252b!important}.delete-entry-button:hover,.permanent-delete-confirm:hover{background:#741d23!important}.permanent-delete-dialog{color:#413b36!important;background:#fff!important;border:1px solid #dfd2c8!important;box-shadow:0 30px 90px #1c120f3d!important}.permanent-delete-dialog [data-slot=alert-dialog-media]{color:#8d252b;background:#faeeee}.permanent-delete-dialog [data-slot=alert-dialog-description]{line-height:1.6}.permanent-delete-dialog [data-slot=alert-dialog-footer]{background:#f8f3ed;border-color:#eadfd5}.permanent-delete-confirm{color:#fff!important;background:#8d252b!important}.review-history{color:var(--ink-muted);margin:0;font-size:10px}.admin-access-page{background:#f4f0e9;place-items:center;min-height:100vh;padding:30px;display:grid}.admin-access-card{border:1px solid var(--soft-line);text-align:center;background:#fff;border-radius:24px;width:min(520px,100%);padding:48px;box-shadow:0 24px 70px #3b281a1a}.admin-access-card>svg{width:38px;height:38px;color:var(--primary);margin-bottom:18px}.admin-access-card h1{font:500 46px/1 var(--font-serif), Georgia, serif;letter-spacing:-.035em;margin:12px 0}.admin-access-card>p:not(.eyebrow){color:var(--ink-muted);line-height:1.6}.admin-access-card a{background:var(--primary);color:#fff;border-radius:99px;margin-top:16px;padding:12px 18px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.admin-login-card{text-align:left;gap:15px;display:grid}.admin-login-card>svg,.admin-login-card>.eyebrow,.admin-login-card>h1,.admin-login-card>p{text-align:center;justify-self:center}.admin-login-card label,.administrator-form label,.password-form label{color:#4c4540;gap:7px;font-size:12px;font-weight:700;display:grid}.admin-login-card [data-slot=button]{width:100%;min-height:46px}.admin-login-card .admin-back-link{color:var(--teal-deep);background:0 0;justify-self:center;margin-top:0;padding:4px}.password-change-notice,.admin-success{color:var(--teal-deep);background:#edf8f5;border:1px solid #b9d7d1;border-radius:12px;align-items:center;gap:10px;margin:0 0 20px;padding:14px 16px;font-size:12px;font-weight:700;display:flex}.password-change-notice svg,.admin-success svg{flex:none;width:18px;height:18px}.administrator-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;display:grid}.administrator-panel{border:1px solid var(--soft-line);background:#fff;border-radius:18px;padding:24px}.administrator-panel h3{color:#332e2a;font:600 24px/1.1 var(--font-serif), Georgia, serif;margin:0 0 8px}.administrator-panel>p{color:var(--ink-muted);margin:0 0 18px;font-size:12px;line-height:1.55}.administrator-list{gap:10px;display:grid}.administrator-list article{border:1px solid #ece5dc;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.administrator-avatar{width:38px;height:38px;color:var(--teal-deep);background:#e2f1ee;border-radius:50%;place-items:center;display:grid}.administrator-avatar svg{width:18px;height:18px}.administrator-list article>div{gap:2px;min-width:0;display:grid}.administrator-list strong,.administrator-list span,.administrator-list small{overflow-wrap:anywhere}.administrator-list article>div>span{color:var(--ink-muted);font-size:12px}.administrator-list small{color:var(--teal-deep);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.administrator-list [data-slot=button]{color:#9f2f35}.administrator-form{align-content:start;gap:14px;display:grid}.administrator-form [data-slot=button]{margin-top:4px}.administrator-form select{border:1px solid var(--input);color:#413b36;background:#fff;border-radius:10px;min-height:36px;padding:0 34px 0 11px;font-size:12px}.password-form{grid-template-columns:1.2fr repeat(3,1fr) auto;align-items:end;gap:14px;margin-top:18px;display:grid}.password-form h3{margin-bottom:5px}.password-form p{color:var(--ink-muted);margin:0;font-size:11px}.story-editor{max-width:900px}.story-editor .caption-manager-heading>svg{width:46px;height:46px;color:var(--teal-deep);opacity:.7}.story-editor-form{border:1px solid var(--soft-line);background:#fff;border-radius:18px;gap:20px;padding:26px;display:grid}.story-editor-form label{color:#4c4540;gap:8px;font-size:12px;font-weight:700;display:grid}.story-editor-form label small{color:var(--ink-muted);justify-self:end;font-size:10px;font-weight:500}.story-editor-form textarea{min-height:130px;line-height:1.6}.story-editor-form .story-body-field{min-height:260px}.story-editor-form [data-slot=button]{justify-self:end;min-width:180px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideshow-fade{0%{opacity:.18;transform:scale(.992)}to{opacity:1;transform:scale(1)}}@media (max-width:900px){.site-header nav{gap:18px}.hero{grid-template-columns:1fr .82fr}.about-section,.condolence-grid{grid-template-columns:1fr}.about-copy{max-width:760px}.message-grid{grid-template-columns:1fr 1fr}.admin-header{flex-direction:column;align-items:flex-start}.admin-account{justify-content:space-between;width:100%}.admin-account>span{display:none}.analytics-grid{grid-template-columns:1fr 1fr}.administrator-layout{grid-template-columns:1fr}.password-form{grid-template-columns:1fr 1fr}.caption-grid{grid-template-columns:1fr}}@media (max-width:700px){section[id]{scroll-margin-top:66px}.site-header{height:66px;padding:0 22px}.site-header nav{display:none}.hero{grid-template-columns:1fr;gap:44px;min-height:0;padding:52px 22px 68px}h1{font-size:clamp(53px,16vw,67px)}.hero-intro{font-size:19px}.dates{max-width:300px;line-height:1.5}.hero-actions{flex-direction:column;align-items:stretch}.button{justify-content:center}.portrait-wrap{max-width:440px}.portrait-wrap figcaption{font-size:18px;bottom:24px;right:-4px}.about-section,.gallery-section,.condolence-section{padding:78px 22px}.about-section{gap:34px}.about-copy .about-lead{font-size:25px}.music-section{padding:64px 22px 72px}.song-card{grid-template-columns:1fr}.song-art{min-height:300px}.song-portrait{max-height:360px}.song-copy{padding:36px 25px}.custom-player{gap:10px;padding:13px}.icon-control{display:none}.player-time{min-width:65px}.rick-quote{font-size:22px}.entry-dialog{padding:34px 24px!important}.entry-title{font-size:48px!important}.entry-actions{flex-direction:column}.floating-player{min-width:0;bottom:12px;left:12px;right:12px}.photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:165px;gap:9px}.gallery-actions{flex-direction:column;align-items:flex-start;gap:9px;margin-top:-8px}.slideshow-start{width:100%}.photo-tile{border-radius:12px;grid-area:span 1/span 1!important}.photo-tile:first-child,.photo-tile:nth-child(6),.photo-tile:nth-child(13){grid-area:span 2/span 2!important}.photo-expand{opacity:.9;transform:none}.gallery-pagination{flex-wrap:wrap;gap:8px}.gallery-pagination button{padding:0 13px}.slideshow-dialog{height:calc(100dvh - 16px);border-radius:16px!important;width:calc(100% - 16px)!important}.slideshow-side{width:42px;height:56px}.slideshow-previous{left:8px}.slideshow-next{right:8px}.slideshow-close{top:10px;right:10px}.slideshow-footer{gap:14px;min-height:94px;padding:15px}.slideshow-copy [data-slot=dialog-description]{max-width:54vw;font-size:14px}.condolence-grid{gap:38px}.condolence-portrait{width:min(100%,480px);margin-inline:auto}.condolence-portrait img{max-height:410px}.condolence-form{padding:28px 22px}.form-row{grid-template-columns:1fr;gap:0}.approved-messages{margin-top:78px}.approved-intro{grid-template-columns:1fr;gap:24px}.approved-portrait{width:min(100%,430px);margin-inline:auto}.approved-portrait img{max-height:340px}.message-grid{grid-template-columns:1fr}.message-summary{flex-direction:column;align-items:flex-start;gap:12px;min-height:0}.message-toggle{justify-content:space-between;width:100%}.photo-upload>span:first-child{flex-direction:column;align-items:flex-start;gap:3px}.photo-upload-control{flex-wrap:wrap;align-items:flex-start}.photo-selection{white-space:normal;width:100%;padding-left:30px}.admin-header{gap:18px;min-height:0;padding:22px}.admin-header h1{font-size:30px}.admin-workspace{width:calc(100% - 30px);padding-top:26px}.analytics-heading{flex-direction:column;align-items:flex-start;gap:10px}.analytics-heading>span{text-align:left;max-width:none}.analytics-grid{grid-template-columns:1fr;margin-top:18px}.analytics-card{min-height:108px;padding:19px}.admin-section-tabs{flex-wrap:wrap;width:100%}.admin-section-tabs button{flex:140px;padding-inline:10px}.password-form{grid-template-columns:1fr}.caption-manager-heading{flex-direction:column;align-items:stretch;gap:14px}.caption-manager-heading [data-slot=button]{width:100%}.caption-card{grid-template-columns:1fr}.admin-gallery-upload{grid-template-columns:auto 1fr;align-items:start}.admin-gallery-upload-actions{grid-column:1/-1}.admin-gallery-upload-actions [data-slot=button]{flex:1}.caption-card figure{aspect-ratio:4/3;min-height:0}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-filters{width:100%}.admin-filters button{flex:1;padding-inline:10px}.queue-summary{align-items:flex-start}.review-card{grid-template-columns:1fr}.review-photo{min-height:260px;max-height:440px}.review-photos{grid-template-columns:1fr 1fr;max-height:720px}.review-photos:not(.single) .review-photo{min-height:220px}.review-meta{flex-direction:column;align-items:flex-start;gap:10px}.review-content{padding:22px}.review-content blockquote{font-size:19px}.review-actions{flex-direction:column}.review-actions [data-slot=button]{width:100%}.admin-access-card{padding:38px 24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (pointer:fine){html,body{cursor:url(/cardinal-cursor.png) 0 4,default}:is(a,button,label,select,summary,[role=button],input[type=file],input[type=range]){cursor:url(/cardinal-cursor.png) 0 4,pointer!important}:is(input:not([type=button]):not([type=submit]):not([type=file]):not([type=range]),textarea){cursor:text!important}}
