.design-preview{--ink:#293744;--blue:#48677d;--dark:#345166;--gold:#b79763;--gold-text:#80623a;--warm:#fcfbf8;--line:#dce3e2;color:var(--ink);margin:-20px calc(50% - 50vw) 0;padding:28px max(24px,calc((100vw - 1040px)/2)) 80px;background:var(--warm)}
.design-preview h1,.design-preview h2,.design-preview h3{font-family:"Frank Ruhl Libre",Georgia,serif;color:var(--ink);font-weight:500;letter-spacing:-.025em}
.preview-notice{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:40px;padding:10px 14px;border:1px solid #ead9b7;border-radius:8px;background:#fff8e9;color:#654d24;font-size:14px}.preview-notice a{margin-inline-start:auto;color:inherit;font-weight:700}
.preview-hero{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(340px,1.15fr);align-items:center;gap:clamp(46px,7vw,96px);min-height:600px;padding:25px 0 60px}
.preview-photo{position:relative;width:min(100%,370px);margin:auto}.preview-photo span{position:absolute;inset:28px -25px -25px 30px;background:#dce6e5}.preview-photo img{position:relative;display:block;width:100%;height:320px;object-fit:cover;object-position:center 22%;border-radius:4px;box-shadow:0 18px 50px #29374426}
.eyebrow,.preview-card>span{color:var(--gold-text);font-size:13px;font-weight:700;letter-spacing:.12em}.preview-copy h1{margin:2px 0;font-size:clamp(48px,6vw,76px);line-height:1.03}.preview-years{margin:12px 0 26px;color:var(--blue);font-size:18px;font-weight:700;letter-spacing:.12em}.preview-lead{font-size:22px;font-weight:600;line-height:1.6}.preview-copy>p:last-of-type{color:#53616c;font-size:18px;line-height:1.9}.preview-link{display:inline-block;margin-top:14px;padding-bottom:7px;border-bottom:2px solid var(--gold);color:var(--dark);font-weight:700;text-decoration:none}
.preview-intro{max-width:820px;margin:5px auto 82px;padding:35px clamp(24px,5vw,58px);border-inline-start:3px solid var(--gold);background:#fff;box-shadow:0 12px 34px #2937440f}.preview-intro p{margin:0;font-family:"Frank Ruhl Libre",Georgia,serif;font-size:clamp(23px,3vw,31px);line-height:1.65}
.preview-content{margin-bottom:85px}.preview-content header{max-width:650px;margin-bottom:28px}.preview-content h2{margin:0;font-size:clamp(34px,4.5vw,52px);line-height:1.15}.preview-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}.preview-card{display:flex;min-height:225px;flex-direction:column;padding:30px;border:1px solid var(--line);border-radius:8px;background:#fff;color:inherit;text-decoration:none;transition:.2s}.preview-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px #29374417}.preview-card.featured{grid-row:span 2;min-height:500px;justify-content:flex-end;padding:42px;background:var(--dark);color:#fff}.preview-card h3{margin:8px 0 12px;font-size:29px;line-height:1.3}.preview-card p{margin:0 0 20px;color:#65727b}.preview-card b{margin-top:auto;color:var(--dark)}.preview-card.featured h3,.preview-card.featured p,.preview-card.featured b{color:#fff}
.preview-quote{max-width:840px;margin:0 auto 82px;text-align:center}.preview-quote .quote-mark{display:block;height:50px;color:var(--gold);font-family:Georgia;font-size:82px;font-style:normal;line-height:1}.preview-quote .quote-mark-closing{height:42px;margin-top:-8px;transform:rotate(180deg)}.preview-quote blockquote{margin:10px 0 20px;font-family:"Frank Ruhl Libre",Georgia,serif;font-size:clamp(27px,4vw,41px);line-height:1.55}.preview-quote p{margin-top:8px;color:#77828a}.preview-bottom{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line)}.preview-bottom a{display:flex;flex-direction:column;gap:5px;padding:28px 26px;color:var(--ink);text-decoration:none}.preview-bottom a+a{border-inline-start:1px solid var(--line)}.preview-bottom strong{font-family:"Frank Ruhl Libre",Georgia,serif;font-size:23px;font-weight:500}.preview-bottom span{color:var(--blue);font-weight:600}
@media(max-width:780px){.design-preview{padding-inline:20px}.preview-notice a{width:100%;margin:0}.preview-hero{grid-template-columns:1fr;gap:58px}.preview-photo{width:min(86%,390px)}.preview-photo img{height:230px;object-position:center 22%}.preview-copy{text-align:center}.preview-grid,.preview-bottom{grid-template-columns:1fr}.preview-card.featured{grid-row:auto;min-height:380px}.preview-bottom a+a{border-inline-start:0;border-top:1px solid var(--line)}}
/* Global memorial theme */
:root{--ink:#293744;--blue:#48677d;--blue-dark:#345166;--gold:#b79763;--gold-text:#80623a;--warm:#fcfbf8;--soft:#f1f4f3;--line:#dce3e2;--muted:#66737c}
html{scroll-behavior:smooth}body{background:var(--warm);color:var(--ink);font-family:Assistant,Arial,sans-serif}.container{max-width:1080px;padding:32px 24px 70px}a{color:var(--blue-dark)}
.menu{position:sticky;top:0;z-index:100;padding:0;background:rgba(252,251,248,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);box-shadow:0 4px 20px rgba(41,55,68,.035)}.menu-inner{display:flex;max-width:1120px;min-height:78px;margin:auto;padding:0 22px;align-items:center;gap:28px}.menu-brand{display:flex;flex-direction:column;min-width:max-content;color:var(--ink)!important;text-decoration:none!important;line-height:1.1}.menu-brand span{font-family:"Frank Ruhl Libre",Georgia,serif;font-size:21px;font-weight:600}.menu-brand small{margin-top:5px;color:var(--gold-text);font-size:11px;letter-spacing:.12em}.menu-links{display:flex;align-items:center;justify-content:flex-end;gap:4px;width:100%}.menu-links a{position:relative;margin:0;padding:10px 9px;color:#45545f;font-size:15px}.menu-links a:after{position:absolute;right:9px;bottom:4px;left:9px;height:2px;content:"";background:var(--gold);transform:scaleX(0);transition:transform .2s}.menu-links a:hover,.menu-links a[aria-current=page]{color:var(--ink);background:none}.menu-links a[aria-current=page]:after{transform:scaleX(1)}
.page-header{max-width:800px;margin:48px auto 52px}.page-header:after{display:block;width:48px;height:3px;margin:20px auto 0;content:"";background:var(--gold)}.page-header h1{font-family:"Frank Ruhl Libre",Georgia,serif;font-size:clamp(39px,5vw,56px);font-weight:500;line-height:1.15;letter-spacing:-.025em}.page-header p{color:var(--muted);font-size:17px;line-height:1.75}
.text-page,.story-page{max-width:760px}.text-content,.story-content{color:#36454f;font-size:18px;line-height:1.9}.text-content h2,.story-content h2,.dedication-section h2,.gallery-section h2,.stories-section h2{margin-top:44px;border:0;font-family:"Frank Ruhl Libre",Georgia,serif;font-size:29px;font-weight:500;color:var(--ink)}.text-content h2:after,.dedication-section h2:after,.gallery-section h2:after,.stories-section>h2:after{display:block;width:36px;height:2px;margin-top:10px;content:"";background:var(--gold)}
.cards-grid,.stories-list,.home-sections{gap:18px}.content-card,.story-card,.home-card{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:none}.content-card:hover,.story-card:hover,.home-card:hover{border-color:#b9c7c9;box-shadow:0 16px 36px rgba(41,55,68,.08);transform:translateY(-3px)}.content-card h2,.story-card h3,.home-card h2{font-family:"Frank Ruhl Libre",Georgia,serif;font-weight:500;color:var(--ink)}.read-more,.home-card span{color:var(--blue-dark)}
.story-page h1,.memorial-page h1{font-family:"Frank Ruhl Libre",Georgia,serif;font-size:clamp(38px,5vw,54px);font-weight:500}.story-meta{color:var(--gold);font-weight:600}.memorial-box,.sidur-dedication-box,.audio-card,.media-card{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 28px rgba(41,55,68,.055)}
.primary-button,.secondary-button,.danger-button,.guestbook-form button{border-radius:6px}.primary-button,.guestbook-form button{background:var(--blue-dark)}.primary-button:hover,.guestbook-form button:hover{background:#263f52}.secondary-button{background:#fff;border-color:var(--line)}
.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.gallery-item{border:1px solid var(--line);border-radius:6px;background:#fff}.gallery-item:hover{box-shadow:0 14px 30px rgba(41,55,68,.1)}.gallery-item img{height:245px}.grave-image img,.original-scan img,.dedication-gallery img,.song-lyrics img,.document-image-page img,.media-card img{border-radius:6px;border-color:var(--line);box-shadow:0 12px 32px rgba(41,55,68,.08)}
.guestbook-form-wrapper,.guestbook-entry{border-color:var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(41,55,68,.05)}.guestbook-form input,.guestbook-form textarea{border-radius:6px;border-color:#cbd5d8}.guestbook-form input:focus,.guestbook-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(72,103,125,.12);outline:0}
.video-wrapper,.pdf-frame-wrapper{border-radius:8px}.file-link-overlay{border-radius:4px;background:rgba(41,55,68,.9)}
.site-footer{text-align:right;margin-top:0;padding:55px 24px;background:var(--blue-dark);color:#fff;border:0}.footer-inner{display:grid;grid-template-columns:1.3fr 1fr;max-width:1040px;margin:auto;gap:40px}.footer-identity{display:flex;flex-direction:column}.footer-identity strong{font-family:"Frank Ruhl Libre",Georgia,serif;font-size:28px;font-weight:500}.footer-identity span{margin-top:5px;color:#ddc89f;letter-spacing:.12em}.footer-identity p{margin:18px 0 0;color:#d7e0e5}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:12px}.site-footer nav a{color:#fff;text-decoration:none}.site-footer nav a:hover{text-decoration:underline}
.home-redesign{margin-top:-32px}
@media(max-width:850px){.menu-inner{align-items:flex-start;flex-direction:column;gap:8px;padding-block:13px}.menu-links{justify-content:flex-start;overflow-x:auto;width:100%;padding-bottom:4px}.menu-links a{white-space:nowrap}.footer-inner{grid-template-columns:1fr}.site-footer nav{max-width:420px}}
@media(max-width:640px){.container{padding:22px 17px 50px}.page-header{margin:35px auto 42px}.page-header h1{font-size:38px}.text-content,.story-content{font-size:17px}.gallery-item img{height:210px}.footer-inner{gap:30px}.site-footer nav{grid-template-columns:1fr 1fr}}

.special-title-heading{margin:0}
/* Keep the accessibility skip link hidden until it receives keyboard focus. */
.skip-link {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
.skip-link:focus,
.skip-link:focus-visible {
    position: fixed;
    top: 8px;
    right: 8px;
    z-index: 9999;
    width: auto;
    height: auto;
    padding: 10px 16px;
    margin: 0;
    overflow: visible;
    clip: auto;
    clip-path: none;
    white-space: normal;
    color: #1f2937;
    background: #fff;
    border: 2px solid #355070;
    border-radius: 8px;
}