:root{--forest:#17241f;--forest2:#243a31;--gold:#c5a56b;--gold-light:#e5d4ad;--cream:#f7f4ed;--paper:#fffdf8;--ink:#252c27;--muted:#6c746e;--line:#ddd5c5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.75}.topline{height:4px;background:linear-gradient(90deg,var(--gold),#f0e4c9,var(--gold))}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,6vw,90px);background:#fffdf9;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(197,165,107,.25)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--forest);font-size:11px;font-weight:700;letter-spacing:.13em;line-height:1.35}.brand-mark{font-size:28px;color:var(--gold)}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.2em;color:#7e817a;margin-top:5px}.nav{display:flex;gap:clamp(15px,2.4vw,34px)}.nav a{font-size:12px;color:#465149;text-decoration:none;font-weight:600;transition:color .2s}.nav a:hover{color:#a17b3f}.menu-toggle{display:none;background:none;border:0;color:var(--forest);font-size:24px}.hero{min-height:780px;position:relative;display:flex;align-items:center;justify-content:center;background:var(--forest);color:white;overflow:hidden;padding:72px 20px 105px}.hero-photo{position:absolute;inset:0;background-image:url("assets/red-agbada-background.jpg");background-size:cover;background-position:center 34%;filter:saturate(.83);transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,22,18,.82),rgba(16,28,22,.69) 45%,rgba(13,23,19,.78)),linear-gradient(0deg,rgba(13,23,19,.92),transparent 45%,rgba(13,23,19,.28));backdrop-filter:saturate(.7)}.hero-content{position:relative;z-index:1;max-width:860px;text-align:center}.eyebrow{font-size:10px;letter-spacing:.25em;font-weight:700;color:var(--gold-light);margin:0 0 17px}.eyebrow span{display:inline-block;width:25px;height:1px;background:var(--gold);vertical-align:middle;margin:0 9px}.eyebrow.dark{color:#997a48}.hero h1,.intro-section h2,.story-heading h2,.tributes-section h2,.gallery-section h2,.events-section h2,.closing-section h2{font-family:"Cormorant Garamond",serif;font-weight:500;line-height:1.02;letter-spacing:-.025em}.hero h1{font-size:clamp(42px,6vw,76px);margin:0 0 16px;text-shadow:0 2px 16px #0004}.hero h1 em,.intro-section h2 em,.story-heading h2 em,.tributes-section h2 em,.gallery-section h2 em,.events-section h2 em{color:var(--gold-light);font-weight:400}.ornament{color:var(--gold);font-size:15px;margin:18px 0}.ornament span{display:inline-block;width:60px;height:1px;background:var(--gold);vertical-align:middle;margin:0 10px}.hero-name{font-family:"Cormorant Garamond",serif;font-size:clamp(24px,3vw,34px);margin:0}.hero-dates{color:#e7e2d6;font-size:13px;letter-spacing:.1em;margin:6px 0 12px}.hero-dates b{color:var(--gold);padding:0 9px}.hero-intro{font-size:13px;color:#e2e5df;margin:0 0 22px}.primary-link{display:inline-flex;gap:17px;align-items:center;border:1px solid rgba(229,212,173,.65);padding:10px 18px;text-decoration:none;color:white;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.primary-link span{font-size:18px;color:var(--gold-light)}.countdown-panel{margin:32px auto 0;max-width:600px;padding:19px 28px 15px;background:rgba(13,24,19,.47);border:1px solid rgba(229,212,173,.38);backdrop-filter:blur(7px)}.countdown-label{font-size:9px;letter-spacing:.2em;color:var(--gold-light);margin:0 0 10px}.countdown{display:grid;grid-template-columns:repeat(4,1fr)}.countdown div{display:flex;flex-direction:column;border-right:1px solid rgba(229,212,173,.25);line-height:1.25}.countdown div:last-child{border:0}.countdown strong{font-family:"Cormorant Garamond",serif;font-size:clamp(30px,4vw,43px);font-weight:500}.countdown span{font-size:10px;letter-spacing:.08em;color:#e0dfd6}.countdown-date{font-size:10px;color:#e1d8c5;margin:12px 0 0}.hero-bottom{position:absolute;bottom:0;left:0;right:0;text-align:center;background:rgba(8,17,13,.46);padding:15px 10px;color:#e8dcc0;font-family:"Cormorant Garamond",serif;font-size:16px;letter-spacing:.06em}.section-wrap{max-width:1120px;margin:0 auto;padding:95px 28px}.intro-section{text-align:center;max-width:900px}.intro-section h2,.tributes-section h2,.gallery-section h2,.events-section h2{font-size:clamp(40px,5vw,59px);margin:0 0 25px;color:var(--forest)}.intro-section h2 em,.tributes-section h2 em,.events-section h2 em{color:#9e804d}.intro-section p:not(.eyebrow){font-size:14px;color:#656c65;max-width:790px;margin:0 auto 15px}.intro-section .lead{font-size:16px!important;color:#343e36!important}.signature{font-family:"Cormorant Garamond",serif;font-size:24px;color:#8c7043;margin-top:28px}.signature span{color:#b49a68}.story-section{background:var(--forest);color:#e9e9df}.story-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,8vw,110px)}.story-heading{position:relative}.story-heading h2{font-size:clamp(42px,5vw,60px);margin:0;color:white}.years-badge{display:flex;align-items:center;gap:15px;margin-top:44px;color:var(--gold-light)}.years-badge strong{font-family:"Cormorant Garamond",serif;font-size:70px;font-weight:400;line-height:1}.years-badge span{font-size:11px;letter-spacing:.1em;line-height:1.5}.story-copy{font-size:13px;color:#d4d9d1}.story-copy h3{font-family:"Cormorant Garamond",serif;font-size:25px;font-weight:500;color:var(--gold-light);margin:0 0 9px}.story-copy p{margin:0 0 16px}.children-list{columns:2;padding-left:19px;margin:0 0 20px}.children-list li{padding:2px 0}.story-copy blockquote{border-left:2px solid var(--gold);padding:10px 0 10px 20px;margin:24px 0;font-family:"Cormorant Garamond",serif;font-size:23px;color:#f0e4c9}.yoruba{font-style:italic;color:var(--gold-light)}.tributes-section{background:var(--cream)}.tributes-section .section-wrap,.gallery-section .section-wrap,.events-section .section-wrap{text-align:center}.section-subtitle{font-size:13px;color:#737970;margin:-10px auto 36px;max-width:650px}.tribute-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;text-align:left}.tribute-card{background:#fffdf8;border:1px solid #e8e0d1;padding:27px 29px;position:relative;box-shadow:0 8px 25px rgba(45,47,35,.035)}.quote-mark{font-family:"Cormorant Garamond",serif;font-size:58px;line-height:.8;color:#c3a66e}.tribute-card p{font-family:"Cormorant Garamond",serif;font-size:18px;line-height:1.48;color:#454c45;margin:4px 0 22px}.tribute-card h3{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#8d7042;margin:0}.tribute-card small{font-size:10px;color:#878b83}.gallery-section{background:#1b2a23;color:#fff}.gallery-section h2{color:white}.gallery-section h2 em{color:var(--gold-light)}.light{color:#c3ccc4}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:13px;text-align:left}.gallery-grid figure{position:relative;margin:0;overflow:hidden;background:#2b3b32;border:1px solid rgba(229,212,173,.18)}.gallery-grid figure.gallery-main{grid-row:span 2}.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.gallery-grid figure:hover img{transform:scale(1.03)}.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 15px 12px;color:white;font-size:11px;background:linear-gradient(transparent,rgba(0,0,0,.7))}.gallery-grid figure.missing-image{background:linear-gradient(135deg,#31463a,#1c2a23)}.gallery-grid figure.missing-image:before{content:"✦";position:absolute;inset:0;display:grid;place-items:center;color:rgba(229,212,173,.55);font-size:30px}.gallery-grid figure.missing-image img{display:none}.gallery-note{font-size:11px;color:#bdc8be;margin:20px auto 0;max-width:700px}.gallery-note code{color:#e5d4ad}.events-section{background:#fbf9f3}.event-list{max-width:850px;margin:0 auto;text-align:left}.event-card{display:grid;grid-template-columns:105px 1fr;gap:25px;padding:25px 28px;margin:13px 0;border:1px solid #e6dece;background:#fffdf8}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #e7dfd1;padding-right:20px;color:#9a7a43}.event-date span{font-size:10px;letter-spacing:.18em}.event-date strong{font-family:"Cormorant Garamond",serif;font-size:52px;line-height:1.05;font-weight:500}.event-date small{font-size:8px;letter-spacing:.1em}.event-type{font-size:9px;letter-spacing:.18em;color:#9a7a43;font-weight:700;margin:0 0 3px}.event-info h3{font-family:"Cormorant Garamond",serif;font-size:27px;font-weight:500;color:#273b30;margin:0 0 6px}.event-info p{font-size:12px;color:#697169;margin:3px 0}.event-info a{display:inline-block;font-size:11px;font-weight:700;color:#8b6c3a;text-decoration:none;margin-top:9px;border-bottom:1px solid #cdb98e}.featured-event{border-color:#bba06a;background:#f7f1e5;box-shadow:inset 4px 0 #b99a5e}.reception{margin-top:14px!important}.contact-box{max-width:850px;margin:28px auto 0;padding:28px 30px;background:var(--forest);color:white;display:flex;align-items:center;justify-content:space-between;gap:30px;text-align:left}.contact-box .eyebrow{margin-bottom:4px}.contact-box h3{font-family:"Cormorant Garamond",serif;font-size:29px;font-weight:500;margin:0}.contact-box p:not(.eyebrow){font-size:11px;color:#d1d8d0;margin:4px 0 0}.contact-numbers{display:flex;flex-direction:column;gap:8px}.contact-numbers a{font-size:13px;color:var(--gold-light);text-decoration:none;white-space:nowrap}.closing-section{background:#17241f;color:white;text-align:center;padding:80px 20px 74px}.closing-ornament{font-size:25px;color:var(--gold);margin-bottom:10px}.closing-section .eyebrow{margin-bottom:14px}.closing-section h2{font-size:clamp(36px,5vw,55px);margin:0 0 15px;color:#ead9b4}.closing-section>p:not(.eyebrow){font-size:13px;color:#d6ddd5;margin:4px}.closing-line{height:1px;width:65px;background:var(--gold);margin:25px auto}.closing-name{font-family:"Cormorant Garamond",serif!important;font-size:24px!important;color:white!important}.closing-dates{font-size:10px;letter-spacing:.2em;color:var(--gold-light)}.closing-section .closing-final{margin-top:15px!important;font-family:"Cormorant Garamond",serif;font-size:20px!important;color:#ead9b4!important}.site-footer{display:flex;justify-content:space-between;gap:15px;padding:18px clamp(20px,6vw,90px);font-size:10px;color:#d0d5cd;background:#101a15;letter-spacing:.04em}
@media(max-width:760px){.site-header{height:72px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:72px;background:#fffdf9;padding:18px 25px 23px;box-shadow:0 12px 18px #0001;flex-direction:column;gap:15px}.nav.open{display:flex}.nav a{font-size:13px}.hero{min-height:740px;padding-top:54px}.hero-photo{background-position:56% center}.hero-shade{background:rgba(13,23,19,.76)}.hero h1{font-size:43px}.hero-name{font-size:25px}.countdown-panel{padding:17px 10px}.countdown strong{font-size:32px}.countdown span{font-size:9px}.countdown-date{font-size:9px}.hero-bottom{font-size:12px}.section-wrap{padding:68px 22px}.story-grid{grid-template-columns:1fr;gap:32px}.story-heading h2{font-size:47px}.years-badge{margin-top:22px}.tribute-grid{grid-template-columns:1fr}.tribute-card{padding:23px}.tribute-card p{font-size:17px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px}.gallery-grid figure.gallery-main{grid-row:span 2}.event-card{grid-template-columns:74px 1fr;gap:17px;padding:20px 15px}.event-date{padding-right:12px}.event-date strong{font-size:42px}.event-info h3{font-size:24px}.contact-box{align-items:flex-start;flex-direction:column;padding:24px}.contact-numbers{gap:5px}.site-footer{flex-direction:column;text-align:center}.children-list{columns:1}}
@media(max-width:390px){.hero h1{font-size:37px}.countdown strong{font-size:27px}.countdown-label{font-size:8px}.gallery-grid{grid-auto-rows:135px}.hero-dates{font-size:11px}.event-card{grid-template-columns:62px 1fr}.event-date strong{font-size:36px}}

/* RSVP and family support additions, preserving the original memorial palette */
.nav a[href="#rsvp"]{color:#987541}
.rsvp-section{background:#f4efe5;color:var(--ink)}.rsvp-section .section-wrap{padding-top:88px;padding-bottom:90px}.rsvp-section h2,.support-section h2{font-family:"Cormorant Garamond",serif;font-size:clamp(40px,5vw,59px);font-weight:500;line-height:1.02;color:var(--forest);margin:0 0 20px}.rsvp-section h2 em,.support-section h2 em{color:#9e804d;font-weight:400}.rsvp-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:25px;max-width:970px;margin:0 auto;text-align:left;align-items:stretch}.rsvp-form{padding:clamp(22px,4vw,38px);background:#fffdf8;border:1px solid #e5dac7;box-shadow:0 15px 40px #29372c0a}.form-intro{text-align:center;padding-bottom:19px;margin-bottom:22px;border-bottom:1px solid #e9dfcf}.form-flower{font-size:22px;color:#b69a62}.form-intro h3{font-family:"Cormorant Garamond",serif;font-size:29px;font-weight:500;color:#263a2e;margin:4px 0}.form-intro p{font-size:11px;color:#777d74;margin:0}.rsvp-form>label,.rsvp-choice legend{display:block;font-size:11px;font-weight:700;color:#37453a;margin:14px 0 6px}.rsvp-form label span,.rsvp-choice legend span{color:#9b6c39}.rsvp-form label small{font-weight:400;color:#7e827a}.rsvp-form input:not([type=radio]),.rsvp-form select,.rsvp-form textarea{width:100%;font:inherit;font-size:13px;color:#303b32;background:#fff;border:1px solid #ddd7ca;border-radius:2px;padding:12px 13px;outline:none}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-color:#a88a53;box-shadow:0 0 0 3px #a88a5318}.rsvp-form textarea{resize:vertical}.rsvp-choice{border:0;padding:0;margin:15px 0 19px}.rsvp-choice legend{margin-bottom:9px}.rsvp-choice label{display:flex;align-items:center;gap:9px;margin:8px 0;cursor:pointer}.rsvp-choice label span{display:block;color:#344237;background:#f7f3ea;border:1px solid #e4dac8;padding:10px 12px;font-size:12px;flex:1}.rsvp-choice input{accent-color:#7b6a43}.rsvp-choice input:checked+span{border-color:#a58a56;background:#f1e8d6}.rsvp-submit{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 17px;border:0;background:#20372b;color:white;font:inherit;font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.rsvp-submit span{font-size:18px;color:#e5d4ad}.form-privacy{font-size:10px;line-height:1.6;color:#7a8077;margin:15px 0 0}.rsvp-result{margin-top:15px;padding:13px;background:#f3ead8;border-left:3px solid #aa8d55;color:#384438;font-size:12px}.rsvp-side{padding:clamp(25px,4vw,39px);background:#1b2b23;color:#e5e8df}.rsvp-side h3{font-family:"Cormorant Garamond",serif;font-size:34px;line-height:1.1;font-weight:500;color:#f0e4c9;margin:0 0 16px}.rsvp-side p:not(.eyebrow){font-size:12px;color:#d0d7cf;line-height:1.8}.rsvp-side strong{color:#e7d4a8;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.rsvp-side-rule{height:1px;background:#a68c5a;width:55px;margin:23px 0}.rsvp-side a,.support-details a{font-size:11px;color:#e4d0a3;text-decoration:none;border-bottom:1px solid #a88d5c;padding-bottom:4px}.support-section{background:#fffdf8}.support-wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.support-wrap>div:first-child>p:not(.eyebrow){font-size:13px;color:#686f67;max-width:440px}.support-details{border:1px solid #e6ddcd;background:#f8f4eb;padding:28px}.support-details h3{font-family:"Cormorant Garamond",serif;font-size:27px;font-weight:500;color:#2c3c31;margin:0 0 14px}.support-details p{font-size:12px;color:#656c63;margin:9px 0}.support-details strong{color:#39463a}.support-details .verification-note{font-size:10px;color:#927344;font-style:italic;margin:15px 0}.support-details a{display:inline-block;color:#8a6d3d;margin-top:5px}
@media(max-width:760px){.rsvp-layout,.support-wrap{grid-template-columns:1fr;gap:18px}.rsvp-section .section-wrap,.support-section .section-wrap{padding-top:65px;padding-bottom:65px}.rsvp-side{padding:26px}.rsvp-form{padding:22px}.support-details{padding:23px}}
.payment-account{border-top:1px solid rgba(32,55,45,.16);padding:12px 0 4px;margin-top:10px}.payment-account h4{margin:0 0 8px;font-family:inherit;font-size:.92rem;letter-spacing:.04em}.payment-account p{margin:5px 0}.account-number{font-variant-numeric:tabular-nums;letter-spacing:.04em}.rsvp-result.ticket-result{padding:18px;border:1px solid rgba(32,55,45,.2);border-radius:12px;background:#f7f5ef;color:#20372d;margin-top:18px}.ticket-result h3{margin-top:0}.ticket-ref{font-size:1.25rem;font-weight:700;letter-spacing:.08em;overflow-wrap:anywhere}.ticket-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.ticket-actions button,.ticket-actions a{border:1px solid #20372d;background:#20372d;color:white;padding:10px 14px;border-radius:6px;text-decoration:none;cursor:pointer}.site-footer a{color:inherit;opacity:.8}
