@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=DM+Sans:wght@400;500;600&display=swap";:root{--burgundy:#641d2b;--burgundy-deep:#401018;--gold:#b88a34;--cream:#f7f0e4;--paper:#fffdf8;--ink:#2c2523;--muted:#6f625d;--line:#b88a346b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:DM Sans,sans-serif;font-size:16px;line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.site-header{z-index:20;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#401018f5;border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;min-height:76px;padding:10px clamp(20px,5vw,72px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:13px;text-decoration:none;display:flex}.monogram{width:48px;height:48px;color:var(--gold);border:1px solid var(--gold);letter-spacing:.08em;border-radius:50%;place-items:center;font:600 14px/1 Cormorant Garamond,serif;display:grid}.brand-copy{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}nav{gap:clamp(18px,3vw,40px);display:flex}nav a{letter-spacing:.04em;font-size:.86rem;text-decoration:none}:is(nav a:hover,nav a:focus-visible){color:#e2c784}.menu-button{color:#fff;font:inherit;background:0 0;border:1px solid #ffffff59;border-radius:99px;padding:8px 14px;display:none}.hero{background:radial-gradient(circle at 88% 20%,#b88a3424,#0000 29%),linear-gradient(135deg,#fffdf8 0%,#f7f0e4 100%);grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);align-items:center;gap:clamp(40px,7vw,110px);min-height:calc(100vh - 76px);padding:clamp(58px,8vw,112px) clamp(24px,7vw,112px);display:grid;overflow:hidden}.hero-copy{max-width:720px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.22em;margin:0 0 16px;font-size:.78rem;font-weight:600}h1,h2,h3{font-family:Cormorant Garamond,serif}h1{color:var(--burgundy);letter-spacing:-.045em;margin:0;font-size:clamp(4rem,8.2vw,8rem);font-weight:600;line-height:.77}.maiden{color:var(--burgundy);margin:22px 0 0;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-style:italic}.dates{letter-spacing:.08em;color:var(--muted);margin:8px 0 32px}blockquote{color:var(--burgundy);border-left:2px solid var(--gold);margin:0 0 18px;padding-left:22px;font:italic 500 clamp(1.5rem,2.5vw,2.15rem)/1.25 Cormorant Garamond,serif}.intro{max-width:620px;color:var(--muted);font-size:1.02rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button{border-radius:3px;justify-content:center;align-items:center;min-height:48px;padding:11px 21px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.button-primary{color:#fff;background:var(--burgundy)}.button-secondary{color:var(--burgundy);border:1px solid var(--burgundy)}.portrait-wrap{text-align:center;position:relative}.portrait-wrap:before{content:"";border:1px solid var(--gold);position:absolute;inset:-26px 18% 22%;transform:rotate(3deg)}.portrait-frame{background:#fff;padding:9px;position:relative;box-shadow:0 28px 80px #46261c33}.portrait-frame img{object-fit:contain;object-position:center;width:100%;max-height:72vh}.portrait-wrap>p{color:var(--burgundy);margin:24px auto 0;font:italic 500 1.25rem/1.4 Cormorant Garamond,serif;position:relative}.section{padding:clamp(76px,9vw,130px) clamp(22px,7vw,110px)}.page-hero{color:#fff;background:radial-gradient(circle at 84% 16%, #b88a3447, transparent 26%), var(--burgundy-deep);text-align:center;padding:clamp(64px,8vw,108px) clamp(22px,7vw,110px) clamp(52px,6vw,78px)}.page-hero h1{color:#fff;font-size:clamp(3.6rem,8vw,6.8rem);line-height:.9}.page-hero p:last-child{color:#eadfd7;max-width:700px;margin:22px auto 0;font-size:1.05rem}.page-hero .eyebrow{margin-bottom:18px}.page-footer-links{flex-wrap:wrap;justify-content:center;gap:18px;margin-bottom:4px;display:flex}.page-footer-links a{color:#e2c784;text-decoration:none}.section-heading{text-align:center;max-width:720px;margin:0 auto 48px}.section-heading h2,.tribute-panel h2{color:var(--burgundy);margin:0 0 14px;font-size:clamp(2.7rem,5vw,4.6rem);line-height:1}.section-heading>p:last-child{color:var(--muted)}.story{background:#fffdf8}.story-heading{max-width:800px}.story-deck{font-size:1.08rem}.story-opening{grid-template-columns:minmax(270px,.7fr) minmax(0,1.45fr);align-items:center;gap:clamp(36px,7vw,100px);max-width:1120px;margin:0 auto 64px;display:grid}.story-portrait{background:var(--cream);border:1px solid var(--line);margin:0;padding:10px;transform:rotate(-1.2deg);box-shadow:0 20px 60px #4010181f}.story-portrait img{aspect-ratio:4/5;object-fit:cover;width:100%}figcaption{color:var(--muted);letter-spacing:.04em;padding:12px 4px 3px;font-size:.8rem}.story-prose h3,.story-body h3{color:var(--burgundy);margin:0 0 12px;font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.1}.story-prose p,.story-body>p,.story-image-break p{color:#514744}.story-body{max-width:880px;margin:0 auto}.story-body>h3{margin-top:48px}.story-quote{color:var(--burgundy);background:var(--cream);border-left:3px solid var(--gold);margin:54px 0;padding:30px 38px;font-size:clamp(1.7rem,3vw,2.35rem)}.story-image-break{grid-template-columns:minmax(0,1.4fr) minmax(230px,.65fr);align-items:center;gap:44px;margin:58px -80px 42px 0;display:grid}.memoir-page{border:1px solid var(--line);background:#fff;margin:0;padding:8px;transform:rotate(1.4deg);box-shadow:0 18px 55px #412a1f21}.memoir-page img{object-fit:cover;object-position:top;width:100%;max-height:580px}.story-closing{text-align:center;margin-top:44px;font:italic 600 2rem Cormorant Garamond,serif;color:var(--burgundy)!important}.source-note{border-top:1px solid var(--line);margin-top:38px;padding-top:20px;font-size:.86rem;font-style:italic;color:var(--muted)!important}.story-photo-row{grid-template-columns:1.15fr .85fr;gap:18px;margin:42px -70px 54px;display:grid}.story-photo-row figure,.story-family-photo{border:1px solid var(--line);background:#fff;margin:0;padding:8px;box-shadow:0 16px 45px #412a1f1a}.story-photo-row img{object-fit:cover;object-position:center;width:100%;height:370px}.story-photo-row figure:first-child img{object-position:50% 35%}.story-family-photo{max-width:720px;margin:42px auto 0;transform:rotate(-.4deg)}.story-family-photo img{object-fit:cover;object-position:center 26%;width:100%;max-height:620px}.gallery{background:var(--cream)}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;align-items:stretch;gap:18px;max-width:1240px;margin:0 auto;display:grid}.gallery-grid figure{background:#fff;flex-direction:column;margin:0;padding:8px;display:flex;box-shadow:0 12px 40px #40101814}.gallery-grid img{object-fit:cover;object-position:center;width:100%;height:320px}.gallery-grid .gallery-wide{grid-column:span 2}.gallery-grid .gallery-tall{grid-row:span 2}.gallery-grid .gallery-tall img{flex:1;min-height:686px}.gallery-grid .gallery-closing{grid-column:span 2}.gallery-grid figure:nth-child(2) img,.gallery-grid figure:nth-child(5) img,.gallery-grid figure:nth-child(12) img,.gallery-grid figure:nth-child(13) img{object-position:center 28%}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1180px;margin:0 auto;display:grid}.event-card{background:var(--cream);border-top:3px solid var(--gold);grid-template-columns:145px 1fr;gap:30px;min-height:310px;padding:clamp(26px,4vw,46px);display:grid}.event-card.featured{grid-column:1/-1}.event-date{min-height:190px;color:var(--burgundy);text-align:center;border-right:1px solid var(--line);text-transform:uppercase;letter-spacing:.1em;flex-direction:column;justify-content:center;align-items:center;padding-right:28px;font-size:.76rem;display:flex}.event-date strong{margin:2px 0;font:600 4.5rem/.85 Cormorant Garamond,serif}.event-details h3{color:var(--burgundy);margin:0;font-size:1.9rem;line-height:1.1}.event-details h3:not(:first-child){margin-top:26px}.time{margin:5px 0 13px;font-weight:600}address{color:var(--muted);font-style:normal}.dark-section{color:#fff;background:var(--burgundy-deep)}.dark-section .section-heading h2{color:#fff}.dark-section .section-heading>p:last-child{color:#d6c8c1}.stream-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:980px;margin:0 auto;display:grid}.stream-card{text-align:center;background:#ffffff0a;border:1px solid #e2c78466;padding:44px}.stream-card .cross{color:var(--gold);font-size:1.6rem}.stream-card h3{margin:14px 0 2px;font-size:2rem}.stream-card p{color:#d6c8c1;margin-top:0}.status{color:#e2c784;text-transform:uppercase;letter-spacing:.08em;border:1px solid #e2c78466;border-radius:99px;margin-top:12px;padding:8px 13px;font-size:.78rem;display:inline-block}.programme{background:#fbf8f2}.placeholder-card{border:1px solid var(--line);background:#fff;align-items:center;gap:26px;max-width:800px;margin:0 auto;padding:32px;display:flex;box-shadow:0 16px 50px #412a1f12}.book-icon{aspect-ratio:4/5;color:#fff;background:var(--burgundy);border:3px double var(--gold);flex:0 0 78px;place-items:center;font:600 2rem Cormorant Garamond,serif;display:grid}.placeholder-card h3{color:var(--burgundy);margin:0;font-size:1.7rem}.placeholder-card p{color:var(--muted);margin:4px 0 0}.tributes{background:linear-gradient(#641d2beb,#401018f5)}.tribute-panel{color:#fff;text-align:center;max-width:820px;margin:0 auto}.tribute-panel h2{color:#fff}.tribute-panel>p:not(.eyebrow){color:#eadfd7;max-width:680px;margin:0 auto 28px}.button-muted{color:#dccfaa;cursor:default;border:1px solid #dccfaa73}footer{color:#d9ccc5;text-align:center;background:#241114;justify-items:center;gap:14px;padding:54px 24px;display:grid}footer p{margin:0}.footer-line{color:var(--gold);font:italic 1.3rem Cormorant Garamond,serif}@media (max-width:850px){.menu-button{display:inline-flex}nav{background:var(--burgundy-deep);flex-direction:column;gap:0;padding:8px 20px 20px;display:none;position:absolute;top:76px;left:0;right:0}nav.open{display:flex}nav a{border-bottom:1px solid #ffffff1a;padding:13px 5px}.hero{grid-template-columns:1fr}.hero-copy{text-align:center}h1{font-size:clamp(4rem,16vw,6.8rem)}blockquote{text-align:left;display:inline-block}.intro{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.portrait-wrap{max-width:540px;margin:20px auto 0}.event-grid,.stream-grid{grid-template-columns:1fr}.event-card.featured{grid-column:auto}.story-opening{grid-template-columns:1fr}.story-portrait{max-width:480px;margin:0 auto}.story-image-break{grid-template-columns:1fr;margin-right:0}.memoir-page{max-width:430px;margin:0 auto}.story-photo-row{margin-left:0;margin-right:0}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .gallery-closing{grid-column:span 1}}@media (max-width:570px){.brand-copy{display:none}.site-header{min-height:68px}nav{top:68px}.hero{min-height:auto;padding-top:58px}h1{font-size:4rem;line-height:.83}.event-card{grid-template-columns:1fr;gap:18px}.event-date{border-right:0;border-bottom:1px solid var(--line);align-items:flex-start;min-height:auto;padding:0 0 18px}.event-date strong{font-size:3.8rem}.event-details h3{font-size:1.7rem}.stream-card{padding:34px 20px}.placeholder-card{align-items:flex-start;padding:24px}.book-icon{flex-basis:58px}.story-quote{padding:24px}.story-photo-row{grid-template-columns:1fr}.story-photo-row img{height:auto;max-height:560px}.gallery-grid{grid-template-columns:1fr}.gallery-grid .gallery-wide,.gallery-grid .gallery-tall,.gallery-grid .gallery-closing{grid-area:auto}.gallery-grid .gallery-tall img{min-height:0}.gallery-grid img{height:auto;max-height:560px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.memories-hero{background:radial-gradient(circle at 18% 22%, #b88a3447, transparent 27%), var(--burgundy-deep)}.memories-list{background:var(--cream)}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1120px;margin:0 auto;display:grid}.memory-card{border-top:3px solid var(--gold);background:#fff;flex-direction:column;gap:22px;min-width:0;padding:clamp(26px,4vw,42px);display:flex;position:relative;box-shadow:0 15px 46px #40101814}.memory-mark{color:#b88a3438;font:600 5rem/.8 Cormorant Garamond,serif;position:absolute;top:8px;right:22px}.memory-message{color:#453b38;white-space:pre-wrap;margin:0;font:500 clamp(1.28rem,2vw,1.55rem)/1.45 Cormorant Garamond,serif;position:relative}.memory-photos{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.memory-photos.count-1{grid-template-columns:1fr}.memory-photos.count-2{grid-template-columns:1fr 1fr}.memory-photos img{object-fit:cover;background:var(--cream);width:100%;height:210px}.memory-byline{border-top:1px solid var(--line);gap:2px;margin-top:auto;padding-top:18px;display:grid}.memory-byline strong{color:var(--burgundy)}.memory-byline span,.memory-byline time{color:var(--muted);font-size:.83rem}.empty-state{max-width:760px;color:var(--muted);border:1px solid var(--line);text-align:center;background:#fff;margin:0 auto;padding:38px}.empty-state p{margin:0}.share-section{grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr);align-items:start;gap:clamp(40px,7vw,100px);max-width:1240px;margin:0 auto;display:grid}.share-intro{position:sticky;top:112px}.share-intro h2{color:var(--burgundy);margin:0 0 18px;font-size:clamp(2.8rem,5vw,4.6rem);line-height:1}.share-intro p:last-child{color:var(--muted)}.tribute-form{background:var(--cream);border-top:3px solid var(--gold);gap:22px;padding:clamp(26px,5vw,48px);display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.tribute-form label{color:var(--burgundy);gap:7px;font-weight:600;display:grid}.tribute-form label>span{font-size:.9rem}.tribute-form input[type=text],.tribute-form textarea{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #c9b9aa;border-radius:2px;padding:13px 14px}.tribute-form textarea{resize:vertical;min-height:180px}.tribute-form input:focus,.tribute-form textarea:focus{border-color:var(--gold);outline:3px solid #b88a343d}.photo-field{background:#ffffff8c;border:1px dashed #bca98f;padding:18px}.photo-field input{color:var(--ink);font-weight:400}.photo-field small,.form-note{color:var(--muted);font-size:.8rem;font-weight:400}.form-note{margin:-4px 0 0}.honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.submit-button{cursor:pointer;width:fit-content;font:inherit;border:0}.submit-button:disabled{opacity:.65;cursor:wait}.form-status{margin:-8px 0 0;padding:12px 15px;font-size:.9rem}.form-status.success{color:#245936;background:#e7f3e9}.form-status.error{color:#7b1e2e;background:#f8e4e7}.admin-shell{background:#f5efe5;min-height:100vh;padding:clamp(28px,6vw,76px)}.admin-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:24px;max-width:1120px;margin:0 auto 38px;padding-bottom:24px;display:flex}.admin-header h1{font-size:clamp(3rem,6vw,5.5rem);line-height:.85}.admin-header p:not(.eyebrow){color:var(--muted);margin:14px 0 0}.admin-list{gap:24px;max-width:1120px;margin:0 auto;display:grid}.admin-card{border-top:3px solid var(--gold);background:#fff;padding:clamp(24px,4vw,42px);box-shadow:0 14px 42px #40101814}.admin-card-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.admin-card-head h2{color:var(--burgundy);margin:0;font-size:2rem}.admin-card-head p,.admin-card-head time{color:var(--muted);margin:0;font-size:.84rem}.admin-message{white-space:pre-wrap;border-block:1px solid #eadfce;margin:26px 0;padding:22px 0;font-size:1.05rem}.admin-photos{grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;display:grid}.admin-photos figure{min-width:0;margin:0}.admin-photos img{object-fit:contain;background:#f5f1e9;width:100%;height:250px}.admin-photos figcaption{overflow-wrap:anywhere}.admin-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.admin-actions button{cursor:pointer;font:inherit;border:0}.button-reject{color:#6f1a28;background:#f7e4e7}.admin-empty,.admin-denied{text-align:center;border-top:3px solid var(--gold);background:#fff;max-width:680px;margin:10vh auto;padding:42px}.admin-empty h2,.admin-denied h1{color:var(--burgundy);margin-top:0}@media (max-width:850px){.memory-grid,.share-section{grid-template-columns:1fr}.share-intro{position:static}.admin-header{flex-direction:column;align-items:flex-start}}@media (max-width:570px){.form-grid,.memory-photos,.memory-photos.count-2{grid-template-columns:1fr}.memory-photos img{height:auto;max-height:520px}.admin-card-head{flex-direction:column}.admin-photos{grid-template-columns:1fr}.admin-photos img{height:auto;max-height:520px}}#share{scroll-margin-top:100px}.page-hero>.button{margin-top:20px}.gallery-grid figure>a{display:block}.gallery-grid figcaption{overflow-wrap:anywhere;white-space:pre-wrap}@media (max-width:570px){.brand-copy{font-size:.9rem;display:inline}}
