@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Libre+Caslon+Display&display=swap');
:root{--ink:#35251d;--deep:#342219;--gold:#a87633;--line:#ddc9a8;--cream:#fff9ed;--warm:#f3e5ca;--paper:#fbf5e8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.15}a{color:inherit}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{position:relative;z-index:30;background:#35251d;color:#fff8ea}.nav-wrap{max-width:1360px;padding:0 32px;margin:auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-family:'Playfair Display',Georgia,serif;font-size:20px;white-space:nowrap}.brand i{font-weight:400;color:#eccb90}.brand-mark{border:1px solid #d2ae74;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#e8cb91;font-size:24px}.site-header nav{display:flex;align-items:center;gap:27px}.site-header nav a{font-size:13px;letter-spacing:.04em;text-decoration:none;color:#efe3d0;transition:color .2s}.site-header nav a:hover,.site-header nav a.active{color:#f1c77d}.menu-button{display:none}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.23em;color:var(--gold);font-size:12px;font-weight:700}.hero{display:grid;grid-template-columns:50% 50%;min-height:640px;background:#f6e9cb}.hero-image{overflow:hidden;position:relative;background:#cda25a}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(66,36,12,.20),transparent 40%)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 26%}.hero-copy{padding:75px clamp(36px,6vw,110px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:radial-gradient(circle at 95% 5%,#fff9e7 0,transparent 42%),linear-gradient(145deg,#f8eecf,#e9d2a5)}.hero h1{font-size:clamp(48px,5.1vw,85px);letter-spacing:-.045em;margin:16px 0 0}.hero h1 em,.intro-panel h2 em,.memory-copy h2 em{color:#9c6730;font-weight:400}.nee{font-family:'Playfair Display',Georgia,serif;font-size:19px;color:#835d3b;margin:8px 0 0}.hero-rule{width:65px;height:1px;background:#b98e50;margin:33px 0 23px}.life-dates{font-size:15px;letter-spacing:.075em;text-transform:uppercase;font-weight:600}.life-dates span{color:#aa854f;margin:0 8px}.hero-quote{max-width:420px;font-family:'Playfair Display',Georgia,serif;font-size:19px;line-height:1.55;color:#6d5039}.text-link{font-size:14px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;font-weight:700;letter-spacing:.01em;color:#8b5c2a;white-space:nowrap}.text-link:hover{color:#bd8b45}.intro-panel{max-width:1160px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:105px 24px;border-bottom:1px solid var(--line)}.intro-panel h2,.section h2,.memory-copy h2{font-size:clamp(38px,4vw,59px);letter-spacing:-.04em;margin:15px 0 0}.intro-panel p{font-family:'Playfair Display',Georgia,serif;font-size:23px;line-height:1.65;align-self:center;margin:0;color:#725642}.section{padding:90px 0 115px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:34px}.section-top h2{margin:11px 0 0}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.event-card{display:block;background:#fffdf6;border:1px solid var(--line);padding:32px;text-decoration:none;min-height:275px;transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px #4b2e1215}.event-date{font-family:'Playfair Display',Georgia,serif;font-size:34px;color:#ad7838;display:flex;align-items:center;gap:14px}.event-date small{font:700 12px 'DM Sans',sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#765a42}.event-card h3{font-size:27px;margin:28px 0 10px}.event-card p{color:#745d48;font-size:14px}.card-link{font-size:13px;color:#996727;font-weight:700;border-bottom:1px solid;display:inline-block;margin-top:12px}.memory-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:#fff6e8}.memory-photo{max-height:600px;overflow:hidden}.memory-photo img{height:100%;width:100%;object-fit:cover}.memory-copy{padding:70px clamp(34px,7vw,125px);display:flex;flex-direction:column;justify-content:center}.memory-copy .eyebrow{color:#d7a75f}.memory-copy h2{margin:16px 0 25px}.memory-copy h2 em{color:#e3bb7c}.memory-copy p{max-width:430px;color:#dfceb9}.feature-links{display:flex;align-items:center;gap:26px;margin-top:22px;flex-wrap:wrap}.button-light{background:#e8c688;padding:12px 22px;text-decoration:none;color:#35251d;font-weight:700;font-size:13px}.light{color:#f1d9a9}footer{background:#271a15;color:#cbb598;text-align:center;padding:55px 24px}.footer-symbol{color:#cea96d;font-size:24px}.footer-inner p{font:italic 28px 'Playfair Display',Georgia,serif;color:#f3e6cb;margin:10px 0 8px}.footer-inner>span:last-child{font-size:12px;letter-spacing:.11em;text-transform:uppercase}.footer-sep{padding:0 10px}.subhero{background:radial-gradient(circle at 80% -25%,#fff9e4,transparent 50%),#efdcba;border-bottom:1px solid #d9bb88}.page-heading{text-align:center;padding:83px 24px 70px}.page-heading h1{font-size:clamp(42px,5vw,68px);letter-spacing:-.04em;margin:13px 0 16px}.page-heading p{color:#765943;max-width:700px;margin:0 auto}.ornament{display:block;color:#b88745;margin-top:25px;font-size:15px}.story-layout{display:grid;grid-template-columns:39% 1fr;gap:clamp(45px,7vw,100px);padding-top:95px;padding-bottom:120px}.story-aside img{width:100%;max-height:575px;object-fit:cover;object-position:center 20%}.caption{border-bottom:1px solid var(--line);padding:18px 0;font:23px 'Playfair Display',Georgia,serif}.caption span{font:13px 'DM Sans',sans-serif;color:#806851}.story-text{max-width:660px}.story-text p{font-size:17px;line-height:1.9;color:#564337;margin:0 0 25px}.story-text .drop{font-family:'Playfair Display',Georgia,serif;font-size:24px;line-height:1.55;color:#34251d;margin-top:20px}.story-text blockquote{margin:50px 0;padding:15px 0 15px 28px;border-left:2px solid #b88645;font:italic 29px/1.4 'Playfair Display',Georgia,serif;color:#91652d}.story-text .closing-line{font-family:'Playfair Display',Georgia,serif;font-size:23px;font-style:italic;color:#8f642c}.day-nav{display:flex;justify-content:center;gap:14px;padding:32px 0;border-bottom:1px solid var(--line)}.day-nav a{min-width:185px;text-decoration:none;background:#fffaf0;border:1px solid var(--line);padding:14px 20px;font-weight:700;color:#8d612f}.day-nav span{display:block;font-size:12px;color:#6a5643;font-weight:400}.program-day{display:grid;grid-template-columns:35% 1fr;gap:70px;padding-top:65px;padding-bottom:65px;border-bottom:1px solid var(--line);scroll-margin-top:18px}.program-day:last-child{border-bottom:0;margin-bottom:55px}.day-intro h2{font-size:43px;margin:14px 0}.day-intro p{color:#745b46}.program-list{margin:0;padding:0;list-style:none;counter-reset:item}.program-list li{counter-increment:item;border-bottom:1px solid #e6d7be;padding:13px 10px 13px 47px;position:relative;line-height:1.55}.program-list li:before{content:counter(item,decimal-leading-zero);position:absolute;left:0;color:#ac7b3e;font:16px 'Playfair Display',Georgia,serif}.program-note,.sunday-note{background:#f1e2c7;padding:20px 26px;color:#6f533c}.sunday-note p{margin-bottom:16px}.tribute-section{padding-top:60px;padding-bottom:100px}.tributes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.tribute-card{background:#fffdf7;border:1px solid #e4d2b4;padding:30px;min-height:295px;display:flex;flex-direction:column}.tribute-number{color:#ad7a36;font:18px 'Playfair Display',Georgia,serif}.tribute-card h2{font-size:25px;margin:16px 0 10px}.tribute-excerpt{font-size:14px;line-height:1.7;color:#6d5946;flex:1}.read-tribute{align-self:flex-start;border:0;background:none;padding:0 0 4px;color:#946426;border-bottom:1px solid #946426;font-weight:700;font-size:13px}.source-note{font-size:13px;color:#74604c;margin-top:30px}.tribute-dialog{border:0;padding:0;max-width:min(760px,calc(100vw - 28px));max-height:min(85vh,900px);background:#fffaf0;color:#39291e;box-shadow:0 30px 90px #21170f80}.tribute-dialog::backdrop,.lightbox::backdrop{background:#211811d9}.dialog-inner{padding:50px clamp(24px,6vw,70px);position:relative}.dialog-inner h2{font-size:37px;margin:12px 0 30px}.close-dialog{position:absolute;right:20px;top:13px;background:none;border:0;font-size:35px;color:#7a5630}.tribute-full p{white-space:normal;line-height:1.85;margin-bottom:17px}.gallery-section{padding-top:55px;padding-bottom:100px}.gallery-grid{columns:4 210px;column-gap:15px}.gallery-tile{display:block;width:100%;padding:0;border:0;background:none;margin:0 0 15px;break-inside:avoid;overflow:hidden}.gallery-tile img{width:100%;height:auto;transition:transform .3s}.gallery-tile:hover img{transform:scale(1.04)}.lightbox{border:0;background:#201915;color:white;padding:50px;max-width:96vw;max-height:96vh;overflow:hidden}.lightbox img{max-height:calc(96vh - 100px);max-width:calc(96vw - 100px);object-fit:contain}.lightbox button{position:absolute;background:#271b17bb;border:1px solid #fff5;color:white}.lightbox-close{top:10px;right:15px;font-size:30px;width:43px;height:43px}.lightbox-prev,.lightbox-next{top:48%;width:45px;height:56px;font-size:35px}.lightbox-prev{left:5px}.lightbox-next{right:5px}.lightbox-count{position:absolute;bottom:9px;left:0;width:100%;text-align:center;font-size:12px}.detail-section{padding-top:70px;padding-bottom:110px;max-width:970px}.detail-card{display:grid;grid-template-columns:150px 1fr;gap:45px;border-top:1px solid var(--line);padding:35px 0}.detail-card:last-child{border-bottom:1px solid var(--line)}.detail-date{text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:12px;color:#a27235;padding-top:10px}.detail-card h2{font-size:33px;margin:0 0 10px}.detail-time{font-weight:700;color:#8d5f2b}.detail-card p{margin-bottom:14px}.detail-card strong{font-weight:700}.parking{background:#efe0c5;border-left:2px solid #a97837;padding:10px 15px;max-width:650px}.detail-card .text-link{display:inline-block;margin-top:8px}
@media(max-width:900px){.site-header nav{gap:12px}.site-header nav a{font-size:12px}.hero{min-height:570px}.hero-copy{padding:45px}.hero h1{font-size:clamp(43px,5.5vw,66px)}.event-grid,.tributes-grid{grid-template-columns:repeat(2,1fr)}.story-layout{gap:35px}.program-day{gap:40px}}
@media(max-width:700px){.nav-wrap{min-height:68px;padding:0 20px}.brand{font-size:17px}.menu-button{display:block;background:none;border:1px solid #a78a66;color:#fff2dc;padding:7px 11px;font-size:13px}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;background:#35251d;padding:16px 24px 24px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 35px #0003}.site-header nav.open{display:flex}.site-header nav a{font-size:15px;padding:11px 0;border-bottom:1px solid #ffffff20}.hero{display:block}.hero-image{height:420px}.hero-image img{object-position:center 22%}.hero-copy{padding:54px 26px 65px}.hero h1{font-size:clamp(48px,10vw,68px)}.intro-panel{grid-template-columns:1fr;gap:20px;padding:70px 24px}.intro-panel p{font-size:20px}.section{padding:70px 0}.section-top{align-items:start;flex-direction:column}.event-grid,.tributes-grid{grid-template-columns:1fr}.event-card{min-height:auto}.memory-feature{grid-template-columns:1fr}.memory-photo{height:390px}.memory-copy{padding:65px 28px}.page-heading{padding:65px 20px 53px}.story-layout{display:block;padding-top:50px;padding-bottom:80px}.story-aside{max-width:410px;margin:0 auto 55px}.story-text blockquote{font-size:25px}.day-nav{overflow-x:auto;justify-content:start}.day-nav a{flex:0 0 155px;min-width:155px}.program-day{display:block;padding:52px 0}.day-intro{margin-bottom:28px}.day-intro h2{font-size:38px}.detail-card{grid-template-columns:1fr;gap:4px}.lightbox{padding:35px 15px}.lightbox img{max-width:calc(96vw - 30px)}}

/* Invitation-inspired visual direction shared across the full memorial. */
:root{--ink:#512c19;--deep:#5a301a;--gold:#c58f29;--line:#e9cb8b;--cream:#fff9e8;--warm:#ffe7ac;--paper:#fff8e7}
body{background:var(--paper);color:var(--ink)}
h1,h2,h3{font-family:'Libre Caslon Display','Playfair Display',Georgia,serif}
.hero{min-height:min(950px,88vh);display:block;position:relative;overflow:hidden;background:radial-gradient(ellipse 54% 83% at 71% 28%,#fffdf0 0%,#fff9e4 54%,transparent 100%),linear-gradient(105deg,#f8bf4e 0%,#ffe7a4 31%,#fff4cf 63%,#f0b33d 100%)}
.hero:before,.hero:after{content:'';position:absolute;pointer-events:none;border:1px solid #fff6d1a3;border-radius:50%}
.hero:before{width:720px;height:720px;top:-410px;left:-290px}
.hero:after{width:760px;height:760px;bottom:-505px;right:-330px}
.hero-inner{width:min(1330px,calc(100% - 80px));margin:auto;min-height:inherit;display:grid;grid-template-columns:44% 56%;gap:36px;align-items:center;position:relative;z-index:1;padding:70px 0}
.hero-image{width:min(490px,100%);height:610px;justify-self:center;border:11px solid #ffe9ad;border-bottom-width:13px;border-radius:255px 255px 23px 23px;box-shadow:18px 22px 34px #8c551f30;background:#f5cc73}
.hero-image:after{display:none}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hero-copy{display:block;background:none;padding:0 0 0 clamp(24px,3vw,62px)}
.hero .eyebrow{font-size:15px;letter-spacing:.33em;color:#5c3c2b;font-weight:700}
.hero h1{font-size:clamp(65px,6.1vw,112px);line-height:.92;letter-spacing:-.045em;margin:28px 0 22px;color:#542b19;font-weight:400}
.nee{font:600 clamp(24px,2.4vw,40px) 'DM Sans',Arial,sans-serif;color:#914a23;margin:0 0 8px}
.life-dates{font:22px 'Libre Caslon Display',Georgia,serif;letter-spacing:.14em;text-transform:none;color:#4e3225;margin:0}
.life-dates span{color:#734529;margin:0 7px}
.hero-rule{height:3px;width:100px;background:#b98a28;margin:30px 0 30px}
.hero-quote{font:23px/1.45 'Libre Caslon Display',Georgia,serif;max-width:535px;color:#50372a;margin:0 0 35px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.hero-button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;padding:11px 25px;border-radius:30px;font:700 15px 'DM Sans',sans-serif;text-decoration:none;transition:transform .2s,background .2s}
.hero-button:hover{transform:translateY(-2px)}
.hero-button.primary{background:#62351d;color:#fff8e7;border:1px solid #62351d}
.hero-button.secondary{background:transparent;color:#5c341e;border:1px solid #925c28}
.site-header{background:#fff4d7;color:#57341e;border-bottom:1px solid #e4c781}
.nav-wrap{min-height:73px}
.brand i,.brand-mark{color:#965b25}
.brand-mark{border-color:#c5944d}
.site-header nav a{color:#6a452b;font-size:14px}
.site-header nav a:hover,.site-header nav a.active{color:#a36b21}
.eyebrow{color:#8f5823;font-size:13px}
.subhero{background:radial-gradient(ellipse at 68% 15%,#fffdf1 0%,#fff4d2 45%,transparent 85%),linear-gradient(105deg,#f7c45d,#ffe6a4 42%,#f4c662);border-bottom-color:#dab169}
.page-heading{padding:90px 24px 77px}.page-heading h1{color:#542b19;font-size:clamp(52px,6vw,82px)}
.intro-panel h2,.section h2,.memory-copy h2{color:#542b19}
.intro-panel h2 em{color:#a36c25}
.event-card,.tribute-card,.day-nav a{background:#fffdf2;border-color:#e9cf99}
.event-card{border-radius:4px}.event-card h3,.tribute-card h2,.day-intro h2,.detail-card h2{color:#542b19}
.card-link,.text-link,.read-tribute{color:#854c20}
.memory-feature{background:#6d3c1e}.memory-copy h2{color:#fff7dc}
.memory-copy .eyebrow{color:#f3cb87}.memory-copy h2 em{color:#f4d392}
.button-light{background:#f9d482;border-radius:27px}
footer{background:#4d2b1b}
.story-aside img{border-radius:240px 240px 12px 12px;border:8px solid #f5d285;box-shadow:12px 18px 25px #6b38181a}
.program-note,.sunday-note,.parking{background:#fff0c4}
.tribute-dialog{background:#fff9e8}.detail-card{border-color:#e2c48a}
#parking{scroll-margin-top:90px}
@media(max-width:1100px){.hero-inner{width:min(100% - 50px,1100px);grid-template-columns:46% 54%}.hero-image{height:520px}.hero h1{font-size:clamp(59px,6.5vw,86px)}}
@media(max-width:700px){.site-header nav{background:#fff2cf}.site-header nav a{color:#5b391f;border-color:#bd915042}.menu-button{border-color:#ba8540;color:#5b391f}.hero{min-height:0}.hero-inner{width:100%;display:flex;flex-direction:column;gap:0;padding:47px 22px 75px}.hero-image{width:min(78vw,365px);height:min(96vw,460px);border-width:8px;flex:none}.hero-copy{padding:42px 2px 0;width:100%;max-width:520px}.hero h1{font-size:clamp(53px,12vw,78px);margin:20px 0}.hero .eyebrow{font-size:12px}.nee{font-size:24px}.life-dates{font-size:17px;letter-spacing:.07em}.hero-rule{margin:26px 0}.hero-quote{font-size:21px}.hero-button{font-size:14px;min-height:50px}.page-heading{padding:66px 20px 56px}}
