:root{--ink:#20322f;--deep:#173f3b;--green:#28665e;--gold:#c6a05a;--cream:#fbf8f1;--paper:#fffdf9;--mist:#e9f0ec;--line:#d9dfd9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}.site-header{background:rgba(255,253,249,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.nav-wrap{max-width:1180px;margin:auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:45px;height:45px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;color:var(--deep)}.brand strong,.brand small{display:block}.brand strong{font-family:Georgia,serif;font-size:18px}.brand small{font-size:11px;text-transform:uppercase;letter-spacing:1.6px;color:#73807c}.site-header nav{display:flex;gap:25px;font-size:14px;font-weight:700}.site-header nav a:hover{color:var(--green)}.hero{min-height:720px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:65px 24px 80px;background:radial-gradient(circle at 50% 20%,#f7edda 0,transparent 28%),linear-gradient(180deg,#f6faf7,var(--cream));position:relative;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(198,160,90,.25);border-radius:50%;top:140px}.hero:before{left:-160px}.hero:after{right:-160px}.portrait-frame{width:210px;height:210px;border:1px solid var(--gold);border-radius:50%;padding:8px;margin-bottom:25px;box-shadow:0 15px 50px rgba(32,50,47,.12)}.portrait-placeholder,.about-photo{width:100%;height:100%;background:linear-gradient(145deg,#dbe7e1,#9db8ae);display:flex;flex-direction:column;align-items:center;justify-content:center;color:white}.portrait-placeholder{border-radius:50%}.portrait-placeholder span,.about-photo span{font-family:Georgia,serif;font-size:65px}.portrait-placeholder small,.about-photo small{text-transform:uppercase;letter-spacing:1.3px}.eyebrow{text-transform:uppercase;letter-spacing:3px;color:var(--gold);font-size:12px;font-weight:800;margin:0 0 12px}.hero h1,.page-title h1{font-family:Georgia,serif;font-weight:400;color:var(--deep);margin:0;line-height:.95}.hero h1{font-size:clamp(58px,8vw,100px)}.hero h1 em{display:block;font-weight:400}.life-dates{letter-spacing:3px;font-weight:700;color:#586a65}.life-dates span{color:var(--gold);padding:0 8px}.hero-copy{font-family:Georgia,serif;font-size:21px;max-width:620px}.hero-actions{display:flex;gap:12px;margin-top:15px}.button{border:0;border-radius:999px;display:inline-flex;justify-content:center;align-items:center;padding:13px 23px;font-weight:800;font-size:14px;cursor:pointer}.primary{background:var(--deep);color:white}.primary:hover{background:var(--green)}.ghost{border:1px solid var(--deep);color:var(--deep)}.light{background:white;color:var(--deep)}.content-width{max-width:1100px;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px}.narrow{max-width:800px}.intro{text-align:center;padding-top:90px;padding-bottom:60px}.ornament,.large-flower{color:var(--gold);font-size:25px}.intro h2,.memory-invite h2,.wall h2,.about-copy h2,.funeral-card h2,.admin-dashboard h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(30px,4vw,44px);line-height:1.2;color:var(--deep)}.intro>p{font-size:19px;max-width:760px;margin:20px auto}.intro blockquote{font-family:Georgia,serif;font-style:italic;font-size:24px;color:var(--green);margin:40px auto}.photo-strip{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:18px;padding-bottom:100px;align-items:center}.photo-card,.gallery-placeholder{background:linear-gradient(145deg,#dbe7e1,#9db8ae);min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;box-shadow:0 12px 30px rgba(32,50,47,.1)}.photo-2{min-height:380px}.photo-card small,.gallery-placeholder small{text-transform:uppercase;letter-spacing:1.8px}.memory-invite{background:var(--deep);color:white;padding:65px max(28px,calc((100vw - 1044px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px}.memory-invite>div{max-width:700px}.memory-invite h2{color:white;margin:8px 0}.page-main{min-height:70vh;padding-bottom:100px}.page-title{text-align:center;padding:90px 24px 65px;background:linear-gradient(180deg,#edf4f0,var(--cream))}.page-title h1{font-size:clamp(48px,7vw,78px)}.page-title>p:last-child{max-width:650px;margin:22px auto 0;font-size:18px}.tribute-form,.admin-login,.admin-form fieldset{background:var(--paper);padding:32px;border:1px solid var(--line);box-shadow:0 12px 30px rgba(32,50,47,.07);border-radius:4px}.tribute-form{margin-bottom:75px}label{display:block;font-weight:800;margin-bottom:21px}input,textarea{width:100%;margin-top:7px;border:1px solid #bdc9c4;background:white;color:var(--ink);padding:13px 14px;font:inherit;border-radius:3px}textarea{resize:vertical}.file-label span{display:block;font-size:13px;color:#71807b;font-weight:400}.file-label input{border-style:dashed}.form-status{min-height:24px;color:var(--green);font-weight:700}.wall>h2{text-align:center}.empty{text-align:center;color:#687872}.memory-grid{columns:2;column-gap:20px}.memory-card{break-inside:avoid;background:white;padding:25px;margin:0 0 20px;border:1px solid var(--line);border-top:3px solid var(--gold)}.memory-card img{width:100%;height:auto;max-height:430px;object-fit:cover;margin-bottom:18px}.memory-card p{font-family:Georgia,serif;font-size:19px}.memory-card strong{color:var(--green)}.funeral-card{text-align:center;background:white;margin-top:10px;padding-top:55px;padding-bottom:55px;border:1px solid var(--line);box-shadow:0 15px 40px rgba(32,50,47,.07)}.funeral-card>p{max-width:590px;margin:0 auto 35px}.detail-list{border-top:1px solid var(--line)}.detail-list div{display:grid;grid-template-columns:1fr 1fr;text-align:left;padding:18px;border-bottom:1px solid var(--line)}.detail-list small{text-transform:uppercase;letter-spacing:1.5px;color:#78847f}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.gallery-placeholder:nth-child(2),.gallery-placeholder:nth-child(5){background:linear-gradient(145deg,#d7c4a2,#a7895f)}.gallery-placeholder:nth-child(3),.gallery-placeholder:nth-child(4){background:linear-gradient(145deg,#cad7dd,#849fa6)}.gallery-cta{text-align:center;margin-top:55px}.about-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:65px;align-items:center}.about-photo{min-height:540px}.about-copy p{font-size:18px}.roles{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.roles span{padding:8px 14px;background:var(--mist);border-radius:30px;color:var(--deep);font-weight:700}.admin-login{max-width:500px;margin:auto}.admin-login h2{font-family:Georgia,serif;font-size:35px}.admin-heading{display:flex;justify-content:space-between;align-items:center}.text-button{border:0;background:none;text-decoration:underline;cursor:pointer}.admin-form fieldset{margin:0 0 22px}.admin-form legend{font-family:Georgia,serif;font-size:25px;color:var(--deep);padding:0 8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.admin-memories{margin-top:70px}.admin-memories article{background:white;border:1px solid var(--line);padding:16px;display:flex;justify-content:space-between;gap:15px;margin-bottom:12px}.admin-memories article img{width:80px;height:80px;object-fit:cover;float:left;margin-right:12px}.admin-memories article button{align-self:center;border:1px solid #9b3434;background:white;color:#8b2929;padding:8px 13px;cursor:pointer}footer{background:#102c29;color:#dfe9e5;text-align:center;padding:45px 20px}.footer-inner>span{color:var(--gold)}footer p{margin:5px}footer .dates{font-size:13px;letter-spacing:2px}footer a{display:inline-block;margin-top:15px;font-size:12px;opacity:.6;text-decoration:underline}
@media(max-width:760px){.nav-wrap{display:block;padding:12px 18px}.brand{justify-content:center;margin-bottom:10px}.site-header nav{overflow-x:auto;gap:18px;padding-bottom:4px;justify-content:flex-start}.site-header nav a{white-space:nowrap}.hero{min-height:auto;padding-top:45px}.portrait-frame{width:170px;height:170px}.photo-strip,.gallery-grid{grid-template-columns:1fr 1fr}.photo-strip .photo-card{min-height:260px}.photo-strip .photo-2{min-height:300px}.memory-invite{display:block}.memory-invite .button{margin-top:15px}.memory-grid{columns:1}.about-layout{grid-template-columns:1fr;gap:35px}.about-photo{min-height:430px}.form-grid{grid-template-columns:1fr}.page-title{padding-top:65px}}
@media(max-width:480px){.photo-strip,.gallery-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column;width:100%;max-width:280px}.detail-list div{grid-template-columns:1fr;gap:4px}.tribute-form{padding:22px}.admin-heading{align-items:flex-start}.life-dates{font-size:13px;letter-spacing:1.5px}}
.portrait-image{width:100%;height:100%;object-fit:cover;object-position:50% 43%;border-radius:50%}.about-real{object-fit:cover;object-position:50% 43%}.gallery-grid figure{margin:0;height:330px;overflow:hidden;background:#dbe7e1;box-shadow:0 12px 30px rgba(32,50,47,.12)}.gallery-grid figure img{width:100%;height:100%;object-fit:cover}.featured-photos{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:18px;padding-bottom:100px;align-items:center}.featured-photos img{width:100%;height:320px;object-fit:cover;box-shadow:0 12px 30px rgba(32,50,47,.1)}.featured-photos img:nth-child(2){height:390px}.admin-uploads{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px}.admin-uploads form{background:white;border:1px solid var(--line);padding:22px}.admin-uploads h3{font-family:Georgia,serif;font-size:22px;margin-top:0}.admin-uploads input{margin-bottom:14px}@media(max-width:760px){.admin-uploads{grid-template-columns:1fr}.featured-photos{grid-template-columns:1fr 1fr}.featured-photos img,.featured-photos img:nth-child(2){height:300px}.featured-photos img:last-child{grid-column:1/-1}}@media(max-width:480px){.featured-photos{grid-template-columns:1fr}.featured-photos img:last-child{grid-column:auto}}
