@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600&family=Mrs+Saint+Delafield&display=swap";:root{--coral:#ef896e;--ink:#4c4a48;--muted:#817b76;--line:#eee8e3;--wash:#fcf7f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:135px}body{color:var(--ink);background:#fff;margin:0;font:16px/1.75 DM Sans,sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}:is(button:focus-visible,a:focus-visible){outline-offset:4px;outline:3px solid #9a583c}.top-note{text-align:center;background:var(--wash);letter-spacing:2px;color:#976b5b;padding:9px;font-size:11px}.masthead{text-align:center;padding:25px 20px 18px}.masthead .name{font:48px/1.1 Mrs Saint Delafield,cursive}.masthead small{letter-spacing:3px;text-transform:uppercase;color:var(--muted);font-size:10px}nav{z-index:5;border-block:1px solid var(--line);background:#fffffff5;position:sticky;top:0;box-shadow:0 10px 25px #58402e05}nav .links{justify-content:space-between;align-items:center;gap:15px;max-width:1050px;margin:auto;padding:16px 22px;display:flex}nav a{white-space:nowrap;font-size:13px}nav a:hover{color:var(--coral)}.symbol{color:var(--coral);margin-right:7px}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:85px;max-width:1100px;margin:auto;padding:65px 45px 60px;display:grid}.eyebrow{letter-spacing:3px;text-transform:uppercase;color:#a27f70;font-size:10px}h1{margin:22px 0;font:500 clamp(40px,5vw,66px)/1.12 Cormorant Garamond,serif}h1 span{display:block}.hero p{color:var(--muted);max-width:370px;font-size:15px}.script{font-family:Mrs Saint Delafield,cursive;font-weight:400}.hero .script{color:#a37b65;margin:18px 0;font-size:38px}.actions{flex-wrap:wrap;gap:13px;margin-top:28px;display:flex}.button{border:1px solid var(--coral);background:var(--coral);color:#fff;border-radius:4px;padding:12px 23px;font-size:13px;display:inline-block}.button.outline{color:#ba715b;background:#fff}.portrait{background:radial-gradient(at 70% 20%,#fffdf7,#f0e5d9 70%,#e2d4c3);border:12px solid #fff;outline:1px solid #e8ded5;flex-direction:column;justify-content:center;align-items:center;height:390px;display:flex;position:relative;box-shadow:0 20px 60px #82664a10}.portrait:before{content:"FNC";color:#bba58d;font:85px Mrs Saint Delafield,cursive}.portrait p{letter-spacing:2px;color:#998775;text-align:center;font-size:11px}.portrait .caption{color:#a28b76;font:italic 18px Cormorant Garamond,serif;position:absolute;bottom:20px}.intro{text-align:center;background:var(--wash);border-block:1px solid #f4eae2;padding:45px 20px}.intro h2{margin:10px;font:400 30px Cormorant Garamond,serif}.intro p{max-width:640px;color:var(--muted);margin:12px auto;font-size:14px}.section{max-width:1020px;margin:auto;padding:55px 35px}.heading{margin:0 0 18px;font:400 54px/1.1 Mrs Saint Delafield,cursive}.heading:after{content:"";background:var(--coral);width:45px;height:3px;margin-top:13px;display:block}.section>p{color:var(--muted);max-width:700px;font-size:14px}.story-grid{grid-template-columns:1.6fr 1fr;gap:65px;display:grid}.story-grid p{color:var(--muted);font-size:15px}.quote{background:var(--wash);border-left:2px solid #f1c9b8;align-self:center;padding:15px 25px;font:italic 26px/1.5 Cormorant Garamond,serif}.placeholder{color:#a08778;letter-spacing:1px;font-size:11px}.gallery{grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:25px;display:grid}.photo{color:#9f8d7e;background:#f2ede7;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:190px;font-size:12px;display:flex}.photo:nth-child(2){background:#eee9e1}.photo:nth-child(3){background:#f7ede6}.photo b{font:400 40px Cormorant Garamond,serif}.section-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.tribute{border:1px solid var(--line);border-radius:6px;margin-top:24px;padding:30px 34px;box-shadow:0 3px 14px #49302405}.tribute p{color:#716b66}.tribute footer{text-align:right;color:#bd8168;font:35px Mrs Saint Delafield,cursive}.tribute small{letter-spacing:1px;color:#a48f82;font-size:11px}.tree{background:var(--wash);border-radius:6px;margin-top:28px;padding:28px}.tree-row{flex-wrap:wrap;justify-content:center;gap:18px;display:flex;position:relative}.person{text-align:center;background:#fff;border:1px solid #e8ded5;border-radius:5px;flex:0 160px;min-width:130px;padding:16px}.person .avatar{color:#bba28c;background:#f4eee8;border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 10px;font:24px Cormorant Garamond,serif;display:grid}.person strong{font-size:13px;font-weight:500}.person small{color:var(--muted);font-size:11px;display:block}.person.dad{border-color:var(--coral);box-shadow:0 0 0 5px #f8e7df}.connector{background:#d8c6b9;width:1px;height:30px;margin:auto}.branch-label{text-align:center;text-transform:uppercase;letter-spacing:2px;color:#a38978;margin:17px 0 12px;font-size:10px}.branches{grid-template-columns:1fr 1fr;gap:22px;display:grid}.branch{border-top:1px solid #decdc1;padding-top:22px}.branch .person{max-width:190px;margin:auto}.children{text-align:center;color:#987d68;background:#fff;border:1px dashed #d8c4b5;margin-top:16px;padding:15px;font-size:12px}.music{background:#fcf7f3;border:1px solid #f0e5dc;align-items:center;gap:25px;margin-top:25px;padding:28px;display:flex}.album{color:#af886e;background:#ebd8c7;flex-shrink:0;place-items:center;width:100px;height:100px;font:50px Mrs Saint Delafield,cursive;display:grid}.music h3{margin:0;font:400 25px Cormorant Garamond,serif}.music p{color:var(--muted);margin:6px 0;font-size:13px}.form-panel{background:var(--wash);margin-top:25px;padding:32px}.fields{grid-template-columns:1fr 1fr;gap:20px;display:grid}label{margin-bottom:18px;font-size:13px;display:block}input,textarea{background:#fff;border:1px solid #dfd5cb;border-radius:3px;width:100%;min-width:0;margin-top:7px;padding:12px}textarea{resize:vertical}dialog{border:1px solid var(--line);width:90%;max-width:600px;color:var(--ink);border-radius:8px;padding:30px}dialog::backdrop{background:#352c2466}.end{text-align:center;border-top:1px solid var(--line);color:#a48b79;padding:35px 20px;font:28px Mrs Saint Delafield,cursive}.end small{color:var(--muted);margin-top:8px;font:11px DM Sans,sans-serif;display:block}#preview-message{white-space:pre-wrap;overflow-wrap:anywhere}.demo{color:#947967;font-size:12px}.subtle-rule{border:0;border-top:1px solid var(--line);max-width:950px;margin:0 auto}@media (max-width:650px){.masthead .name{font-size:37px}nav .links{justify-content:flex-start;gap:24px;padding:13px 18px;overflow-x:auto}.hero{grid-template-columns:1fr;gap:35px;padding:35px 25px}.portrait{grid-row:1;height:300px}.hero .script{font-size:32px}.section{padding:38px 24px}.story-grid{grid-template-columns:1fr;gap:20px}.gallery{gap:8px}.photo{height:130px;font-size:10px}.heading{font-size:46px}.section-head{flex-wrap:wrap;align-items:flex-start}.tree{padding:18px 10px}.person{flex-basis:120px;min-width:95px;padding:12px 6px}.branches{gap:12px}.fields{grid-template-columns:1fr;gap:0}.music{flex-wrap:wrap}.tribute{padding:23px}.form-panel{padding:20px}}.family-diagram{margin:30px 0;padding:20px 0;position:relative}.family-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.family-lines path{fill:none;stroke:#d8beb0;stroke-width:1.5px}.family-parents,.family-siblings,.family-households,.family-children{gap:14px;display:grid;position:relative}.family-parents{grid-template-columns:repeat(2,minmax(0,150px));justify-content:center;margin-bottom:65px}.family-siblings{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:80px}.household>.person{width:140px;max-width:100%;margin:auto}.family-children{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;margin-top:65px}.family-diagram .person{z-index:1;background:#fff;min-width:0;position:relative}.family-diagram .avatar:empty{background:#f4eee8;position:relative}.family-diagram .avatar:empty:before{content:"";background:#d6c6b8;border-radius:50%;width:17px;height:17px;position:absolute;top:9px;left:17px}.family-diagram .avatar:empty:after{content:"";background:#d6c6b8;border-radius:20px 20px 8px 8px;width:30px;height:18px;position:absolute;bottom:6px;left:11px}@media (max-width:650px){.family-diagram .person{padding:10px 3px}.family-diagram .person strong{overflow-wrap:anywhere;font-size:10px}.family-diagram .person small{font-size:9px}.family-diagram .avatar{width:42px;height:42px}.family-diagram .avatar:empty:before{top:6px;left:13px}.family-diagram .avatar:empty:after{bottom:4px;left:6px}.family-siblings{gap:7px}.family-households{gap:12px}.family-children{gap:6px}.family-diagram .person.dad{box-shadow:0 0 0 2px #f8e7df}}.attachment-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;margin:16px 0;display:grid}.attachment-grid figure{min-width:0;margin:0}.attachment-grid img,.attachment-grid video{object-fit:contain;background:#eee8e3;border-radius:4px;width:100%;height:150px}.attachment-grid figcaption{overflow-wrap:anywhere;color:#817b76;font-size:11px}.attachment-grid button{color:#925e4a;background:#fff;border:1px solid #dfd5cb;margin-top:5px;padding:5px 10px;font-size:12px}.life-timeline{margin:35px 0 0;padding:0;list-style:none}.life-event{grid-template-columns:120px 44px minmax(0,1fr);gap:22px;padding-bottom:28px;display:grid;position:relative}.life-event:not(:last-child):before{content:"";background:var(--coral);width:1px;position:absolute;top:20px;bottom:-20px;left:163px}.life-date{overflow-wrap:anywhere;color:#c47b62;padding-top:9px;font-size:25px}.life-date span{color:var(--muted);font-size:12px;display:block}.life-marker{color:#c47b62;background:#fff;border:1px solid #efbaa8;border-radius:50%;place-items:center;width:40px;height:40px;margin-top:8px;display:grid;position:relative}.life-card{border:1px solid var(--line);background:#fff;border-radius:6px;padding:23px 28px;position:relative;box-shadow:0 3px 15px #49302408}.life-card:before{content:"";border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;width:12px;height:12px;position:absolute;top:23px;left:-7px;transform:rotate(45deg)}.life-card h3{color:#b96e55;margin:0 0 9px;font-size:18px;font-weight:400}.life-card p{color:var(--muted);margin:0;font-size:14px}@media (max-width:650px){.life-event{grid-template-columns:68px 30px minmax(0,1fr);gap:10px}.life-date{font-size:20px}.life-date span{font-size:10px}.life-marker{width:30px;height:30px;font-size:13px}.life-event:not(:last-child):before{left:93px}.life-card{padding:17px}.life-card h3{font-size:16px}.life-card p{font-size:12px}}.biography{max-width:760px}.biography p{color:#625c57;margin:0 0 22px;font-size:16px;line-height:1.95}.family-diagram strong{overflow-wrap:anywhere}:root{--body-size:16px;--small-size:13px;--section-space:64px}body{font-size:var(--body-size)}.section{padding-top:var(--section-space);padding-bottom:var(--section-space)}.section>p,.hero p,.intro p,.story-grid p,.music p,.tribute p{font-size:16px;line-height:1.85}.biography p{margin-bottom:22px;font-size:16px;line-height:1.85}.heading{margin-bottom:24px;font-size:54px;line-height:1.15}.eyebrow,.placeholder,.demo,.tribute small{font-size:12px;line-height:1.65}nav a,.button,label{font-size:14px}.life-card h3,.music h3{font-size:21px;line-height:1.4}.life-card p{font-size:15px;line-height:1.75}.life-date{font-size:24px;line-height:1.4}.life-date span{font-size:12px;line-height:1.6}.family-diagram{margin-top:32px;padding:24px 0}.family-parents{grid-template-columns:repeat(2,168px);gap:24px;margin-bottom:64px}.family-siblings{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;gap:20px;margin-bottom:80px}.family-households{grid-template-columns:2fr 1fr 1fr;gap:20px}.family-children{justify-items:center;gap:20px;margin-top:64px}.family-diagram .person,.household>.person{text-align:center;border:1px solid #e5dbd3;border-radius:6px;flex-direction:column;justify-content:flex-start;align-items:center;width:168px;min-width:0;max-width:100%;height:208px;padding:18px 10px 14px;display:flex;box-shadow:0 3px 12px #49302404}.family-diagram .person.dad{border-color:var(--coral);box-shadow:0 0 0 3px #f9ece6}.family-diagram .person .avatar{background:#f4eee8;flex:0 0 76px;width:76px;height:76px;margin:0 0 14px;font:28px Cormorant Garamond,serif}.family-diagram .person strong{overflow-wrap:normal;word-break:normal;justify-content:center;align-items:center;width:100%;min-height:54px;font-size:14px;font-weight:500;line-height:1.3;display:flex}.family-diagram .person small{color:#817b76;margin-top:auto;font-size:11px;line-height:1.4}.family-diagram .avatar:empty:before{width:23px;height:23px;top:14px;left:26px}.family-diagram .avatar:empty:after{border-radius:25px 25px 10px 10px;width:43px;height:27px;bottom:9px;left:16px}@media (max-width:650px){.section{padding:40px 20px}.heading{font-size:46px}.section>p,.hero p,.intro p,.biography p{font-size:15px}.family-diagram{padding:20px 5px 26px;overflow-x:auto}.family-diagram .family-lines{min-width:760px}.family-parents,.family-siblings,.family-households{width:750px}.family-parents{grid-template-columns:repeat(2,168px)}.family-diagram .person,.household>.person{width:168px;height:208px;padding:18px 10px 14px}.family-diagram .person .avatar{flex-basis:76px;width:76px;height:76px}.family-diagram .person strong{font-size:14px;line-height:1.3}.family-diagram .person small{font-size:11px}.family-siblings,.family-children,.family-households{gap:20px}.family-diagram .avatar:empty:before{top:14px;left:26px}.family-diagram .avatar:empty:after{bottom:9px;left:16px}.life-card h3{font-size:18px}.life-card p{font-size:14px}}button:disabled{cursor:wait;opacity:.55}fieldset{border:0;min-width:0;margin:0;padding:0}.helper{color:#817b76;font-size:13px;line-height:1.7;display:block}.error{color:#953e37;background:#fff0ed;border-radius:4px;padding:14px}.success{color:#34653d;background:#edf5ed;border-radius:4px;padding:14px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.bot-field,.portrait.has-photo:before{display:none}.portrait.has-photo{padding:0}.portrait.has-photo img{object-fit:cover;width:100%;height:100%}.person .avatar{overflow:hidden}.person .avatar img{object-fit:cover;width:100%;height:100%}.person .avatar:has(img):before{display:none}.person .avatar:has(img):after{display:none}.lifespan{letter-spacing:1px}.live-gallery figure{min-width:0;margin:0}.gallery-photo{background:#f4eee8;border:0;border-radius:4px;width:100%;padding:0;overflow:hidden}.gallery-photo img{object-fit:cover;width:100%;height:230px;display:block}.live-gallery figcaption{color:#817b76;overflow-wrap:anywhere;margin-top:8px;font-size:13px;line-height:1.6}.spotify-player{border:0;border-radius:12px}.tribute-relationship{text-align:right;color:#817b76;font-size:13px}.modal-backdrop{z-index:20;background:#352c2477;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border-radius:8px;width:min(640px,100%);max-height:90dvh;padding:30px;overflow-y:auto}.photo-modal{width:min(900px,100%)}.photo-modal>img{object-fit:contain;max-width:100%;max-height:65dvh;margin:auto;display:block}.mobile-tree-note{display:none}.editor-login{max-width:650px;margin:80px auto;padding:25px}.editor{background:#fff;max-width:1180px;min-height:100vh;margin:auto;padding:0 30px 60px}.editor-header{z-index:6;background:#fff;border-bottom:1px solid #eee8e3;justify-content:space-between;align-items:center;gap:25px;padding:28px 0 22px;display:flex;position:sticky;top:0}.editor h1{margin:5px 0;font:400 34px Cormorant Garamond,serif}.editor h2{margin:10px 0 20px;font:400 30px Cormorant Garamond,serif}.editor h3{margin:12px 0 20px;font:500 16px DM Sans,sans-serif}.editor-header-actions,.editor-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.editor-header-actions a{font-size:13px}.editor-tabs{border-bottom:1px solid #eee8e3;flex-wrap:wrap;gap:8px;padding:22px 0 10px;display:flex}.editor-tabs button{color:#756b63;background:#fff;border:0;border-radius:4px;padding:10px 18px;font-size:14px}.editor-tabs button[aria-selected=true]{color:#a65d43;background:#fcf0e9}.count{color:#fff;background:#ef896e;border-radius:20px;margin-left:8px;padding:2px 7px;font-size:11px}.editor-panel{padding:16px 0}.editor-panel label{font-size:14px}.editor-panel input,.editor-panel textarea{font-size:15px;line-height:1.6}.editor-person{border:1px solid #eee8e3;border-radius:6px;min-width:0;padding:22px}.editor-family-grid,.editor-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.editor-photo,.editor-photo-empty{object-fit:cover;background:#f4eee8;border-radius:50%;width:100px;height:100px;margin:0 0 18px;display:block}.editor-photo-empty{text-align:center;color:#958275;place-items:center;font-size:12px;display:grid}.editor-event{border:1px solid #eee8e3;border-radius:6px;margin-bottom:20px;padding:25px}.editor-button{color:#8b5e49;background:#fff;border:1px solid #ded1c7;border-radius:4px;padding:9px 14px;font-size:13px}.editor-button.selected{background:#fcf0e9;border-color:#ef896e}.editor-gallery article{border:1px solid #eee8e3;border-radius:6px;min-width:0;padding:16px}.editor-gallery img{object-fit:cover;width:100%;height:190px}.editor-empty{text-align:center;color:#817b76;background:#fcf7f3;border-radius:6px;margin-top:20px;padding:55px 20px}.review-item{padding-bottom:28px}.review-item>.editor-row{margin-top:16px}.editor input[type=file]{padding:10px;font-size:12px}.editor-messages{min-height:20px}.editor-panel .tribute footer{font-size:32px}.editor-panel textarea{resize:vertical}.attachment-grid video,.attachment-grid img{background:#eee8e3}@media (max-width:760px){.editor{padding:0 18px 40px}.editor-header{flex-direction:column;align-items:flex-start;gap:15px;position:static}.editor-family-grid,.editor-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-tabs button{padding:8px 11px}.gallery-photo img{height:170px}.mobile-tree-note{color:#817b76;font-size:12px;display:block}.modal{padding:22px}}@media (max-width:480px){.editor-family-grid,.editor-gallery{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery-photo img{height:150px}.editor-event{padding:16px}}.native-modal{color:#4c4a48;border:1px solid #eee8e3;max-height:90dvh}.native-modal::backdrop{background:#352c2477}.native-modal>img{object-fit:contain;max-width:100%;max-height:65dvh;margin:auto;display:block}.tribute-message.is-collapsed{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tribute-toggle{color:#98543f;text-underline-offset:3px;text-align:left;background:0 0;border:0;min-height:44px;margin:0 0 8px;padding:8px 0;font-size:14px;font-weight:600;text-decoration:underline;display:inline-block}.tribute-toggle:hover{color:#713a2a}.announcement-banner{background:var(--wash);color:#80543f;border-bottom:1px solid #edc8b9;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:8px max(22px,50% - 503px);display:grid}.announcement-label{letter-spacing:1.5px;border-left:3px solid var(--coral);white-space:nowrap;padding:4px 0 4px 10px;font-size:11px;font-weight:500}.announcement-viewport{min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000);mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000)}.announcement-track{width:max-content;animation:32s linear infinite memorial-announcement-scroll;display:flex}.announcement-copy{white-space:nowrap;flex:none;font-size:14px;line-height:1.8}.announcement-separator{color:var(--coral);padding:0 46px}.announcement-pause{color:#80543f;background:0 0;border:1px solid #e2d4c9;border-radius:4px;justify-content:center;align-items:center;width:32px;min-height:32px;padding:7px;font-size:12px;font-weight:500;display:inline-flex;position:relative}.announcement-banner.is-paused .announcement-track{animation-play-state:paused}.announcement-accessible{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.editor-announcement{border-block:1px solid var(--line);margin:8px 0 24px;padding:8px 0 16px}.announcement-enabled{align-items:center;gap:10px;display:flex}.announcement-enabled input{accent-color:#98543f;flex:none;width:18px;height:18px;margin:0}@keyframes memorial-announcement-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (hover:hover){.announcement-banner:hover .announcement-track{animation-play-state:paused}}@media (max-width:650px){.announcement-banner{grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:8px 18px}.announcement-label{grid-column:1}.announcement-pause{grid-area:1/2;width:32px;min-width:32px;min-height:32px}.announcement-viewport{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.announcement-track{width:auto;animation:none;display:block}.announcement-copy{white-space:normal}.announcement-copy+.announcement-copy,.announcement-separator,.announcement-pause{display:none}.announcement-viewport{-webkit-mask-image:none;mask-image:none}.announcement-banner{grid-template-columns:auto minmax(0,1fr)}.announcement-viewport{grid-column:auto}}@media (pointer:coarse){.announcement-pause:after{content:"";position:absolute;inset:-6px}}.timeline-visibility{align-items:center;gap:10px;display:flex}.timeline-visibility input{accent-color:#98543f;flex:none;width:18px;height:18px;margin:0}.tribute-attachments{border-top:1px solid var(--line);margin:20px 0 24px;padding-top:18px}.tribute-attachments-heading{color:#817b76;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:500;display:flex}.tribute-attachments-heading>span{background:var(--wash);border-radius:20px;padding:1px 7px;font-size:11px}.tribute-media-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;max-width:780px;display:grid}.tribute-media-card{background:#fff;border:1px solid #e8ded5;border-radius:8px;min-width:0;margin:0;overflow:hidden}.tribute-media-preview{background:var(--wash);aspect-ratio:4/3;text-align:left;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.tribute-media-preview img,.tribute-media-preview video{object-fit:cover;width:100%;height:100%;transition:transform .2s;display:block}.tribute-media-preview:hover img{transform:scale(1.025)}.tribute-media-open{color:#584b42;background:#fffef9ed;border-radius:4px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;line-height:1.5;display:inline-flex;position:absolute;bottom:10px;left:10px}.tribute-media-card figcaption{color:var(--ink);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.tribute-media-size{color:var(--muted);font-size:11px;line-height:1.6;display:block}.tribute-media-download{color:#98543f;align-items:center;gap:6px;min-height:40px;font-size:12px;font-weight:500;display:inline-flex}.tribute-media-download:hover{text-underline-offset:3px;text-decoration:underline}.tribute-attachment-dialog{width:min(900px,100% - 32px);max-width:900px;padding:22px}.tribute-attachment-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.tribute-attachment-title h3{margin:0;font:400 28px/1.2 Cormorant Garamond,serif}.tribute-attachment-dialog>img,.tribute-attachment-dialog>video{object-fit:contain;background:var(--wash);width:auto;max-width:100%;height:auto;max-height:65dvh;margin:auto;display:block}.tribute-attachment-actions{justify-content:center;margin-top:18px;display:flex}.tribute-attachment-actions a{align-items:center;gap:8px;display:inline-flex}@media (max-width:550px){.tribute-media-grid{grid-template-columns:minmax(0,1fr);max-width:340px}.tribute-media-download{min-height:44px}.tribute-attachment-dialog{padding:16px}}@media (prefers-reduced-motion:reduce){.tribute-media-preview img{transition:none}.tribute-media-preview:hover img{transform:none}}
