@import url(https://fonts.googleapis.com/css2?family=Lato:wght@400;600;700&family=Lora:wght@400;600;700&display=swap);:root{--graphite:#1e1e1e;--gold:#c8aa6a;--coffee:#a07a5d;--white:#f5f5f5;--muted:#aaa;--card:#242322;--panel:#1d1c1b;--shadow:0 10px 25px #00000059,0 2px 8px #00000040;--radius:16px;--focus:0 0 0 3px #c8aa6a59;--transition:0.25s ease}*,:after,:before{box-sizing:border-box}body{background:#1e1e1e;background:var(--graphite);color:#f5f5f5;color:var(--white);font-family:Lato,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;margin:0;min-height:100vh}img{display:block;max-width:100%}a{color:#f5f5f5;color:var(--white);text-decoration:underline;text-underline-offset:3px;transition:color .25s ease;transition:color var(--transition)}a:hover{color:#c8aa6a;color:var(--gold)}button{font-family:inherit}.App{padding-bottom:4rem;width:100%}.container{margin:0 auto;width:min(960px,92%)}section{padding:2.5rem 0}h1,h2,h3{font-family:Lora,serif;margin:0 0 1rem}h2{color:#a07a5d;color:var(--coffee);font-size:clamp(1.4rem,4vw,2rem)}p{margin:0 0 1rem}.btn,.download-button{align-items:center;background:#c8aa6a;background:var(--gold);border:2px solid #c8aa6a;border:2px solid var(--gold);border-radius:999px;box-shadow:0 10px 25px #00000059,0 2px 8px #00000040;box-shadow:var(--shadow);color:#1e1e1e;color:var(--graphite);cursor:pointer;display:inline-flex;font-size:1.05rem;font-weight:700;gap:.5rem;justify-content:center;padding:1rem 1.5rem;text-decoration:none;transition:background .25s ease,color .25s ease,transform .25s ease;transition:background var(--transition),color var(--transition),transform var(--transition)}.btn:hover,.download-button:hover{background:#0000;color:#c8aa6a;color:var(--gold);transform:translateY(-1px)}.btn:focus-visible,.download-button:focus-visible{box-shadow:0 10px 25px #00000059,0 2px 8px #00000040,0 0 0 3px #c8aa6a59;box-shadow:var(--shadow),var(--focus);outline:none}.download-button{margin-top:1.5rem;width:100%}.landing-hero{display:grid;min-height:86vh;overflow:hidden;place-items:center;position:relative;text-align:center}.landing-backdrop{background:radial-gradient(60% 50% at 50% 30%,#c8aa6a1a,#0000 60%),linear-gradient(180deg,#0e0e0e,#23201e);inset:0;position:absolute}.landing-overlay{background:radial-gradient(50% 40% at 50% 35%,#fff0d21a,#0000008c);inset:0;position:absolute}.landing-hero-content{padding:5.5rem 1rem 2.5rem;position:relative;z-index:1}.landing-hero-content h1{color:#c8aa6a;color:var(--gold);font-size:clamp(2.3rem,6vw,3.4rem);text-shadow:0 2px 18px #00000073}.landing-hero-content p{color:#f5f5f5;color:var(--white);font-size:1.05rem}.landing-subline{color:#aaa;color:var(--muted);font-size:1rem;font-style:italic;margin-top:1rem}.landing-cta{margin-top:1.5rem}.landing-steps{grid-gap:1.2rem;display:grid;gap:1.2rem;margin-top:1.25rem}.landing-step{grid-gap:1rem;background:#242322;background:var(--card);border:1px solid #c8aa6a33;border-radius:16px;border-radius:var(--radius);box-shadow:0 10px 25px #00000059,0 2px 8px #00000040;box-shadow:var(--shadow);display:grid;gap:1rem;justify-items:center;padding:1.5rem;text-align:center}.landing-step-cta{display:flex;justify-content:center;margin-top:1rem}.landing-step-cta .btn{width:100%}.landing-step svg{stroke:#c8aa6a;stroke:var(--gold);height:52px;width:52px}.landing-carousel-wrap{background:linear-gradient(180deg,#272422,#1f1e1d);border-radius:16px;border-radius:var(--radius);box-shadow:0 10px 25px #00000059,0 2px 8px #00000040;box-shadow:var(--shadow);margin-top:1.75rem;overflow:hidden;position:relative}.landing-track{animation:landing-scroll 28s linear infinite;display:flex;gap:1rem;padding:1.5rem;width:-webkit-max-content;width:max-content}.landing-card{background:#201f1d;border:1px solid #c8aa6a40;border-radius:16px;border-radius:var(--radius);min-width:260px;padding:1rem;text-align:center}.landing-card,.landing-card-image{box-shadow:0 10px 25px #00000059,0 2px 8px #00000040;box-shadow:var(--shadow)}.landing-card-image{align-items:center;background:radial-gradient(circle at 50% 30%,#c8aa6a59,#000000d9);border:4px solid #c8aa6a80;border-radius:50%;display:flex;height:180px;justify-content:center;margin:0 auto .75rem;overflow:hidden;width:180px}.landing-card-image img{height:100%;object-fit:cover;width:100%}.landing-card p{color:#f5f5f5;color:var(--white);font-size:.95rem;margin:.75rem 0 .5rem}.landing-note{color:#aaa;color:var(--muted);font-size:.9rem;font-style:italic}@keyframes landing-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (hover:hover){.landing-carousel-wrap:hover .landing-track{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){.landing-track{animation:none}}.landing-cta-section{padding-bottom:1rem;text-align:center}.landing-cta-section h2{color:#c8aa6a;color:var(--gold)}.landing-generator-section{background:linear-gradient(180deg,#242322d9,#181716f2);padding:3rem 0 4rem}.landing-generator-section .container{width:min(1040px,94%)}.landing-footer{background:#131211f2;border-top:1px solid #c8aa6a2e;color:#aaa;color:var(--muted);font-size:.95rem;padding:2rem 0;text-align:center}.landing-footer a{color:#f5f5f5;color:var(--white)}.landing-footer a:hover{color:#c8aa6a;color:var(--gold)}#tribute-creator{width:100%}.main-content-split{grid-gap:2rem;display:grid;gap:2rem}.tribute-creator,.tribute-preview-container{background:#201f1deb;border:1px solid #c8aa6a33;border-radius:16px;border-radius:var(--radius);box-shadow:0 10px 25px #00000059,0 2px 8px #00000040;box-shadow:var(--shadow);padding:2rem}.tribute-creator{display:flex;flex-direction:column;gap:2rem}.tribute-creator h2,.tribute-preview-container h2{border-bottom:1px solid #c8aa6a38;color:#c8aa6a;color:var(--gold);font-size:1.4rem;margin:0 0 1.5rem;padding-bottom:.75rem}.input-group{grid-gap:.75rem;display:grid;gap:.75rem;margin-bottom:1.5rem}.input-group:last-of-type{margin-bottom:0}.input-group label{color:#aaa;color:var(--muted);font-weight:600;letter-spacing:.01em}.generated-link-container input,.input-group input,.input-group textarea{background:#181716e6;border:1px solid #c8aa6a33;border-radius:12px;color:#f5f5f5;color:var(--white);font-size:1rem;padding:.85rem 1rem;transition:border-color .25s ease,box-shadow .25s ease;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.input-group textarea{min-height:120px;resize:vertical}.generated-link-container input:focus,.input-group input:focus,.input-group textarea:focus{border-color:#c8aa6a;border-color:var(--gold);box-shadow:0 0 0 3px #c8aa6a59;box-shadow:var(--focus);outline:none}.candle-selection{display:flex;flex-direction:column;gap:1.25rem}.candle-options{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.candle-option{background:#181716d9;border:1px solid #c8aa6a1a;border-radius:16px;border-radius:var(--radius);cursor:pointer;padding:.75rem;text-align:center;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.candle-option:hover{border-color:#c8aa6a73;transform:translateY(-2px)}.candle-option.selected{border-color:#c8aa6a;border-color:var(--gold);box-shadow:0 0 0 2px #c8aa6a40}.candle-option img{border:1px solid #c8aa6a33;border-radius:10px;border-radius:calc(var(--radius) - 6px);height:110px;margin-bottom:.75rem;object-fit:cover;width:100%}.candle-option span{color:#aaa;color:var(--muted);display:block;font-size:.9rem}.tribute-preview{grid-gap:1.5rem;display:grid;gap:1.5rem;text-align:center}.candle-image-container{align-items:center;background:radial-gradient(circle at 50% 30%,#c8aa6a59,#000000d9);border:4px solid #c8aa6a80;border-radius:50%;box-shadow:0 10px 25px #00000059,0 2px 8px #00000040;box-shadow:var(--shadow);display:flex;height:180px;justify-content:center;margin:0 auto;overflow:hidden;width:180px}.candle-image-container img{height:100%;object-fit:cover;width:100%}.preview-text-box{background:#c8aa6a1f;border:1px solid #c8aa6a59;border-radius:16px;border-radius:var(--radius);color:#f5f5f5;color:var(--white);padding:1.25rem}.preview-text-box .memory-of{color:#aaa;color:var(--muted);font-size:.9rem;letter-spacing:.08em;margin:0;text-transform:uppercase}.preview-text-box .person-name{color:#c8aa6a;color:var(--gold);font-size:1.8rem;font-weight:700;margin:.5rem 0 0;overflow-wrap:break-word;word-break:break-word}.memorial-message{margin:0;overflow-wrap:break-word;word-break:break-word}.from-whom-text,.memorial-message{color:#aaa;color:var(--muted);font-style:italic}.from-whom-text{margin-top:1rem;padding-right:1rem;text-align:right}.fade-away-text{color:#c8aa6a99;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.web-mark{color:#c8aa6a99;font-size:.7rem;letter-spacing:.04em}.jpm-link{color:inherit;text-decoration:underline}.jpm-link:hover{color:#f5f5f5}.read-tribute-container{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:640px;padding:3rem 1.5rem}.read-tribute-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:2rem auto 0}.read-tribute-actions .download-button{margin:0;width:auto}.read-tribute-share{background:#0000;border-color:#c8aa6a;border-color:var(--gold);color:#c8aa6a;color:var(--gold)}.read-tribute-share:active,.read-tribute-share:focus-visible,.read-tribute-share:hover{background:#c8aa6a;background:var(--gold);color:#1e1e1e;color:var(--graphite)}.read-tribute-container .read-tribute-cta{width:auto}.modal-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:1000}.modal-content{background:#201f1df5;border:1px solid #c8aa6a33;border-radius:16px;border-radius:var(--radius);box-shadow:0 10px 25px #00000059,0 2px 8px #00000040;box-shadow:var(--shadow);padding:2rem;text-align:center;width:min(500px,100%)}.modal-content h2{border-bottom:none;color:#c8aa6a;color:var(--gold);margin-bottom:1.5rem}.social-share-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1.5rem}.social-share-button{background:#c8aa6a33;border:1px solid #c8aa6a59;border-radius:999px;color:#c8aa6a;color:var(--gold);font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:background .25s ease,color .25s ease,transform .25s ease;transition:background var(--transition),color var(--transition),transform var(--transition)}.social-share-button:hover{background:#c8aa6a;background:var(--gold);color:#1e1e1e;color:var(--graphite);transform:translateY(-1px)}.generated-link-container{grid-gap:.75rem;color:#aaa;color:var(--muted);display:grid;gap:.75rem;margin-bottom:1.5rem;text-align:left}.generated-link-container p{color:#f5f5f5;color:var(--white);font-weight:600;margin:0}.generated-message-container{grid-gap:.75rem;color:#aaa;color:var(--muted);display:grid;gap:.75rem;margin-bottom:1.5rem;text-align:left}.generated-message-container p{color:#f5f5f5;color:var(--white);font-weight:600;margin:0}.generated-message-container textarea{background:#c8aa6a14;background-clip:padding-box;border:1px solid #c8aa6a40;border-radius:12px;color:#f5f5f5;color:var(--white);font-family:inherit;font-size:.95rem;line-height:1.5;min-height:120px;padding:.85rem 1rem;resize:none}.generated-message-container textarea:focus-visible{border-color:#c8aa6a73;box-shadow:0 0 0 3px #c8aa6a59;box-shadow:var(--focus);outline:none}.close-button,.generated-link-container button,.generated-message-container button{background:#c8aa6a26;border:1px solid #c8aa6a66;border-radius:999px;color:#c8aa6a;color:var(--gold);cursor:pointer;padding:.75rem 1.5rem;transition:background .25s ease,color .25s ease,transform .25s ease;transition:background var(--transition),color var(--transition),transform var(--transition)}.close-button:hover,.generated-link-container button:hover,.generated-message-container button:hover{background:#c8aa6a;background:var(--gold);color:#1e1e1e;color:var(--graphite);transform:translateY(-1px)}.close-button{margin-top:.5rem;width:100%}@media (max-width:960px){.landing-hero-content{padding:5rem 1rem 2rem}}@media (min-width:900px){.main-content-split{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}@media (max-width:720px){section{padding:2rem 0}.landing-step{padding:1.25rem}.candle-image-container{height:150px;width:150px}.landing-generator-section{padding:2.5rem 0 3rem}}@media (max-width:540px){.landing-track{gap:.75rem}.landing-card{min-width:220px}}.payment-modal-message{color:#f5f5f5;color:var(--white);margin-bottom:1.5rem}.payment-modal-link{margin-bottom:1.25rem;width:100%}.payment-modal-note{color:#aaa;color:var(--muted);margin-bottom:1.5rem}
/*# sourceMappingURL=main.cffd2131.css.map*/