@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap");[data-app=funeral]{--primary:215 25% 27%;--primary-foreground:40 30% 96%;--primary-hover:215 25% 22%;--accent:43 56% 46%;--accent-foreground:215 25% 10%;--background:40 20% 98%;--foreground:215 25% 12%;--card:40 15% 99%;--card-foreground:215 25% 12%;--popover:40 15% 99%;--popover-foreground:215 25% 12%;--secondary:215 15% 93%;--secondary-foreground:215 25% 20%;--muted:215 12% 94%;--muted-foreground:215 10% 46%;--border:215 12% 87%;--input:215 12% 87%;--ring:215 25% 27%;--destructive:0 72% 51%;--destructive-foreground:0 0% 100%;--radius:0.5rem;--font-sans:"DM Sans",system-ui,sans-serif;--font-display:"Libre Baskerville",Georgia,serif;overflow-x:hidden}.dark [data-app=funeral],[data-app=funeral].dark{--background:215 25% 7%;--foreground:40 15% 93%;--card:215 22% 10%;--card-foreground:40 15% 93%;--popover:215 22% 10%;--popover-foreground:40 15% 93%;--secondary:215 20% 14%;--secondary-foreground:40 15% 90%;--muted:215 18% 14%;--muted-foreground:215 10% 58%;--border:215 18% 20%;--input:215 18% 20%}[data-app=funeral]{font-family:var(--font-sans)}[data-app=funeral] .font-display{font-family:var(--font-display)}[data-app=funeral] .hero-section{position:relative;background-image:radial-gradient(circle at 20% 80%,hsl(215 25% 27%/.03) 0,transparent 50%),radial-gradient(circle at 80% 20%,hsl(43 56% 46%/.04) 0,transparent 40%)}[data-app=funeral] .section-eyebrow{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--accent));display:block}[data-app=funeral] .phase-timeline{display:flex;flex-direction:column;gap:.25rem}[data-app=funeral] .phase-step{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1.5px solid transparent;border-radius:var(--radius);background:transparent;cursor:pointer;transition:all .18s ease;text-align:left;font-family:var(--font-sans)}[data-app=funeral] .phase-step:hover{background:hsl(var(--muted)/.5)}[data-app=funeral] .phase-step.active{background:hsl(var(--card));border-color:hsl(var(--primary));box-shadow:0 2px 8px hsl(215 25% 27%/.08)}[data-app=funeral] .phase-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:700;flex-shrink:0;transition:all .18s ease}[data-app=funeral] .phase-step.active .phase-number{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}[data-app=funeral] .phase-label{display:flex;flex-direction:column;gap:.125rem}[data-app=funeral] .phase-name{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}[data-app=funeral] .phase-timeframe{font-size:.75rem;color:hsl(var(--muted-foreground))}[data-app=funeral] .checklist-layout{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}@media (min-width:768px){[data-app=funeral] .checklist-layout{grid-template-columns:260px 1fr}}[data-app=funeral] .task-checklist-header{margin-bottom:1.5rem}[data-app=funeral] .task-checklist-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:.25rem}[data-app=funeral] .task-checklist-subtitle{font-size:.875rem;color:hsl(var(--muted-foreground))}[data-app=funeral] .task-list{display:flex;flex-direction:column;gap:.5rem}[data-app=funeral] .task-item{background:hsl(var(--card));border:1.5px solid hsl(var(--border));border-radius:calc(var(--radius) * 1.5);padding:1rem 1.25rem;transition:border-color .15s ease}[data-app=funeral] .task-item.task-done{border-color:hsl(150 40% 75%);background:hsl(150 30% 97%)}.dark [data-app=funeral] .task-item.task-done{border-color:hsl(150 30% 25%);background:hsl(150 20% 10%)}[data-app=funeral] .task-header{display:flex;align-items:flex-start;gap:.75rem}[data-app=funeral] .task-checkbox{width:22px;height:22px;border-radius:4px;border:2px solid hsl(var(--border));background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:all .15s ease;color:hsl(var(--primary-foreground))}[data-app=funeral] .task-done .task-checkbox{background:hsl(var(--primary));border-color:hsl(var(--primary))}[data-app=funeral] .task-name{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground));display:block;margin-bottom:.25rem}[data-app=funeral] .task-name-done{text-decoration:line-through;opacity:.6}[data-app=funeral] .task-meta{display:flex;gap:1rem;flex-wrap:wrap}[data-app=funeral] .task-timeframe{font-size:.75rem;color:hsl(var(--muted-foreground))}[data-app=funeral] .task-cost{font-size:.75rem;color:hsl(var(--accent));font-weight:600}[data-app=funeral] .task-expand-btn{background:none;border:none;cursor:pointer;color:hsl(var(--muted-foreground));padding:.25rem;flex-shrink:0;margin-top:2px}[data-app=funeral] .task-details{margin-top:1rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}[data-app=funeral] .task-description{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.7;margin-bottom:.75rem}[data-app=funeral] .task-tip{display:flex;gap:.5rem;padding:.75rem 1rem;background:hsl(43 56% 46%/.08);border-left:3px solid hsl(var(--accent));border-radius:0 var(--radius) var(--radius) 0;font-size:.8125rem;color:hsl(var(--foreground));line-height:1.6;margin-bottom:.75rem}[data-app=funeral] .task-docs{margin-top:.75rem}[data-app=funeral] .task-docs-label{font-size:.75rem;font-weight:600;color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.375rem}[data-app=funeral] .task-docs-list{list-style:disc;padding-left:1.25rem;margin:0}[data-app=funeral] .task-docs-list li{font-size:.8125rem;color:hsl(var(--muted-foreground));line-height:1.5}[data-app=funeral] .cost-type-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}[data-app=funeral] .cost-type-pill{display:inline-flex;padding:.5rem 1rem;border:1.5px solid hsl(var(--border));border-radius:2rem;font-size:.8125rem;font-weight:500;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease;font-family:var(--font-sans);white-space:nowrap}[data-app=funeral] .cost-type-pill:hover{border-color:hsl(var(--primary)/.5);color:hsl(var(--foreground))}[data-app=funeral] .cost-type-pill.active{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:600}[data-app=funeral] .cost-description{font-size:.9375rem;color:hsl(var(--muted-foreground));line-height:1.6;margin-bottom:1.5rem}[data-app=funeral] .cost-total-card{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:hsl(var(--card));border:1.5px solid hsl(var(--border));border-radius:calc(var(--radius) * 1.5);margin-bottom:2rem}[data-app=funeral] .cost-total-label{font-size:.875rem;color:hsl(var(--muted-foreground));font-weight:500}[data-app=funeral] .cost-total-value{font-family:var(--font-display);font-size:2rem;font-weight:700;color:hsl(var(--primary))}[data-app=funeral] .cost-breakdown-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--accent));margin-bottom:1rem}[data-app=funeral] .cost-item{padding:.875rem 0;border-bottom:1px solid hsl(var(--border)/.5)}[data-app=funeral] .cost-item:last-child{border-bottom:none}[data-app=funeral] .cost-item-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.375rem}[data-app=funeral] .cost-item-name{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}[data-app=funeral] .cost-item-avg{font-size:.875rem;font-weight:700;color:hsl(var(--foreground));font-variant-numeric:tabular-nums}[data-app=funeral] .cost-bar-track{height:6px;background:hsl(var(--muted));border-radius:99px;overflow:hidden;margin-bottom:.375rem}[data-app=funeral] .cost-bar-fill{height:100%;border-radius:99px;background:hsl(var(--primary));transition:width .6s cubic-bezier(.22,1,.36,1)}[data-app=funeral] .cost-item-details{display:flex;gap:1rem;flex-wrap:wrap}[data-app=funeral] .cost-item-range{font-size:.75rem;color:hsl(var(--accent));font-weight:500}[data-app=funeral] .cost-item-notes{font-size:.75rem;color:hsl(var(--muted-foreground))}[data-app=funeral] .resource-category{margin-bottom:1.5rem}[data-app=funeral] .resource-category-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--accent));margin-bottom:.75rem}[data-app=funeral] .resource-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}[data-app=funeral] .resource-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;border:1.5px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease}[data-app=funeral] .resource-card:hover{border-color:hsl(var(--primary)/.4);box-shadow:0 2px 8px hsl(215 25% 27%/.06)}[data-app=funeral] .resource-name{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground));display:flex;align-items:center}[data-app=funeral] .resource-desc{font-size:.8125rem;color:hsl(var(--muted-foreground));line-height:1.5}[data-app=funeral] .faq-grid{display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,5rem);align-items:start}@media (min-width:900px){[data-app=funeral] .faq-grid{grid-template-columns:1fr 2fr}}[data-app=funeral] header{border-bottom:1.5px solid hsl(var(--border));background:hsl(var(--background)/.95);backdrop-filter:blur(12px)}[data-app=funeral] header a.brand-link{font-family:var(--font-display);font-weight:700}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}[data-app=funeral] .animate-fade-in-up{animation:fadeInUp .55s cubic-bezier(.22,1,.36,1) both}[data-app=funeral] .animate-fade-in{animation:fadeIn .4s ease-out both}[data-app=funeral] .delay-100{animation-delay:.1s}[data-app=funeral] .delay-200{animation-delay:.2s}[data-app=funeral] .delay-300{animation-delay:.3s}@media (prefers-reduced-motion:reduce){[data-app=funeral] .animate-fade-in,[data-app=funeral] .animate-fade-in-up{animation:none!important;opacity:1!important;transform:none!important}}