:root{--paper:#f6f5f0;--ink:#182b27;--muted:#697873;--line:#dce2db;--green:#1f5a49;--deep:#143b32;--lime:#d8e87a;--white:#fffefa;--shadow:0 18px 48px #1c302014}*{box-sizing:border-box}html{overflow-y:scroll}::-webkit-scrollbar{background:0 0;width:6px;height:6px}::-webkit-scrollbar-track,::-webkit-scrollbar-track-piece,::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:var(--green);border-radius:0}::-webkit-scrollbar-thumb:hover{background:#a6bb53}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.topline{height:5px;background:linear-gradient(90deg,var(--green) 0 76%,var(--lime) 76%)}header{padding:26px 0 18px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:11px;align-items:center;font-weight:750;letter-spacing:-.03em}.mark{width:37px;height:37px;border-radius:50% 50% 50% 8px;background:var(--green);display:grid;place-items:center;color:#fff;font-size:19px}.topnote{font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.hero{position:relative;overflow:hidden;border-radius:26px;background:var(--deep);color:#f8f7ee;padding:58px 64px 54px;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;width:340px;height:340px;border:1px solid #ffffff19;border-radius:50%;right:5%;top:-210px;box-shadow:0 0 0 38px #ffffff08,0 0 0 78px #ffffff06}.eyebrow{display:flex;align-items:center;gap:9px;color:#d8e87a;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700}.eyebrow:before{content:"";width:25px;height:1px;background:currentColor}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(38px,5vw,62px);line-height:1.04;letter-spacing:-.035em;max-width:650px;margin:20px 0 15px}.hero p{margin:0;color:#d0d9d2;font-size:15px;line-height:1.65;max-width:540px}.search-panel{position:relative;margin:-25px 32px 0;background:var(--white);padding:18px;border:1px solid #e8e8df;border-radius:14px;box-shadow:0 12px 36px #172d2516;display:grid;grid-template-columns:1fr 200px auto;gap:12px;z-index:1}.field{height:52px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:#fff}.field svg{flex:none;color:#77857e}.field input,.field select{border:0;outline:0;background:transparent;color:var(--ink);font:inherit;width:100%;min-width:0}.field input::placeholder{color:#8a9690}.search-btn{border:0;border-radius:8px;padding:0 23px;background:var(--green);color:white;font:600 14px inherit;cursor:pointer;transition:.18s}.search-btn:hover{background:#174738;transform:translateY(-1px)}.results-head{padding:42px 0 18px;display:flex;justify-content:space-between;align-items:end;gap:16px}.results-head h2{font:400 29px Georgia,serif;margin:0 0 5px}.results-head p{color:var(--muted);font-size:13px;margin:0}.sort{font-size:12px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:21px;min-height:190px;display:flex;flex-direction:column;transition:border-color .18s,transform .18s,box-shadow .18s}.card:hover{transform:translateY(-2px);border-color:#aabcb0;box-shadow:0 12px 26px #1c30200c}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.card h3{font:600 17px/1.35 Georgia,serif;margin:0;letter-spacing:-.01em}.state-tag{background:#edf2e7;color:var(--green);border-radius:20px;padding:5px 9px;font-size:10px;font-weight:750;letter-spacing:.06em;white-space:nowrap}.location{color:var(--muted);font-size:13px;margin:12px 0 17px;display:flex;gap:7px;align-items:start}.details{margin-top:auto;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#354a42}.details span{display:flex;gap:6px;align-items:center}.details a{text-decoration:none}.details a:hover{text-decoration:underline}.empty{grid-column:1/-1;padding:52px 20px;text-align:center;background:var(--white);border:1px dashed #cbd4ca;border-radius:12px;color:var(--muted)}.pagination{padding:25px 0 52px;display:flex;justify-content:center;align-items:center;gap:12px}.page-btn{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:7px;padding:10px 16px;cursor:pointer}.page-btn:disabled{opacity:.42;cursor:default}.page-label{font-size:12px;color:var(--muted);min-width:105px;text-align:center}footer{border-top:1px solid var(--line);padding:20px 0 30px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:16px}.status{font-size:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #aac14f;outline-offset:2px}
@media(max-width:800px){.hero{padding:45px 34px 48px}.search-panel{grid-template-columns:1fr 170px;margin-left:16px;margin-right:16px}.search-btn{grid-column:1/-1;height:48px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.wrap{width:min(100% - 28px,1160px)}header{padding:18px 0 14px}.topnote{font-size:9px}.hero{padding:36px 24px 44px;border-radius:18px}h1{font-size:43px}.hero p{font-size:14px}.search-panel{margin:-22px 8px 0;padding:12px;grid-template-columns:1fr;gap:9px}.search-btn{grid-column:auto}.field{height:48px}.results-head{padding:32px 0 16px}.results-head h2{font-size:25px}.sort{display:none}.cards{grid-template-columns:1fr;gap:10px}.card{min-height:165px;padding:18px}.pagination{padding-bottom:36px}footer{flex-direction:column;gap:6px}}

/* Shared server-rendered page styles */
:root{color-scheme:light;--theme-primary:var(--green);--theme-hover:#a6bb53}
body{display:flex;min-height:100vh;flex-direction:column;line-height:1.6;-webkit-font-smoothing:antialiased}
body>main{width:min(1120px,calc(100% - 40px));margin-inline:auto}
body>header,body>footer{width:100%;margin:0;padding-inline:max(20px,calc((100% - 1120px)/2))}
body>header{padding-block:22px;border-bottom:1px solid var(--line)}
body>header>a{font-weight:750;font-size:17px;letter-spacing:-.02em}
.site-brand{display:inline-flex;align-items:center;gap:11px;color:var(--deep);font-size:17px;font-weight:750;letter-spacing:-.02em}
.site-brand-icon{display:block;width:40px;height:40px;flex:0 0 40px;object-fit:contain;border-radius:50%}
body>main{flex:1;padding:34px 0 64px;min-height:65vh}
body>main>h1{max-width:850px;margin:0 0 26px;font-size:clamp(2rem,4vw,3.15rem);line-height:1.12;color:var(--deep)}
body>main>section{margin:26px 0;padding:24px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px #1c302008}
body>main>section h2,body>main h2{margin:0 0 14px;color:var(--deep);font:400 clamp(1.35rem,2.5vw,1.8rem)/1.25 Georgia,"Times New Roman",serif}
body>main p{max-width:78ch;color:#40534c}
body>main a{color:var(--green);text-underline-offset:3px}
body>main a:hover{color:#143b32}
body>main ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:9px 22px;margin:12px 0;padding:0;list-style:none}
body>main li{min-width:0;padding:12px 14px;background:#f8f8f2;border:1px solid #e7e9df;border-radius:8px;overflow-wrap:anywhere}
body>main form{display:grid;gap:10px;max-width:720px}
body>main label{font-size:.9rem;font-weight:650;color:#354a42}
body>main input,body>main select,body>main textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cbd5cc;border-radius:8px;background:#fff;color:var(--ink);font:inherit}
body>main textarea{min-height:110px;resize:vertical}
body>main button{justify-self:start;min-height:46px;padding:0 20px;border:0;border-radius:8px;background:var(--green);color:white;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;cursor:pointer}
body>main button:hover{background:var(--deep)}
body>main section[data-deferred-map] iframe{display:block;height:360px;margin-top:16px;border-radius:10px;background:#eef1e9}
body>main section[data-deferred-map] iframe[hidden]{display:none}
body>main dl{margin:0}
body>main dt{margin-top:16px}
body>main dd{margin:5px 0 0;color:#52615b}
body>main nav[aria-label="Breadcrumb"]{margin:0 0 22px;font-size:.9rem;color:var(--muted)}
body>main nav[aria-label="Breadcrumb"] a{margin-inline:4px}
body>footer{display:flex;justify-content:space-between;gap:16px;padding:20px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}
body>footer p{margin:0}
body>footer a{color:inherit;text-underline-offset:3px}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #aac14f;outline-offset:3px}
@media(max-width:640px){body>header,body>footer{padding-inline:14px}body>main{width:calc(100% - 28px)}body>header{padding-block:16px}body>main{padding:26px 0 42px}body>main>h1{margin-bottom:20px}body>main>section{margin:18px 0;padding:18px;border-radius:11px}body>main ul{grid-template-columns:1fr;gap:7px}body>main section[data-deferred-map] iframe{height:290px}body>footer{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:640px){.site-brand{gap:9px;font-size:16px}.site-brand-icon{width:36px;height:36px;flex-basis:36px}}
.site-header{position:relative;z-index:5}
.desktop-nav{display:flex;align-items:center;gap:clamp(18px,3vw,36px)}
.desktop-nav a{color:#625b70;font-size:13px;font-weight:600;white-space:nowrap}
.desktop-nav a:hover{color:#756b91;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.mobile-menu{display:none;position:relative}
.mobile-menu summary{display:grid;width:42px;height:42px;place-items:center;list-style:none;border:1px solid var(--line);border-radius:10px;background:var(--white);cursor:pointer}
.mobile-menu summary::-webkit-details-marker{display:none}
.hamburger-icon{display:grid;width:18px;gap:4px}
.hamburger-icon i{display:block;width:18px;height:2px;border-radius:2px;background:var(--deep);transition:transform .18s,opacity .18s}
.mobile-menu[open] .hamburger-icon i:first-child{transform:translateY(6px) rotate(45deg)}
.mobile-menu[open] .hamburger-icon i:nth-child(2){opacity:0}
.mobile-menu[open] .hamburger-icon i:last-child{transform:translateY(-6px) rotate(-45deg)}
.mobile-menu-panel{position:absolute;top:calc(100% + 10px);right:0;display:grid;width:min(290px,calc(100vw - 28px));padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 16px 40px #29273820}
.mobile-menu-panel a{padding:12px;border-radius:7px;color:var(--ink);font-size:14px;font-weight:600;transition:background-color .15s,color .15s}
.mobile-menu-panel a:hover{background:#faf9fc;color:#655a80;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.mobile-menu-panel a:focus-visible{background:#f0edf7;color:var(--theme-hover)}
@media(max-width:760px){.desktop-nav{display:none}.mobile-menu{display:block}}
@media(max-width:640px){.mobile-menu summary{width:40px;height:40px}}

/* Distinct slate and iris palette */
:root{--paper:#f7f6f3;--ink:#292738;--muted:#716d7b;--line:#e1dfe8;--green:#5b4d8b;--deep:#342d50;--lime:#e8b779;--white:#fffefa;--theme-primary:#5b4d8b;--theme-hover:#382f5e}
::-webkit-scrollbar-thumb:hover{background:var(--theme-hover)}
.search-btn:hover,body>main button:hover{background:var(--theme-hover)}
.card:hover{border-color:#b9afd4}
.state-tag{background:#f0edf7;color:#504277}
body>main h1,body>main>section h2,body>main h2{color:var(--deep)}
body>main a:hover{color:var(--theme-hover)}
body>main select{appearance:none;-webkit-appearance:none;min-height:50px;padding:0 46px 0 14px;border:1px solid #d4d0df;border-radius:9px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%235b4d8b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:15px;line-height:1.4;cursor:pointer}
body>main select:hover{border-color:#aaa0c4}
body>main select:focus-visible{border-color:#5b4d8b;outline-color:#b09ad9}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-color:#b09ad9}
body>main section[data-deferred-map]{position:relative;width:100%;max-width:100%;margin:34px 0;padding:30px 24px;border:1px solid var(--line);border-radius:14px;background:#efedf5;box-shadow:0 8px 24px #1c302008}
body>main section[data-deferred-map] h2{max-width:1120px;margin-inline:auto}
body>main section[data-deferred-map]>p,body>main section[data-deferred-map]>button{margin-left:0}
body>main section[data-deferred-map] iframe{width:100%;max-width:none!important;height:clamp(340px,52vw,620px);margin:18px auto 0;border:1px solid #d9d3e5!important;border-radius:12px;background:#e5e2ed}
@media(max-width:640px){body>main section[data-deferred-map]{width:100%;max-width:100%;margin:24px 0;padding:24px 14px;border-radius:11px}body>main section[data-deferred-map]>p,body>main section[data-deferred-map]>button{margin-left:0}body>main section[data-deferred-map] iframe{height:360px;border-radius:8px}}

/* Local city directory cards */
body>main>section.local-homes-section{padding:clamp(18px,3vw,30px)}
body>main ul.local-homes-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px;margin:18px 0 0}
body>main li.local-home-card{display:flex;min-width:0;min-height:104px;flex-direction:column;justify-content:space-between;gap:16px;padding:16px 18px;background:var(--white);border:1px solid var(--line);border-radius:11px;box-shadow:0 3px 12px #1c302008;transition:border-color .18s,box-shadow .18s}
body>main li.local-home-card:hover{border-color:#b9c4b9;box-shadow:0 8px 20px #1c30200d}
body>main a.local-home-name{font-weight:700;line-height:1.4;color:var(--deep)}

.local-home-details{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;font-size:.88rem}
.local-home-zip{display:inline-flex;align-items:center;min-height:27px;padding:3px 9px;border:1px solid #e1dfe8;border-radius:999px;background:#f5f3f8;color:var(--muted);font-size:.75rem;font-weight:650;letter-spacing:.025em}
body>main a.local-home-phone{font-weight:650;white-space:nowrap}
body>main a.local-home-phone:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.local-home-phone-unlisted{font-size:.8rem;color:var(--muted)}
@media(max-width:640px){body>main ul.local-homes-grid{grid-template-columns:1fr;gap:9px;margin-top:14px}body>main li.local-home-card{min-height:88px;padding:14px 15px}}

/* Matching cards for the homepage and state directory */
body>main>section.browse-section{padding:clamp(18px,3vw,30px)}
body>main ul.directory-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin:18px 0 0}
body>main li.directory-card{display:flex;min-width:0;min-height:112px;flex-direction:column;justify-content:space-between;gap:14px;padding:16px 18px;background:var(--white);border:1px solid var(--line);border-radius:11px;box-shadow:0 3px 12px #1c302008;transition:border-color .18s,box-shadow .18s}
body>main li.directory-card:hover{border-color:#b9c4b9;box-shadow:0 8px 20px #1c30200d}
body>main a.directory-card-link{font-weight:700;line-height:1.4;color:var(--deep)}

.directory-card-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px 10px}
.directory-badge{display:inline-flex;align-items:center;min-height:27px;padding:3px 9px;border:1px solid #e1dfe8;border-radius:999px;background:#f5f3f8;color:var(--muted);font-size:.74rem;font-weight:650;letter-spacing:.01em}
.directory-card-location,.directory-card-zips{font-size:.78rem;color:var(--muted)}
.directory-card-zips{line-height:1.45}
@media(max-width:640px){body>main ul.directory-card-grid{grid-template-columns:1fr;gap:9px;margin-top:14px}body>main li.directory-card{min-height:92px;padding:14px 15px}}

/* Regional funeral-home cards */
body>main section.regional-homes-section>p{max-width:78ch;margin:0 0 16px;color:var(--muted)}
.regional-homes-grid .local-home-card{min-height:118px}
.local-home-region{color:var(--muted);font-size:.78rem;line-height:1.45}
@media(max-width:640px){.regional-homes-grid .local-home-card{min-height:98px}}

/* Keep links undecorated until hover, then show a light underline. */
a{text-decoration:none}
a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
body>main a:hover{text-decoration-thickness:1px;text-underline-offset:4px}


/* Keep inline links distinguishable without relying on color alone. */
body>main p a{font-weight:700}
