@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--orange:#c65e30;--ink:#382e2b;--muted:#766660}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fffdfb;font:15px/1.8 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.2}h2{font-size:clamp(34px,4vw,54px);margin:10px 0 22px}h1 em,h2 em{color:var(--orange)}.top{display:flex;justify-content:space-between;align-items:center;padding:20px 6%;gap:25px}.brand{display:flex;align-items:center;gap:12px;color:var(--orange);font:24px 'Playfair Display',serif;line-height:1}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:8px}.ribbon{font-size:34px}.top nav{display:flex;gap:26px;font-size:13px;flex-wrap:wrap}.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:570px;background:radial-gradient(circle at 10% 15%,#ffe5ce,transparent 55%),#fff5eb}.hero-copy{padding:90px 7vw;align-self:center}.eyebrow,.kicker{font-size:11px;letter-spacing:3px;font-weight:700;color:var(--orange);text-transform:uppercase}.hero h1{font-size:clamp(48px,5.6vw,85px);letter-spacing:-2px;margin:22px 0}.hero-copy p{max-width:500px;color:#6d5850}.hero-date{font-size:12px;letter-spacing:1px;margin-top:28px!important}.btn,button{display:inline-block;background:var(--orange);border:0;border-radius:4px;padding:13px 24px;color:white;font:700 13px 'DM Sans',sans-serif;cursor:pointer;margin-top:12px}.btn:hover,button:hover{background:#a94620}.hero-photo{position:relative;min-height:450px}.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-tag{position:absolute;bottom:25px;left:25px;background:#fff9f1e8;padding:10px 16px;color:#a94620;font:italic 19px Georgia}.intro{text-align:center;background:var(--orange);color:white;padding:16px;font:italic 17px Georgia}.section{max-width:1200px;margin:auto;padding:100px 30px}.story{display:grid;grid-template-columns:1.4fr .8fr;gap:90px;align-items:center}.story-copy{color:#574d48;line-height:2}.quote{text-align:center;background:#fff1e5;border-radius:150px 150px 8px 8px;padding:45px 35px}.quote-symbol{font:100px Georgia;color:#d59b7c;height:90px}.quote p{font:italic 25px/1.6 'Playfair Display',serif}.quote-foot{color:var(--orange);font-size:11px;letter-spacing:2px}.gallery-section{background:#fff7f0;max-width:none}.gallery-section>.section-heading,.gallery-grid,.gallery-section>.empty{max-width:1140px;margin-left:auto;margin-right:auto}.section-heading{margin-bottom:30px}.section-heading p{color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-grid figure{margin:0;background:white;border-radius:8px;overflow:hidden}.gallery-grid img{width:100%;height:290px;object-fit:cover;display:block}.gallery-grid figcaption{padding:6px 15px;color:var(--muted);font-size:12px}.empty{padding:30px;border:1px dashed #d5aa91}.memory-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px}.memory-card,.form-card,.panel{background:#fffaf6;border:1px solid #eddbcf;border-radius:8px;padding:30px;margin-bottom:15px}.heart{font-size:36px;color:var(--orange)}.memory-card p{font:italic 21px/1.6 'Playfair Display',serif}.memory-card small{color:var(--muted)}.form-card h3{font-size:31px;margin:0}.form-card h3 span{color:var(--orange)}.form-card p{color:var(--muted);font-size:13px}label{display:block;font-size:12px;font-weight:700;margin:15px 0}input,textarea,select{display:block;width:100%;padding:13px;border:1px solid #dfcbbd;border-radius:4px;font:14px 'DM Sans',sans-serif;background:white}textarea{resize:vertical}.trap,.sr{position:absolute;left:-9999px}.subscribe{background:#f3dfcf;padding:75px 7%;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.subscribe p{color:var(--muted)}.subscribe form{display:flex;gap:10px}.subscribe form input{min-width:0}.subscribe form button{white-space:nowrap;margin:0}footer{text-align:center;background:#fff9f4;padding:55px 20px;color:var(--muted)}footer .footer-mark{font-size:45px;color:var(--orange)}footer p{font:italic 23px 'Playfair Display',serif;color:var(--ink);margin:8px}footer small{font-size:12px}footer a{font-size:12px;text-decoration:underline;display:inline-block;margin-top:20px}.notice{position:fixed;bottom:20px;left:20px;right:20px;background:white;padding:18px;border:2px solid var(--orange);box-shadow:0 4px 30px #0002}.admin,.verify{max-width:950px;margin:50px auto;padding:0 24px}.admin h1{font-size:45px}.admin .panel{margin:35px 0}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px}.admin-grid img{width:100%;height:180px;object-fit:cover}.inline{display:inline-block;margin-right:10px}.panel article{border-bottom:1px solid #ddd;padding:15px 0}@media(max-width:800px){.top{display:block}.top nav{margin-top:20px;gap:15px}.hero,.story,.memory-layout,.subscribe{grid-template-columns:1fr}.hero-copy{padding:60px 30px}.hero-photo{min-height:420px}.story{gap:35px}.section{padding:65px 22px}.gallery-grid,.admin-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid img{height:220px}.subscribe{gap:10px}}@media(max-width:520px){.gallery-grid,.admin-grid{grid-template-columns:1fr}.subscribe form{display:block}.subscribe button{margin-top:12px}.hero h1{letter-spacing:-1px}.intro{font-size:14px}}

.admin{max-width:1120px;margin:32px auto;padding:20px}.admin input:not([type=checkbox]),.admin textarea,.admin select{display:block;width:100%;box-sizing:border-box;padding:12px;margin:6px 0 16px;border:1px solid #cdbeb5;border-radius:10px;background:#fff;color:#382e2b}.admin label{display:block;margin:12px 0}.admin .panel{padding:24px;border:1px solid #e6d4c9;border-radius:18px;margin:24px 0}.admin .admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.admin img{max-width:100%;height:200px;object-fit:cover;border-radius:12px}.admin button{padding:12px 18px;margin:6px 8px 6px 0;border-radius:10px;border:1px solid #9c4320;background:#a94721;color:#fff;min-height:44px;cursor:pointer}.admin article{border-top:1px solid #e6d4c9;padding:20px 0}.admin .inline{display:inline-block;margin-right:14px}.admin a{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #164c46;outline-offset:3px}@media(max-width:600px){.admin{padding:16px;margin:12px auto}.admin .panel{padding:16px}.admin .admin-grid{grid-template-columns:1fr}}
