:root{--color-bg-base: #FAF7F2;--color-surface: #FFFFFF;--color-navy-deep: #1B2838;--color-navy-muted: #334155;--color-slate-light: #8C7A6B;--color-border-subtle: #EBDCD0;--color-amber-gold: #C89B6D;--color-amber-hover: #B58455;--color-olive-green: #4A6B48;--color-coral-warn: #E8735A;--color-blue-info: #2E6B8A;--color-primary: #1B2838;--color-primary-dark: #111B27;--color-accent: #C89B6D;--color-accent-hover: #B58455;--color-bg: #FAF7F2;--color-text: #1B2838;--color-text-muted: #64748b;--color-border: #EBDCD0;--font-sans: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden;width:100%}body{font-family:var(--font-sans);background-color:var(--color-bg-base);color:var(--color-text);line-height:1.8;font-size:16px;-webkit-font-smoothing:antialiased}a{color:var(--color-blue-info);text-decoration:underline;text-underline-offset:3px;transition:color .15s ease}a:hover{color:var(--color-amber-gold)}.container{max-width:960px;margin:0 auto;padding:0 1.25rem}.site-header{background:#faf7f2;border-bottom:1px solid var(--color-border-subtle);position:sticky;top:0;z-index:100;backdrop-filter:blur(8px)}.header-inner{display:flex;justify-content:space-between;align-items:center;height:68px;position:relative}.site-logo{font-size:1.15rem;font-weight:800;color:var(--color-primary);text-decoration:none;display:flex;align-items:center;gap:.5rem;flex-shrink:0}.site-logo-text{letter-spacing:-.01em;white-space:nowrap}.site-logo-tagline{background:#f4ebe1;color:var(--color-slate-light);border:1px solid var(--color-border-subtle);font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:4px;margin-left:.25rem;white-space:nowrap}.desktop-nav{display:flex;align-items:center}.nav-links{display:flex;gap:1.25rem;list-style:none;align-items:center}.nav-links a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--color-text);white-space:nowrap}.nav-links a:hover{color:var(--color-amber-gold)}.mobile-header-controls{display:none;align-items:center;gap:.5rem}.mobile-area-btn{display:inline-flex;align-items:center;background:#f4ebe1;color:var(--color-navy-deep);border:1px solid var(--color-border-subtle);font-size:.8rem;font-weight:700;padding:5px 8px;border-radius:6px;text-decoration:none;white-space:nowrap;cursor:pointer;font-family:inherit;transition:all .15s ease}.mobile-area-btn:hover,.mobile-area-btn:active{background:var(--color-amber-gold);color:#fff;border-color:var(--color-amber-gold)}.hamburger-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background:transparent;border:1px solid var(--color-border-subtle);border-radius:6px;cursor:pointer;padding:0;gap:5px;transition:background-color .2s ease}.hamburger-btn:hover{background-color:#f4ebe1}.hamburger-line{display:block;width:20px;height:2px;background-color:var(--color-navy-deep);border-radius:2px;transition:transform .25s ease,opacity .25s ease}.hamburger-btn.is-active .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-btn.is-active .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.is-active .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#faf7f2;border-bottom:2px solid var(--color-border-subtle);box-shadow:0 14px 30px #1b283824;max-height:0;overflow:hidden;transition:max-height .3s ease-in-out,opacity .25s ease-in-out;opacity:0;z-index:99}.mobile-menu.is-open{max-height:85vh;overflow-y:auto;opacity:1}.mobile-menu-links{list-style:none;padding:.85rem 1.25rem 1.25rem;margin:0;display:flex;flex-direction:column;gap:.35rem}.mobile-menu-section-title{font-size:.78rem;font-weight:800;color:var(--color-slate-light);letter-spacing:.05em;margin:.35rem .25rem .5rem}.mobile-pref-block{background:#fff;border:1px solid var(--color-border-subtle);border-radius:8px;padding:.75rem .85rem;margin-bottom:.5rem}.mobile-pref-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.45rem}.mobile-pref-title{font-weight:700;font-size:.95rem;color:var(--color-navy-deep);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}.mobile-pref-title:hover{color:var(--color-amber-gold)}.mobile-city-chips{display:flex;flex-wrap:wrap;gap:.4rem}.mobile-city-chips a{background:#f8fafc;border:1px solid var(--color-border-subtle);color:var(--color-navy-muted);font-size:.8rem;font-weight:600;padding:3px 9px;border-radius:4px;text-decoration:none;transition:all .15s ease}.mobile-city-chips a:hover,.mobile-city-chips a:active{background:#f4ebe1;color:var(--color-amber-gold);border-color:var(--color-amber-gold)}.mobile-menu-links li a{display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;color:var(--color-navy-deep);text-decoration:none;font-weight:600;font-size:.95rem;border-radius:8px;transition:background-color .15s ease}.mobile-menu-links li a:hover,.mobile-menu-links li a:active{background:#f4ebe1;color:var(--color-amber-gold)}.mobile-menu-divider{height:1px;background:var(--color-border-subtle);margin:.4rem 0}@media (max-width: 768px){.site-logo-tagline,.desktop-nav{display:none}.mobile-header-controls{display:flex}.mobile-menu{display:block}}.site-footer{background:var(--color-navy-deep);color:#a8b3c0;padding:3.5rem 0;margin-top:5rem;font-size:.9rem;border-top:3px solid var(--color-amber-gold)}.footer-inner{display:flex;flex-direction:column;gap:1.5rem;align-items:center;text-align:center}.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center;list-style:none}.footer-links a{color:#ebdcd0;text-decoration:none}.footer-links a:hover{color:#fff}.prose{line-height:1.85}.prose h1{font-size:1.75rem;line-height:1.4;margin-bottom:1.5rem;color:var(--color-primary-dark)}.prose h2{font-size:1.4rem;margin-top:2.5rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border-subtle);color:var(--color-primary)}.prose h3{font-size:1.15rem;margin-top:1.75rem;margin-bottom:.75rem;color:var(--color-text);padding-left:.6rem;border-left:4px solid var(--color-amber-gold)}.prose p{margin-bottom:1.25rem}.prose ul,.prose ol{margin-bottom:1.5rem;padding-left:1.5rem}.prose li{margin-bottom:.4rem}.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;background:#fff;font-size:.92rem;box-shadow:0 4px 16px #3c24150a;border-radius:8px;overflow:hidden}.prose th,.prose td{padding:.75rem .85rem;border:1px solid var(--color-border-subtle);text-align:left}.prose th{background:#f4ebe1;font-weight:700;color:var(--color-navy-deep)}.prose tr:nth-child(2n) td{background:#faf7f2}.prose blockquote{background:#fbf7f0;border-left:4px solid var(--color-amber-gold);padding:1rem 1.25rem;margin:1.5rem 0;border-radius:0 8px 8px 0;font-size:.95rem;color:#5c4b3e}.prose blockquote p:last-child{margin-bottom:0}.toc-container{background:#fff;border:1px solid var(--color-border-subtle);border-radius:8px;padding:1.25rem 1.5rem;margin:2rem 0;box-shadow:0 4px 16px #3c24150a}.toc-title{font-weight:700;font-size:1.05rem;color:var(--color-navy-deep);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.toc-list{list-style:none;padding-left:0;margin-bottom:0}.toc-list li{margin-bottom:.45rem;font-size:.93rem}.toc-list li a{color:var(--color-navy-muted);text-decoration:none}.toc-list li a:hover{color:var(--color-amber-gold);text-decoration:underline}.btn-cta{display:inline-block;background:linear-gradient(135deg,var(--color-amber-gold),var(--color-amber-hover));color:#fff!important;font-weight:700;font-size:1.05rem;padding:.95rem 2rem;border-radius:8px;text-decoration:none;box-shadow:0 4px 14px #c89b6d59;transition:transform .15s ease,box-shadow .15s ease;margin:.75rem 0;text-align:center}.btn-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px #c89b6d73;color:#fff!important}.cta-card{background:linear-gradient(180deg,#fff,#faf5ee);border:1px solid var(--color-border-subtle);border-top:4px solid var(--color-amber-gold);border-radius:12px;padding:1.75rem 1.5rem;margin:2.25rem 0;text-align:center;box-shadow:0 4px 16px #3c24150a}.cta-pr-badge{display:inline-block;background:#ebdcd0;color:#5c4b3e;font-size:.7rem;font-weight:700;padding:1px 6px;border-radius:3px;margin-right:.4rem;vertical-align:middle}.cta-microcopy{font-size:.85rem;color:#8c5d30;margin-top:.5rem;line-height:1.5}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5rem 0}.table-responsive table{margin:0!important}.step-container{display:flex;flex-direction:column;gap:.85rem;margin:1.75rem 0}.step-card{background:#fff;border:1px solid var(--color-border-subtle);border-left:4px solid var(--color-olive-green);border-radius:8px;padding:1rem 1.25rem;box-shadow:0 4px 16px #3c24150a}.step-title{font-weight:700;color:var(--color-navy-deep);font-size:1.05rem;margin-bottom:.35rem;display:flex;align-items:center;gap:.5rem}.step-desc{color:var(--color-navy-muted);font-size:.92rem;line-height:1.6;margin:0}.step-badge{background:var(--color-olive-green);color:#fff;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:4px}.step-arrow{text-align:center;color:var(--color-slate-light);font-size:1.2rem;line-height:1}.callout-box{background:#fbf7f0;border:1px solid var(--color-border-subtle);border-left:4px solid var(--color-amber-gold);border-radius:8px;padding:1.25rem;margin:1.75rem 0}.callout-box-title{font-weight:700;color:#8c5d30;font-size:1rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem}.callout-box-body{font-size:.93rem;color:#5c4b3e;line-height:1.65;margin:0}.data-table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0;margin:0;background:#fff;font-size:.88rem;border:1px solid var(--color-border-subtle);border-radius:8px;overflow:hidden}.data-table th{background:var(--color-navy-deep);color:#fff;font-weight:700;padding:.85rem 1rem;text-align:left;white-space:nowrap;border-bottom:1px solid #111B27}.data-table th:first-child,.data-table td:first-child{min-width:220px;width:30%}.data-table td:first-child{font-size:.95rem;font-weight:700;color:var(--color-navy-deep);line-height:1.45}.data-table th:nth-child(2),.data-table td:nth-child(2){min-width:110px;width:15%;white-space:normal;word-break:break-word}.data-table td:nth-child(2){font-size:.84rem;line-height:1.45;color:var(--color-slate-light)}.data-table .badge-area{display:inline;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;padding:0;border-radius:0;white-space:normal}.data-table td{padding:.85rem 1rem;border-bottom:1px solid var(--color-border-subtle);border-right:1px solid var(--color-border-subtle);color:var(--color-text);vertical-align:middle}.data-table td:last-child{border-right:none}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background-color .15s ease}.data-table tbody tr:nth-child(2n){background-color:#faf7f2}.data-table tbody tr:hover{background-color:#f4ebe1}.badge-rating{display:inline-flex;align-items:center;gap:3px;background:#fbf7f0;color:#8c5d30;border:1px solid var(--color-border-subtle);font-size:.8rem;font-weight:800;padding:2px 8px;border-radius:9999px;white-space:nowrap}.badge-area{display:inline-block;background:#f4ebe1;color:var(--color-navy-deep);font-size:.78rem;font-weight:600;padding:2px 7px;border-radius:4px;white-space:nowrap}.badge-tag-yes{display:inline-block;background:#f0f5f0;color:var(--color-olive-green);border:1px solid #D1E2D1;font-size:.78rem;font-weight:700;padding:2px 7px;border-radius:4px;white-space:nowrap}.badge-tag-consult{display:inline-block;background:#faf7f2;color:var(--color-slate-light);border:1px solid var(--color-border-subtle);font-size:.78rem;font-weight:600;padding:2px 7px;border-radius:4px;white-space:nowrap}.vendor-card-container{display:flex;flex-direction:column;gap:1.25rem;margin:1.75rem 0}.vendor-card{background:#fff;border:1px solid var(--color-border-subtle);border-left:4px solid var(--color-primary);border-radius:10px;padding:1.35rem 1.5rem;box-shadow:0 4px 16px #3c24150a;transition:transform .15s ease,box-shadow .15s ease}.vendor-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3c241514}.vendor-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:.85rem;padding-bottom:.75rem;border-bottom:1px solid #f1f5f9}.vendor-card-title{font-size:1.2rem;font-weight:800;color:var(--color-primary);margin:0;line-height:1.4}.vendor-card-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.vendor-details{display:grid;grid-template-columns:100px 1fr;gap:.5rem 1rem;font-size:.92rem;line-height:1.65;margin-bottom:.85rem}.vendor-detail-label{font-weight:700;color:#64748b;font-size:.85rem}.vendor-detail-value{color:var(--color-text)}.vendor-card-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:.85rem;padding-top:.75rem;border-top:1px dashed #e2e8f0}.vendor-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--color-primary);color:#fff!important;font-size:.85rem;font-weight:700;padding:.5rem 1.1rem;border-radius:6px;text-decoration:none;box-shadow:0 2px 4px #1e3a5f33;transition:background .15s ease}.vendor-btn:hover{background:var(--color-primary-dark);color:#fff!important}.vendor-notice{font-size:.82rem;color:#64748b}.cemetery-card{background:#fff;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000a;margin:1.75rem 0;transition:transform .15s ease,box-shadow .15s ease}.cemetery-card:hover{transform:translateY(-2px);box-shadow:0 8px 15px -3px #00000012}.cemetery-photo-container{position:relative;aspect-ratio:16/9;overflow:hidden;background:#f1f5f9}.cemetery-img{width:100%;height:100%;object-fit:cover;filter:brightness(1.04) contrast(1.05) saturate(1.15);display:block;transition:transform .3s ease}.cemetery-card:hover .cemetery-img{transform:scale(1.02)}.cemetery-badge-type{position:absolute;top:12px;left:12px;background:#1e3a5fe0;color:#fff;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:9999px;backdrop-filter:blur(4px)}.cemetery-badge-rating{position:absolute;top:12px;right:12px;background:#ffffffeb;color:#d97706;font-size:.75rem;font-weight:800;padding:4px 10px;border-radius:9999px;box-shadow:0 2px 4px #0000001a}.cemetery-credit-overlay{position:absolute;bottom:0;left:0;right:0;padding:6px 12px;background:linear-gradient(transparent,#0009);font-size:.7rem;color:#e2e8f0;text-align:right}.cemetery-content{padding:1.35rem 1.5rem}.cemetery-content h3{font-size:1.25rem;font-weight:800;color:var(--color-primary);margin:0 0 .5rem;padding-left:0!important;border-left:none!important}.cemetery-content p{font-size:.92rem;color:#475569;margin:0;line-height:1.7}
