@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#2d4337;--muted:#738074;--green:#58765a;--green-dark:#3c5944;--cream:#fcfcf7;--line:#e5e9df;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a9be83;outline-offset:4px}svg{width:24px;height:24px}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:-60px;left:20px;z-index:100;background:white;padding:14px}.skip-link:focus{top:10px}.site-header{height:93px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;gap:30px;background:#fdfdf9;border-bottom:1px solid #e8ebdf;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:29px;letter-spacing:-.7px;white-space:nowrap}.brand-dot{color:#93a873}.brand-mark{position:relative;display:grid;place-items:center;width:36px;height:40px}.brand-mark svg{fill:#6f8a64;width:30px;height:30px;transform:rotate(-13deg);margin-top:7px}.halo{position:absolute;width:22px;height:7px;border:1.5px solid #bfa76d;border-radius:50%;top:0;left:5px;transform:rotate(-12deg)}.site-header nav{display:flex;gap:30px;height:100%;align-items:center}.site-header nav a,.nav-link{font-size:13px;color:#6e776d;padding:8px 0}.site-header nav a{height:100%;display:flex;align-items:center;position:relative}.site-header nav a.active{color:var(--green-dark)}.site-header nav a.active:after{content:'';position:absolute;bottom:20px;left:50%;width:4px;height:4px;border-radius:50%;background:var(--green)}.site-header nav a:hover,.nav-link:hover{color:#263f2c}.header-actions{display:flex;align-items:center;gap:20px}.signin{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px}.divider{height:18px;width:1px;background:var(--line)}.language{display:flex;align-items:center;gap:6px}.language .icon{width:17px}.language select{border:0;background:transparent;color:var(--ink);font-size:12px;padding:5px 1px;cursor:pointer}.hero{position:relative;min-height:610px;display:grid;place-items:center;overflow:hidden;background:#eaf2e9}.hero-art{position:absolute;inset:0;background-image:url('assets/heaven-tree.jpg');background-size:cover;background-position:center 57%;opacity:.73}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,250,239,.78),rgba(250,251,244,.74) 37%,rgba(246,250,239,.67) 65%,rgba(242,249,233,.25)),linear-gradient(0deg,rgba(246,249,233,.65),transparent 25%,rgba(241,248,240,.15))}.hero-content{position:relative;text-align:center;padding:65px 20px 93px;z-index:1}.eyebrow{display:flex;justify-content:center;align-items:center;gap:11px;font-size:10px;font-weight:600;letter-spacing:2.1px;color:#607758}.eyebrow .icon{width:15px;height:15px}.tiny-line{height:1px;width:27px;background:#97aa84;opacity:.6}h1{font-family:var(--serif);font-weight:400;font-size:80px;line-height:1.04;letter-spacing:-2.1px;margin:27px 0 23px}h1 em{font-family:Georgia,serif;font-size:.83em;font-weight:400;color:#5c7955;letter-spacing:-2.9px}.hero-description{font-size:15px;line-height:1.9;color:#61705e;margin:0 0 30px}.hero-buttons{display:flex;justify-content:center;gap:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;border:1px solid transparent;border-radius:6px;padding:16px 22px;font-size:13px;font-weight:500;min-height:51px;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:white;box-shadow:0 4px 12px #2c573310}.primary:hover{background:var(--green-dark);box-shadow:0 6px 18px #2c573322}.secondary{border-color:#a8b79b;background:#fdfef7d9;color:#47613f}.secondary:hover{background:#fff}.button .icon{width:17px;height:17px}.button .arrow{margin-left:10px}.hero-note{display:flex;justify-content:center;align-items:center;gap:8px;font-size:11px;color:#748269;margin:21px 0 0}.little-paw{font-size:18px}.scroll-note{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:10px;letter-spacing:.5px;color:#6c7e62}.scroll-note span:last-child{font-size:18px}.hero-caption{position:absolute;right:4%;bottom:25px;display:flex;align-items:center;gap:7px;font-size:10px;color:#5f7753;font-style:italic}.status-dot{width:5px;height:5px;border-radius:50%;background:#7f9a67}.sparkle{position:absolute;color:#9b9e64}.sparkle-one{left:18%;top:33%;font-size:27px}.sparkle-two{right:21%;top:59%;font-size:15px}.section-wrap{max-width:1280px;margin:auto;padding:0 5%}.garden{padding-top:57px;padding-bottom:25px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.section-kicker{color:#829273;font-size:9px;font-weight:650;letter-spacing:2.1px;margin-bottom:10px}h2{font-family:var(--serif);font-size:43px;font-weight:400;letter-spacing:-.8px;margin:0 0 12px;line-height:1.12}.section-heading p{font-size:12px;color:var(--muted);margin:0;line-height:1.7}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;color:#5e7651;padding:10px 0;white-space:nowrap}.text-link:hover{color:#2b4828}.text-link .icon{width:19px}.garden-tools{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:28px;padding-bottom:17px;border-bottom:1px solid var(--line)}.filter-tabs{display:flex;gap:5px}.filter-tabs button{padding:9px 14px;font-size:11px;border-radius:30px;color:#78826f;white-space:nowrap}.filter-tabs button.selected{background:#eaf0e3;color:#506b43}.search{display:flex;align-items:center;gap:8px;border:1px solid #e2e7dc;background:#fff;border-radius:5px;padding:9px 12px}.search .icon{width:15px;height:15px;color:#89977e}.search input{width:167px;border:0;outline:0;background:transparent;font-size:11px;color:var(--ink)}.search:focus-within{border-color:#8caa7d}.sample-note{font-size:10px;color:#889180;margin:14px 0}.memorial-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.memorial-card{border:1px solid #e4e8dd;border-radius:9px;background:#fff;overflow:hidden;transition:transform .25s,box-shadow .25s}.memorial-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #536a4310}.card-open{width:100%;padding:0;display:block;text-align:left}.pet-photo-wrap{height:170px;position:relative;background:#edf0e5;overflow:hidden}.pet-photo{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}.memorial-card:hover .pet-photo{transform:scale(1.05)}.pet-photo.fallback{object-fit:contain;padding:55px;opacity:.6}.photo-badge{position:absolute;left:10px;top:10px;background:#ffffffdc;padding:5px 7px;border-radius:4px;color:#546747;font-size:8px;letter-spacing:.6px}.photo-heart{position:absolute;right:10px;bottom:10px;background:#ffffffdd;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:#718763}.photo-heart .icon{width:13px;height:13px}.pet-info{padding:17px 15px 13px}.pet-heading{display:flex;align-items:center;justify-content:space-between;gap:5px}.pet-heading h3{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1;margin:0 0 6px}.pet-heading .icon{color:#a6b496;fill:currentColor;stroke:none;width:13px;height:13px}.pet-years{font-size:9px;letter-spacing:.8px;color:#8a9382}.pet-quote{font-family:Georgia,serif;font-size:11px;line-height:1.7;font-style:italic;color:#7c8375;margin:12px 0 0;min-height:37px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pet-footer{border-top:1px solid #eff0e9;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:9px;color:#939a89}.flower-button{display:flex;align-items:center;gap:5px;padding:4px;color:#879673;font-size:10px}.flower-button .icon{width:14px;height:14px}.flower-button.given{color:#ad8658}.garden-footnote{display:flex;align-items:center;justify-content:center;gap:10px;color:#949d87;font-size:10px;padding:25px 0 16px}.garden-footnote .icon{width:15px;height:15px}.empty-state{text-align:center;padding:45px;color:var(--muted)}.empty-state>.icon{width:35px;height:35px}.how-section{background:#f1f4e9;margin-top:20px;padding:55px 0;text-align:center;border-top:1px solid #e8eddf;border-bottom:1px solid #e8eddf}.how-section h2{font-size:39px}.steps{display:grid;grid-template-columns:repeat(3,1fr);text-align:left;gap:55px;margin:40px 0 30px}.steps article{position:relative;padding:0 15px}.steps article>.icon{height:27px;width:27px;color:#81956f;margin-bottom:10px}.step-number{position:absolute;right:20px;top:-3px;font-family:var(--serif);color:#d3ddc6;font-size:43px}.steps h3{font-size:14px;font-weight:500}.steps p{font-size:12px;color:#849078;line-height:1.9;max-width:280px}.how-section .button{font-size:12px;padding:12px 20px;min-height:45px}.closing{text-align:center;padding:54px 20px 48px}.closing>.icon{fill:#94a67d;stroke:none;width:25px;height:25px;transform:rotate(-10deg)}.closing p{font-family:var(--serif);font-size:30px;line-height:1.3;color:#6d7b5f;margin:19px 0}.closing>span{font-size:8px;letter-spacing:2px;color:#a1a98f}.site-footer{border-top:1px solid var(--line);margin:0 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0;color:#8c9581;font-size:10px}.site-footer .brand{font-size:21px;color:#6e7f60;gap:7px}.site-footer .brand .icon{width:17px;height:17px;fill:currentColor;stroke:none}.site-footer .nav-link{font-size:10px}dialog{width:min(540px,calc(100% - 32px));max-height:90dvh;padding:37px;border:1px solid #e1e8d8;border-radius:16px;background:#fcfdf8;color:var(--ink);box-shadow:0 25px 100px #20342630;overflow:auto}dialog::backdrop{background:#263c325c;backdrop-filter:blur(5px)}.close-modal{position:absolute;top:10px;right:13px;font-size:26px;color:#839278;width:32px;height:32px;border-radius:50%;z-index:2}.close-modal:hover{background:#e9efdf}dialog h2{font-size:36px;padding-right:12px}dialog p{font-size:13px;line-height:1.8;color:#7c8872}dialog form{display:grid;gap:17px;margin-top:24px}.field{display:grid;gap:7px;text-align:left;font-size:12px;color:#586c4c}.field input,.field select,.field textarea{border:1px solid #dce4d2;border-radius:6px;background:#fff;padding:11px;color:var(--ink);width:100%;min-width:0}.field textarea{resize:vertical;min-height:90px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-note{font-size:10px!important;line-height:1.7!important;margin:0}.form-error{color:#a54636!important;margin:0;font-size:12px;min-height:0}.dialog-kicker{font-size:9px;letter-spacing:2px;color:#869976;margin:0 0 13px}.detail-photo{height:230px;width:100%;object-fit:cover;border-radius:9px;margin:12px 0 24px}.detail-title{display:flex;justify-content:space-between;align-items:center}.detail-title h2{margin-bottom:5px}.detail-story{white-space:pre-wrap;overflow-wrap:anywhere}.detail-actions{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.detail-actions .button{padding:12px 16px}.delete-button{font-size:11px;color:#98746a;text-decoration:underline}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:#3d5943;color:#fff;border:1px solid #87987c;padding:14px 23px;border-radius:8px;box-shadow:0 4px 30px #34412c25;z-index:50;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:calc(100% - 32px);font-size:12px;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}body.modal-open{overflow:hidden}@media(min-width:1500px){.hero{min-height:670px}.hero-content{padding-top:75px}.section-wrap{max-width:1400px}.pet-photo-wrap{height:195px}h1{font-size:90px}}@media(max-width:1050px){.site-header{padding:0 4%;gap:20px}.site-header nav{gap:18px}.site-header nav a,.nav-link{font-size:11px}.header-actions{gap:12px}.brand{font-size:26px}.memorial-grid{gap:12px}.pet-photo-wrap{height:145px}.hero{min-height:580px}.section-wrap{padding-left:4%;padding-right:4%}.pet-info{padding:14px 11px}.pet-quote{font-size:10px}.pet-footer{padding:8px 10px}.hero-caption{display:none}}@media(max-width:780px){.site-header{height:79px;flex-wrap:wrap;gap:0;padding:0 5%}.site-header nav{order:3;width:100%;justify-content:center;height:30px;gap:25px}.site-header nav a{font-size:10px}.site-header nav a.active:after{bottom:0}.site-header nav .nav-link{font-size:10px}.brand{font-size:23px}.brand-mark{height:37px;width:28px}.brand-mark svg{width:25px}.header-actions{margin-top:1px}.site-header>.brand{height:47px}.signin{font-size:11px}.hero{min-height:560px}.hero-content{padding:65px 20px 84px}h1{font-size:67px}.hero-description{font-size:13px}.eyebrow{font-size:8px;letter-spacing:1.3px}.sparkle-one{left:8%;top:27%}.sparkle-two{right:8%}.hero-art{background-size:auto 125%;background-position:center 56%}.hero-wash{background:linear-gradient(90deg,#f6faeec7,#f9fbefb8,#f6faeeb5)}.memorial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pet-photo-wrap{height:170px}.section-heading{align-items:flex-start}.section-heading h2{font-size:35px}.section-heading .text-link{font-size:10px;gap:5px;margin-top:22px}.section-heading p{max-width:290px;font-size:11px}.garden-tools{flex-wrap:wrap}.search{margin-left:auto}.steps{gap:20px}.steps article{padding:0}.steps p{font-size:11px}.site-footer{flex-wrap:wrap;justify-content:center}.site-footer>span:first-of-type{display:none}.how-section h2{font-size:35px}.garden-footnote{line-height:1.6;text-align:center}}@media(max-width:520px){.hero{min-height:535px}.hero-content{padding:50px 18px 83px}.eyebrow{gap:6px;font-size:7px;letter-spacing:1.1px}.eyebrow .tiny-line{width:15px}h1{font-size:55px;letter-spacing:-1.7px;line-height:1.08;margin:24px 0}h1 em{letter-spacing:-1.8px;font-size:.84em}.hero-description{font-size:12px;line-height:1.9;max-width:320px;margin:0 auto 26px}.hero-description br{display:none}.hero-buttons{gap:9px}.button{font-size:10px;padding:13px 13px;gap:6px;min-height:46px}.button .icon{width:14px}.button .arrow{display:none}.hero-note{font-size:9px;gap:5px}.scroll-note{font-size:9px;bottom:15px}.sparkle-one{font-size:20px;top:20%;left:5%}.sparkle-two{top:57%;right:5%}.section-wrap{padding-left:5%;padding-right:5%}.garden{padding-top:35px}.section-kicker{font-size:8px;letter-spacing:1.5px}.section-heading h2{font-size:31px}.section-heading{gap:10px}.section-heading .text-link{font-size:0;gap:0;min-width:28px}.section-heading .text-link .icon{width:24px}.section-heading p{font-size:11px}.garden-tools{gap:12px;margin-top:21px}.filter-tabs{width:100%;justify-content:space-between;gap:0}.filter-tabs button{padding:8px 10px;font-size:10px}.search{width:100%}.search input{width:100%}.sample-note{line-height:1.6;font-size:9px}.memorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.pet-photo-wrap{height:156px}.pet-heading h3{font-size:25px}.pet-quote{font-size:10px}.pet-footer{font-size:8px}.garden-footnote{font-size:9px;padding-bottom:0}.how-section{padding:40px 0}.how-section h2{font-size:32px}.steps{grid-template-columns:1fr;gap:24px;margin:30px 10px;text-align:left}.steps article{padding-left:50px;min-height:75px}.steps article>.icon{position:absolute;left:0;top:10px}.steps h3{margin:6px 0}.steps p{margin:0;max-width:none;font-size:12px}.step-number{font-size:28px;top:3px;right:0;opacity:.6}.closing{padding:40px 20px}.closing p{font-size:28px}.site-footer{gap:17px}.site-footer>.brand{width:100%;justify-content:center}.site-footer .nav-link{font-size:9px}.site-footer>span{font-size:9px}dialog{padding:30px 23px}.detail-photo{height:190px}.header-actions{gap:9px}.language{gap:2px}.language .icon{width:15px}.signin .icon{width:16px}.signin{gap:4px}.divider{margin-left:3px}.brand{gap:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.pet-heading h3,.pet-footer>span{overflow-wrap:anywhere;min-width:0}.pet-heading h3{max-width:calc(100% - 18px)}

/* A quiet, translucent garden behind the homepage message. */
.hero{min-height:max(650px,50vw);display:grid;place-items:start center;background:#f5f7ee;isolation:isolate}
.hero-art{position:absolute;inset:0;width:100%;background-image:url('assets/heaven-garden-v3.png');background-size:cover;background-position:center;opacity:.55;filter:saturate(.42) contrast(.88);pointer-events:none}
.hero-wash{position:absolute;inset:0;display:block;pointer-events:none;background:radial-gradient(ellipse 48% 36% at 50% 30%,rgba(250,251,243,.86),rgba(248,250,240,.50) 65%,transparent 100%),linear-gradient(180deg,rgba(247,249,240,.14) 0%,transparent 58%,rgba(252,252,247,.24) 83%,var(--cream) 100%)}
.hero-content{position:relative;width:100%;padding:80px 24px 275px;text-align:center;z-index:1}
.hero .eyebrow{justify-content:center;gap:10px;font-size:9px;letter-spacing:1.7px;color:#53684d}
.hero h1{font-size:clamp(48px,4.7vw,76px);line-height:1.1;letter-spacing:-1.8px;margin:22px 0 18px;color:#2d4337}
.hero h1 br{display:none}
.hero h1 em{letter-spacing:-2px;color:#526d4c}
.hero-description{font-size:14px;line-height:1.9;max-width:610px;margin:0 auto 24px;color:#52634f}
.hero-description br{display:block}
.hero-buttons{justify-content:center;flex-wrap:wrap;gap:13px}
.hero-buttons .button{font-size:12px;padding:14px 20px;min-height:49px}
.hero-buttons .primary{background:#4e6d50;box-shadow:0 4px 16px #334d3420}
.hero-buttons .primary:hover{background:#3c5944}
.hero-buttons .secondary{background:#fcfdf7ed;border-color:#99aa8d;color:#425b3d}
.hero-note{display:none}
.hero .sparkle{display:none}
.hero .scroll-note{display:flex;bottom:20px;z-index:1;color:#5c7052}
.hero-caption{display:flex;bottom:26px;z-index:1;color:#5c7052}
@media(min-width:1800px){.hero-content{padding-top:135px}}
@media(max-width:1050px){
  .hero-content{padding-top:50px;padding-bottom:270px}
  .hero h1{font-size:48px}
  .hero h1 br{display:none}
  .hero-description{font-size:13px}
  .hero-caption{display:none}
}
@media(max-width:780px){
  .hero{min-height:800px}
  .hero-content{padding:52px 22px 320px}
  .hero .eyebrow{font-size:8px;letter-spacing:1.2px}
  .hero h1{font-size:clamp(44px,8vw,62px);margin:22px 0}
  .hero h1 br{display:block}
  .hero-description{max-width:370px;font-size:12px;margin-bottom:24px}
  .hero-description br{display:none}
  .hero-art{background-size:auto 480px;background-repeat:no-repeat;background-position:center bottom;opacity:.5;mask-image:linear-gradient(180deg,transparent 38%,#000 44%)}
  .hero-wash{background:linear-gradient(180deg,#f5f7ee 0%,rgba(245,247,238,.96) 28%,rgba(245,247,238,.62) 45%,rgba(245,247,238,.08) 65%,rgba(252,252,247,.12) 86%,var(--cream) 100%)}
  .hero-buttons .button{font-size:11px;padding:13px 14px;min-height:46px}
  .hero-note{font-size:9px;margin-top:16px}
  .hero .scroll-note{font-size:9px;bottom:14px;gap:6px}
}
