:root{--rose:#c92663;--rose-dark:#9b1d4a;--gold:#c99a2a;--cream:#fff7f6;--soft:#f9eef0;--ink:#24303d;--muted:#6e7580;--border:#e8d7db;--shadow:0 10px 30px rgba(164,74,104,.12);--radius:28px;}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}img{max-width:100%;display:block}a{color:var(--rose-dark);text-decoration:none}a:hover{text-decoration:underline}.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}.topbar{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}.brand{font-size:1.25rem;font-weight:700;letter-spacing:.01em}.brand.small{font-size:1rem}.tag{font-size:.78rem;color:var(--rose-dark);letter-spacing:.14em;text-transform:uppercase}.navlinks,.actions,.hero-buttons,.cta-actions,.footer-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.navlinks a{color:#48505b;font-size:.96rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;font-weight:700;border:1px solid transparent;transition:.2s ease;background:#fff}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-dark{background:#1f2430;color:#fff;box-shadow:var(--shadow)}.btn-light{background:#fff;border-color:#d6d6db;color:#25303e}.btn-white{background:#fff;color:#1f2430}.btn-outline{border:1px solid rgba(255,255,255,.65);color:#fff;background:transparent}.pill{display:inline-flex;padding:10px 16px;border:1px solid #efc7d4;background:#fff;border-radius:999px;color:var(--rose-dark);font-size:.92rem;font-weight:700;box-shadow:0 6px 18px rgba(201,154,42,.08)}
.hero{padding:34px 0 64px;background:radial-gradient(circle at top left,rgba(239,98,141,.17),transparent 28%),radial-gradient(circle at bottom right,rgba(201,154,42,.12),transparent 26%),linear-gradient(180deg,#fff7f8 0%,#fff 42%,#fffaf6 100%)}.hero-grid,.two-col,.pricing-layout,.services-layout{display:grid;gap:28px}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center}.hero-copy h1{margin:18px 0 16px;font-size:clamp(2.4rem,4vw,4.3rem);line-height:1.05;letter-spacing:-.03em}.hero-copy h1 span{color:var(--rose)}.hero-copy p{font-size:1.08rem;color:#56606a;max-width:760px}.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.mini-card{background:rgba(255,255,255,.88);border:1px solid #f3e6e9;border-radius:22px;padding:16px;box-shadow:var(--shadow)}.mini-card strong{display:block;margin-bottom:4px}.mini-card span{font-size:.93rem;color:#65707b}.hero-media{display:grid;grid-template-columns:1.08fr .92fr;gap:20px;align-items:start}.hero-main,.hero-top-right,.addon-image,.service-area-map-card img{width:100%;height:auto;border-radius:28px;object-fit:cover}.hero-main{min-height:430px}.hero-top-right{min-height:200px}.hero-stack{display:flex;flex-direction:column;gap:20px}.comfort-card,.panel,.service-card,.pricing-card,.faq-item,.value-item,.feature-image-card,.trust-card,.price-range-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.comfort-card{padding:22px}.comfort-card h3{margin:0 0 10px;font-size:1.55rem}.comfort-card p{margin:0 0 12px;color:#64707b}.check{color:var(--rose-dark);font-weight:700;font-size:.95rem}.section{padding:70px 0}.soft{background:linear-gradient(180deg,#fffaf7 0%,#fff 100%)}.dark{background:#19202a;color:#fff}.eyebrow{margin-bottom:10px;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rose-dark);font-weight:700}.eyebrow.light{color:#ffcedd}h2{margin:0 0 14px;font-size:clamp(1.9rem,2.8vw,3rem);line-height:1.12}p.section-intro,.light{color:inherit}.section-intro{font-size:1.04rem;color:#5d6772;max-width:820px}.panel{padding:34px}.panel.white{background:#fff}.panel.amber{background:linear-gradient(180deg,#fffaf0,#fff)}.services-layout{grid-template-columns:.96fr 1.04fr;align-items:start}.feature-stack,.service-grid,.gallery-grid,.value-grid,.related-grid,.trust-grid,.addon-grid{display:grid;gap:18px}.feature-image-card{overflow:hidden}.feature-image-card img{width:100%;height:260px;object-fit:cover}.feature-copy{padding:20px}.feature-copy h3,.service-card h3,.pricing-card h3,.trust-card h3,.price-range-card h2{margin:0 0 10px}.feature-copy p,.service-card p,.trust-card p,.faq-item p{margin:0;color:#61707b}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{padding:22px}.price{margin-top:14px;font-weight:700;color:var(--rose-dark)}.pricing-layout{grid-template-columns:1.15fr .85fr}.pricing-side{display:grid;gap:20px}.pricing-card{padding:24px}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{padding:12px 10px;border-bottom:1px solid #ece4e7;text-align:left}th{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#6d7582}tr:last-child td{border-bottom:none}.addon-image{margin-bottom:18px}.addon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.addon-item{background:#faf6f7;border:1px solid #efe3e6;border-radius:18px;padding:14px}.addon-item strong{display:block}.addon-item span{font-size:.92rem;color:var(--rose-dark)}.value-grid{grid-template-columns:repeat(3,1fr)}.value-item{padding:20px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#edf2f8}.gallery-grid{grid-template-columns:repeat(5,1fr)}.gallery-grid figure{margin:0;background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.gallery-grid img{width:100%;height:180px;object-fit:cover}.gallery-grid figcaption{padding:14px 16px;font-weight:700}.two-col{grid-template-columns:1fr 1fr}.stack-list,.step-list,.faq-list,.legal-list{display:grid;gap:16px}.stack-list div,.faq-item,.trust-card,.price-range-card{padding:20px}.stack-list span{display:block;color:#64707b;margin-top:6px}.step-list>div{display:flex;gap:16px;align-items:flex-start;padding:18px;border:1px solid #ece2e6;border-radius:22px;background:#fff}.step-list>div>span{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;border-radius:999px;background:#1f2430;color:#fff;font-weight:700}.google-links a,.footer-links a{font-weight:700}.faq-item strong{display:block;margin-bottom:8px}.service-area-map-card{overflow:hidden;border-radius:24px}.cta{padding:34px;border-radius:30px;background:linear-gradient(135deg,#1b2330,#2a3141);display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:var(--shadow)}.cta h2,.cta h2.light{color:#ffffff !important}.cta p,.cta p.light{color:rgba(255,255,255,.92) !important}.cta .light{color:#f7f9fc !important}.cta .eyebrow.light{color:#ffd5df !important}.muted{color:#738091;font-size:.94rem}.footer{border-top:1px solid #ebe2e6;background:#fff;padding:24px 0}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.legal-panel h2{font-size:1.6rem}.price-range-card .small-note{margin:.4rem 0 0;color:#5e6972}.landing-breadcrumbs{font-size:.94rem;color:#6e7480;margin-bottom:10px}.trust-grid,.related-grid{grid-template-columns:repeat(3,1fr)}.related-grid a{display:block;padding:20px;border-radius:24px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}.related-grid strong{display:block;margin-bottom:6px}.related-grid span{color:#61707b}.service-area-note{color:var(--rose-dark);font-weight:700}
@media (max-width:1100px){.gallery-grid{grid-template-columns:repeat(3,1fr)}.value-grid,.trust-grid,.related-grid{grid-template-columns:1fr 1fr}.hero-grid,.services-layout,.pricing-layout,.two-col{grid-template-columns:1fr}.hero-main{min-height:360px}.hero-media{grid-template-columns:1fr 1fr}.nav{flex-wrap:wrap}.navlinks{order:3;width:100%;justify-content:center}}
@media (max-width:760px){.wrap{width:min(100% - 24px,1180px)}.hero{padding-top:20px}.navlinks{display:none}.actions{width:100%;justify-content:flex-start}.hero-buttons,.cta-actions{width:100%;flex-direction:column;align-items:stretch}.btn{width:100%}.mini-cards,.service-grid,.gallery-grid,.value-grid,.addon-grid,.trust-grid,.related-grid{grid-template-columns:1fr}.hero-media{grid-template-columns:1fr}.gallery-grid img{height:220px}.cta{flex-direction:column;align-items:flex-start}.footer-row{align-items:flex-start}.feature-image-card img{height:220px}table{font-size:.88rem}th,td{padding:10px 8px}.hero-copy p{font-size:1rem}}


/* SEO landing page and review enhancements */
.review-section{background:linear-gradient(180deg,#fff 0%,#fff7f8 100%)}
.review-summary-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:22px 0 24px;padding:20px;border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.review-score{display:flex;flex-direction:column;gap:4px}.review-score span,.review-stars{color:#c99a2a;letter-spacing:.08em;font-weight:900}.review-score strong{font-size:1.05rem}.review-actions{display:flex;gap:12px;flex-wrap:wrap}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:22px}.review-card p{margin:12px 0;color:#46515d}.review-author{font-weight:800;color:#1f2430}.review-source{font-size:.84rem;color:#77818c;margin-top:4px}.landing-hero-note{margin-top:18px;padding:16px;border:1px solid #f0d8df;border-radius:20px;background:#fff;color:#5f6872}.seo-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px}.seo-list div{padding:16px;border:1px solid var(--border);border-radius:20px;background:#fff}.area-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.area-chip-row a{display:inline-flex;padding:10px 14px;border:1px solid var(--border);border-radius:999px;background:#fff;font-weight:700}.page-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:26px}.quote-note{border-left:4px solid var(--rose);padding-left:18px;color:#596472;font-size:1.05rem}.check-list{display:grid;gap:12px;margin:18px 0 0}.check-list div{padding:14px 16px;border:1px solid #efe3e6;border-radius:18px;background:#fff}.toc-card{position:sticky;top:110px}.toc-card a{display:block;padding:10px 0;border-bottom:1px solid #efe3e6;font-weight:700}.toc-card a:last-child{border-bottom:none}.full-review-grid{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.review-grid,.full-review-grid,.page-intro-grid,.seo-list{grid-template-columns:1fr}.review-summary-row{align-items:flex-start}.toc-card{position:static}.review-actions{width:100%;flex-direction:column}.review-actions .btn{width:100%}}



/* Partner portal additions */
.portal-shell { max-width: 1180px; margin: 0 auto; padding: 28px 18px 70px; }
.portal-card { background:#fff; border-radius:18px; padding:24px; box-shadow:0 14px 34px rgba(0,0,0,.08); margin-bottom:18px; }
.portal-grid { display:grid; grid-template-columns: 1fr 1fr; gap:18px; }
.portal-grid-3 { display:grid; grid-template-columns: repeat(3, 1fr); gap:16px; }
.portal-card label { display:block; font-weight:700; margin:12px 0 6px; color:#1d2939; }
.portal-card input, .portal-card textarea, .portal-card select { width:100%; box-sizing:border-box; border:1px solid #d0d5dd; border-radius:10px; padding:12px; font-size:16px; background:#fff; }
.portal-card textarea { min-height: 90px; }
.portal-card table { width:100%; border-collapse:collapse; }
.portal-card th, .portal-card td { border-bottom:1px solid #eaecf0; padding:10px; text-align:left; font-size:14px; vertical-align:top; }
.portal-card th { background:#f9fafb; }
.portal-alert { padding:14px 16px; border-radius:12px; margin:14px 0; white-space:pre-wrap; }
.portal-alert.success { background:#ecfdf3; color:#05603a; border:1px solid #abefc6; }
.portal-alert.error { background:#fff1f0; color:#912018; border:1px solid #fecdca; }
.portal-muted { color:#667085; line-height:1.5; }
.portal-pill { display:inline-flex; gap:8px; align-items:center; border-radius:999px; padding:7px 11px; background:#f9f5ff; color:#6941c6; font-size:13px; font-weight:700; }
.portal-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.portal-small { font-size:13px; color:#667085; }
.portal-actions-row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.portal-link-button { display:inline-block; border:1px solid #d0d5dd; border-radius:999px; padding:9px 12px; text-decoration:none; color:#344054; background:#fff; font-weight:700; font-size:14px; }
.portal-login { max-width:560px; margin:48px auto 70px; }
.portal-login .brandline { font-size:13px; color:#9b1c31; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
@media (max-width: 820px) { .portal-grid, .portal-grid-3 { grid-template-columns:1fr; } .portal-card { padding:20px; } }

/* Public partner directory and service area map update */
.service-area-feature-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);padding:20px;margin:24px 0 26px}
.service-area-feature-copy h3{margin:0 0 8px;font-size:1.35rem}.service-area-feature-copy p{margin:0;color:#61707b}.service-area-feature-card img{width:100%;border-radius:22px;border:1px solid #e6edf0}
.partner-status{margin:18px 0;color:#667085;font-weight:700}.partner-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.partner-public-card{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:20px;display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:start}.partner-public-card h3{margin:0 0 8px;font-size:1.22rem}.partner-public-card p{margin:0 0 14px;color:#61707b}.partner-logo-box{width:92px;height:92px;border-radius:20px;background:linear-gradient(135deg,#fff7f8,#fffaf0);border:1px solid #efe3e6;display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:800;color:var(--rose-dark);font-size:1.4rem}.partner-logo-box img{width:100%;height:100%;object-fit:contain;padding:8px}.partner-logo-box.logo-fallback-active::after{content:'Partner';font-size:.82rem;color:var(--rose-dark);font-weight:800}
@media (max-width:1100px){.partner-directory-grid{grid-template-columns:1fr 1fr}.service-area-feature-card{grid-template-columns:1fr}}
@media (max-width:760px){.partner-directory-grid{grid-template-columns:1fr}.partner-public-card{grid-template-columns:1fr}.partner-logo-box{width:80px;height:80px}.service-area-feature-card{padding:16px}}


.memorial-promo{padding:18px 0 10px;background:linear-gradient(180deg,#fff7fb 0%,#fff 100%)}
.memorial-grid{display:grid;grid-template-columns:minmax(320px,.96fr) minmax(320px,1.04fr);gap:24px;align-items:center}
.memorial-coupon img{width:100%;height:auto;display:block;border-radius:28px;border:1px solid #ecd8dd;box-shadow:0 16px 34px rgba(164,74,104,.16)}
.memorial-copy{background:#fff;border:1px solid #ecdfe4;border-radius:28px;padding:28px;box-shadow:var(--shadow)}
.memorial-copy h2{margin:0 0 14px;font-size:clamp(1.9rem,2.8vw,3rem);line-height:1.1}
.memorial-copy p{margin:0 0 14px;color:#5e6772}
.memorial-highlight{display:inline-block;margin:6px 0 18px;padding:12px 16px;border-radius:16px;background:#fff4f5;border:1px solid #f0d7dc;color:#9b1d4a;font-weight:700}
.memorial-actions{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 14px}
.memorial-note{font-size:.92rem;color:#6e7480;margin-bottom:0}
@media (max-width:900px){
  .memorial-grid{grid-template-columns:1fr}
  .memorial-copy{padding:22px}
  .memorial-actions{flex-direction:column}
  .memorial-actions .btn{width:100%}
}


.mobile-outdoor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px}
.mobile-outdoor-card{background:#fff;border:1px solid var(--border);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.mobile-outdoor-card img{width:100%;height:240px;object-fit:cover;display:block}
.mobile-outdoor-copy{padding:20px}
.mobile-outdoor-copy h3{margin:0 0 10px}
.mobile-outdoor-copy p{margin:0;color:#61707b}
@media (max-width:900px){
  .mobile-outdoor-grid{grid-template-columns:1fr}
}
