*{box-sizing:border-box}html{background:#f7f5f0}body{margin:0;color:#252c27;font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 max(calc((100% - 1120px)/2),6vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8e5de;background:#f7f5f0}.brand{display:flex;align-items:center;gap:11px;font:600 19px 'Playfair Display',serif;letter-spacing:-.4px}.brand-icon{color:#577364;font-size:27px}.brand small{display:block;color:#8b9189;font:500 9px 'DM Sans',sans-serif;letter-spacing:1.6px;text-transform:uppercase;margin-top:-2px}.site-header nav a,.public-pill{font-size:12px;color:#676e67}.site-header nav a span{color:#587966;margin-left:5px}.public-pill{display:flex;align-items:center;gap:8px}.public-pill i,.dot{width:6px;height:6px;border-radius:50%;background:#84a38b;display:inline-block}.wrap{max-width:1120px;margin:auto;padding-left:30px;padding-right:30px}.hero{min-height:555px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;padding-top:60px;padding-bottom:75px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#819080}.hero h1,.public-intro h1{font:500 clamp(46px,6vw,70px)/1.04 'Playfair Display',serif;letter-spacing:-2.7px;margin:23px 0}.hero h1 em{color:#6b8772;font-weight:500}.hero-copy>p{max-width:420px;color:#747b74;line-height:1.9;font-size:14px;margin:0 0 27px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:#354b3e;color:white;border:0;border-radius:3px;padding:14px 19px;font:600 12px 'DM Sans',sans-serif;cursor:pointer;transition:background .2s}.button:hover{background:#526e5b}.button span{font-size:17px;font-weight:400}.hero-note{margin-top:25px;color:#92968f;font-size:11px;display:flex;align-items:center;gap:9px}.hero-art{height:400px;position:relative;display:flex;align-items:center;justify-content:center}.sun{position:absolute;width:300px;height:300px;border-radius:50%;background:#e9e8dd;top:35px;left:50%;transform:translateX(-50%)}.arch{position:relative;margin-top:10px;width:240px;height:320px;border-radius:120px 120px 6px 6px;background:#a7b3a0;box-shadow:0 22px 45px #596b5a24;display:grid;place-items:center}.arch-inner{width:208px;height:288px;border-radius:108px 108px 3px 3px;border:1px solid #ffffff78;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#f7f5eb}.arch-inner>span{font-size:34px}.arch-inner p{font:italic 35px/1.1 'Playfair Display',serif;text-align:center;margin:14px 0 25px}.arch-inner small{font-size:8px;letter-spacing:2px}.stone{position:absolute;bottom:11px;right:calc(50% - 170px);background:#f5f3ec;border:1px solid #e4e1d8;padding:12px 17px;border-radius:3px;color:#8a8c80;box-shadow:0 10px 25px #353b3214;font-size:9px;letter-spacing:2px}.stone span{font-size:15px;color:#67806b;margin-left:6px}.steps{border-top:1px solid #e7e4dc;border-bottom:1px solid #e7e4dc;display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding-top:33px;padding-bottom:34px}.steps>div>span{color:#8a9b8b;font-size:10px;letter-spacing:1.2px}.steps h3{font:500 18px 'Playfair Display',serif;margin:9px 0 4px}.steps p{color:#838980;font-size:12px;margin:0}.memorial-list{padding-top:65px;padding-bottom:75px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section-head h2{font:500 34px 'Playfair Display',serif;margin:5px 0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.memorial-card{padding:20px;background:#fff;border:1px solid #eeece5;display:flex;align-items:center;gap:15px;transition:transform .2s,border .2s}.memorial-card:hover{transform:translateY(-2px);border-color:#bdc9b9}.card-flower{font-size:24px;color:#899e8a}.memorial-card h3{font:500 18px 'Playfair Display',serif;margin:0 0 3px}.memorial-card p{font-size:11px;color:#8a9089;margin:0}.arrow{margin-left:auto;color:#758776}footer{border-top:1px solid #e8e5de;text-align:center;padding:25px;color:#92968f;font-size:10px;letter-spacing:.4px}footer span{color:#849985;margin-right:6px}.login-wrap{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:45px 20px}.login-card{width:min(100%,420px);padding:42px 44px;background:white;border:1px solid #ebe9e2;box-shadow:0 14px 40px #3442360b}.lock-icon{margin:28px 0 12px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#eef1e9;color:#607b66;font-size:24px}.login-card h1,.admin-top h1{font:500 32px 'Playfair Display',serif;letter-spacing:-.5px;margin:0}.login-card>p,.admin-top p{font-size:12px;color:#858b83;margin:8px 0 25px}.login-card label,.panel label{display:block;font-size:10px;font-weight:700;letter-spacing:.4px;color:#656d65;margin:14px 0 6px}.login-card input,.panel input,.panel textarea{width:100%;border:1px solid #e4e5de;background:#fcfcfa;padding:12px 13px;border-radius:2px;font:12px 'DM Sans',sans-serif;color:#303831;outline:none}.login-card input:focus,.panel input:focus,.panel textarea:focus{border-color:#8da28f}.full{width:100%;margin-top:18px}.back-link{display:block;text-align:center;margin-top:19px;color:#899087;font-size:11px}.error{padding:10px;background:#fbefed;color:#9b4d45;font-size:11px;margin:16px 0}.admin-main{padding-top:64px;padding-bottom:80px}.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.admin-top h1{margin:7px 0 0;font-size:38px}.admin-top p{margin:7px 0 0}.text-button{background:none;border:1px solid #e3e4dc;padding:9px 13px;color:#727970;font:11px 'DM Sans',sans-serif;cursor:pointer}.admin-grid{display:grid;grid-template-columns:290px 1fr;gap:20px;align-items:start}.panel{background:white;border:1px solid #eae9e3;padding:25px}.create-panel{position:sticky;top:20px}.panel-icon{width:32px;height:32px;background:#eef1e9;border-radius:50%;display:grid;place-items:center;color:#67806b;font-size:20px}.panel h2{font:500 20px 'Playfair Display',serif;margin:14px 0 4px}.panel>p{font-size:11px;color:#899087;line-height:1.6;margin:0 0 18px}.panel form>.button{margin-top:16px}.slug-input{display:flex;border:1px solid #e4e5de;background:#fcfcfa;align-items:center;padding-left:11px;color:#8d938b;font-size:12px}.slug-input input{border:0;background:transparent}.slug-input:focus-within{border-color:#8da28f}.admin-cards{display:grid;gap:16px}.memorial-editor{padding:24px 27px}.editor-head{display:flex;justify-content:space-between;align-items:center}.editor-head h2{font-size:22px;margin:3px 0}.public-link{font-size:10px;color:#66816c}.url-box{margin:17px 0 20px;padding:12px 13px;background:#f6f7f2;display:grid;grid-template-columns:1fr auto;gap:6px}.url-box>span{font-size:8px;letter-spacing:1.4px;color:#8b9688;grid-column:1/-1}.url-box code{font:11px 'DM Sans',sans-serif;color:#566956;overflow:hidden;text-overflow:ellipsis}.url-box button{background:none;border:0;color:#68806b;font:600 10px 'DM Sans',sans-serif;cursor:pointer}.edit-form{border-bottom:1px solid #eeede8;padding-bottom:19px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.edit-form label{margin-top:12px}.edit-form input,.edit-form textarea{padding:10px 11px;font-size:11px}.edit-form .button{padding:10px 14px;font-size:10px;margin-top:12px}.photo-manager{padding-top:17px}.photo-head{display:flex;align-items:center;justify-content:space-between}.photo-head h3{font:500 16px 'Playfair Display',serif;margin:0}.photo-head span{font-size:9px;color:#999f96}.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.thumb{height:70px;width:70px;position:relative}.thumb img{width:100%;height:100%;object-fit:cover}.thumb form{position:absolute;top:2px;right:2px}.thumb button{border:0;background:#273229c9;color:white;border-radius:50%;height:20px;width:20px;font-size:15px;line-height:16px;cursor:pointer}.upload-form{margin-top:13px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.file-pick{border:1px dashed #cfd5cb;padding:9px 12px;color:#67806b;cursor:pointer;font-size:12px!important;margin:0!important}.file-pick input{display:none}.file-pick span{font-weight:500}.alt-input{max-width:180px;padding:9px!important}.upload-form small{font-size:9px;color:#a0a49d}.empty-state{padding:42px 20px;text-align:center;background:#f1f2ec;border:1px dashed #d9ddd3;color:#848d82}.empty-state>span{font-size:24px;color:#89a08a}.empty-state h3{font:500 18px 'Playfair Display',serif;color:#4c554d;margin:10px 0 5px}.empty-state p{font-size:11px;margin:0}.public-page{background:#fbfaf7}.memorial-hero{background:linear-gradient(180deg,#eff1e9,#f9f8f4);text-align:center;padding:83px 20px 68px}.public-intro{padding:0}.memorial-mark{font-size:35px;color:#809782;margin:16px 0 2px}.public-intro h1{font-size:58px;margin:4px 0 8px}.dates{font-size:12px;color:#8a9288;letter-spacing:1px;margin:0}.dates span{padding:0 8px;color:#a9aea6}.subtitle{max-width:480px;margin:20px auto 0;color:#778078;font:italic 18px 'Playfair Display',serif}.ornament{color:#a5b3a2;margin-top:26px;font-size:17px}.story{max-width:780px;text-align:center;padding-top:62px;padding-bottom:55px}.story>p{white-space:pre-wrap;font:400 17px/1.95 'Playfair Display',serif;color:#596159;margin:18px auto 0;max-width:680px}.gallery{padding-top:15px;padding-bottom:65px}.gallery>.eyebrow{display:block;text-align:center;margin-bottom:17px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.photo-grid figure{margin:0;height:260px;overflow:hidden;background:#eee}.photo-grid img{width:100%;height:100%;object-fit:cover}.closing{text-align:center;background:#f0f1e9;padding:40px 20px;color:#718673}.closing>span{font-size:23px}.closing p{font:italic 20px/1.5 'Playfair Display',serif;color:#586d5d;margin:8px 0 0}@media(max-width:760px){.site-header{height:68px;padding:0 21px}.wrap{padding-left:22px;padding-right:22px}.hero{grid-template-columns:1fr;gap:10px;padding-top:60px;padding-bottom:30px}.hero h1{font-size:52px}.hero-art{height:340px}.sun{width:250px;height:250px}.arch{width:210px;height:280px}.arch-inner{width:182px;height:252px}.stone{right:calc(50% - 150px);bottom:2px}.steps{grid-template-columns:1fr;gap:20px;padding-top:25px;padding-bottom:25px}.steps h3{margin:4px 0}.admin-main{padding-top:38px}.admin-grid{grid-template-columns:1fr}.create-panel{position:static}.admin-top h1{font-size:32px}.admin-top p{max-width:330px}.memorial-editor{padding:19px}.field-row{grid-template-columns:1fr;gap:0}.dates-row{grid-template-columns:1fr 1fr;gap:10px}.login-card{padding:33px 26px}.public-intro h1{font-size:44px}.memorial-hero{padding-top:65px;padding-bottom:52px}.story{padding-top:43px;padding-bottom:40px}.photo-grid{grid-template-columns:1fr 1fr}.photo-grid figure{height:190px}.url-box code{font-size:9px}}@media(max-width:380px){.upload-form{align-items:stretch}.upload-form small{width:100%}.alt-input{max-width:none}.hero h1{font-size:45px}}

.upload-button{border:0;background:#eef1e9;color:#617b65;padding:9px 12px;font:600 10px 'DM Sans',sans-serif;cursor:pointer}.upload-button:hover{background:#e3e9df}.upload-button span{font-size:14px;margin-left:5px}
