:root{--thistle:#cdb4db;--pastel-petal:#ffc8dd;--baby-pink:#ffafcc;--icy-blue:#bde0fe;--sky-blue:#a2d2ff;--page-bg:#fff7fb;--card-bg:#ffffffe0;--text-main:#1f2937;--text-soft:#5f6673;--accent-purple:#8b5fa8;--accent-pink:#d85f91;--border-soft:#cdb4db73}*,:before,:after{box-sizing:border-box}html{width:100%;overflow-x:clip}body{width:100%;min-width:320px;min-height:100vh;color:var(--text-main);background:radial-gradient(circle at top left, #ffc8dd66, transparent 35%), radial-gradient(circle at top right, #bde0fe73, transparent 35%), var(--page-bg);margin:0;overflow-x:clip}img,picture,svg,video,canvas{max-width:100%;display:block}button,input,textarea,select{max-width:100%;font:inherit}h1,h2,h3,p,a,span,li{overflow-wrap:break-word}a{color:inherit;text-decoration:none}@supports not (overflow:clip){html,body{overflow-x:hidden}}.app-shell{flex-direction:column;min-width:0;min-height:100vh;display:flex;overflow-x:clip}.page-container{flex:1;width:100%;min-width:0;max-width:1180px;margin:0 auto;padding:2rem 1rem}@supports selector(:has(*)){.page-container:has(.home-page){max-width:none;padding:0}}@media (width<=760px){.page-container{padding:1.5rem .75rem}@supports selector(:has(*)){.page-container:has(.home-page){padding:0}}}@supports not (overflow:clip){.app-shell{overflow-x:hidden}}body.mobile-nav-open{overflow:hidden}.site-header{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffafcf0;border-bottom:1px solid #cdb4db73;position:sticky;top:0}.navbar{z-index:3;justify-content:space-between;align-items:center;gap:1.5rem;max-width:1180px;margin:0 auto;padding:1rem 1.5rem;display:flex;position:relative}.brand{color:#6f4f7d;white-space:nowrap;font-family:Georgia,serif;font-size:1.35rem;font-weight:700;text-decoration:none}.nav-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.nav-links a{color:#745f7f;border-radius:999px;padding:.55rem .85rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s}.nav-links a:hover{color:#5d3f6f;background:#ffc8dd61}.nav-links a.active{color:#4f3563;background:#cdb4db6b;box-shadow:0 8px 20px #cdb4db3d}.mobile-menu-toggle,.mobile-nav-drawer,.mobile-nav-backdrop{display:none}@media (width<=760px){.site-header{background:#fffafcf7}.navbar{gap:1rem;padding:.85rem 1rem}.brand{font-size:1.25rem}.nav-links--desktop{display:none}.mobile-menu-toggle{color:#5d3f6f;cursor:pointer;background:radial-gradient(circle at 0 0,#fffc,#0000 42%),linear-gradient(135deg,#ffc8dd5c,#cdb4db4d);border:1px solid #cdb4dba6;border-radius:999px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.27rem;width:2.75rem;height:2.75rem;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 10px 24px #6f4f7d1f}.mobile-menu-toggle:hover{transform:translateY(-1px);box-shadow:0 14px 30px #6f4f7d29}.mobile-menu-toggle span{background:currentColor;border-radius:999px;width:1.15rem;height:2px;transition:transform .22s,opacity .22s}.site-header--menu-open .mobile-menu-toggle{color:#fff;background:#7b4f8e}.site-header--menu-open .mobile-menu-toggle span:first-child{transform:translateY(6px)rotate(45deg)}.site-header--menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}.site-header--menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.mobile-nav-backdrop{z-index:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;background:#4f35632e;border:0;padding:0;transition:opacity .22s;display:block;position:fixed;inset:0}.mobile-nav-backdrop--visible{opacity:1;pointer-events:auto}.mobile-nav-drawer{z-index:2;opacity:0;pointer-events:none;padding:0 1rem 1rem;transition:opacity .22s,transform .22s;display:block;position:absolute;top:100%;left:0;right:0;transform:translateY(-.55rem)}.mobile-nav-drawer--open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav-drawer__panel{background:radial-gradient(circle at 0 0,#ffffffd1,#0000 36%),linear-gradient(#fff 0%,#fff8fb 100%);border:1px solid #cdb4db94;border-radius:0 0 28px 28px;gap:.35rem;width:min(100%,25rem);margin:0 auto;padding:.65rem;display:grid;box-shadow:0 24px 58px #4f35632e}.mobile-nav-drawer__panel a{color:#665070;border-radius:18px;justify-content:space-between;align-items:center;min-height:3rem;padding:.75rem .95rem;font-size:1rem;font-weight:800;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:flex}.mobile-nav-drawer__panel a:after{content:"›";color:#6f4f7d73;font-size:1.35rem;line-height:1}.mobile-nav-drawer__panel a:hover{color:#4f3563;background:#ffc8dd47;transform:translate(2px)}.mobile-nav-drawer__panel a.active{color:#4f3563;background:#cdb4db5c;box-shadow:inset 0 0 0 1px #cdb4db73}}@media (width<=360px){.navbar{padding-inline:.8rem}.brand{font-size:1.15rem}.mobile-menu-toggle{width:2.55rem;height:2.55rem}}.site-footer{color:#745f7f;background:radial-gradient(circle at 0 0,#ffffffb8,#0000 34%),linear-gradient(135deg,#fff8fb 0%,#f8effb 52%,#eef8ff 100%);border-top:1px solid #cdb4db73;margin-top:4rem}.site-footer__inner{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;width:min(1180px,100%);margin:0 auto;padding:2.35rem 1.5rem 2rem;display:flex}.site-footer__inner p{margin:0;line-height:1.6}.footer-small{color:#8d7b97;font-size:.92rem;margin-top:-.35rem!important}.footer-links{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:.75rem;width:min(100%,720px);margin-top:.15rem;display:grid}.footer-links a{color:#6f4f7d;text-align:center;background:#ffffff80;border:1px solid #cdb4db80;border-radius:999px;justify-content:center;align-items:center;min-height:2.65rem;padding:.65rem .9rem;font-size:.95rem;font-weight:800;text-decoration:none;transition:transform .2s,background .2s,color .2s,box-shadow .2s,border-color .2s;display:inline-flex;box-shadow:0 8px 22px #6f4f7d0f}.footer-links a:hover{color:#4f3563;background:#ffc8dd5c;border-color:#ffafccc7;transform:translateY(-1px);box-shadow:0 12px 28px #6f4f7d1a}.footer-legal-row{border-top:1px solid #cdb4db59;justify-content:space-between;align-items:center;gap:1.25rem;width:min(100%,720px);margin-top:.2rem;padding-top:1rem;display:flex}.footer-copyright{color:#8d7b97;text-align:left;font-size:.88rem;margin:0!important}.footer-terms-link{color:#6f4f7d;text-align:right;font-size:.88rem;font-weight:800;text-decoration:none}.footer-terms-link:hover{color:#4f3563;text-underline-offset:.22rem;text-decoration:underline}@media (width<=760px){.site-footer{margin-top:3rem}.site-footer__inner{gap:1.15rem;padding:2rem 1rem}.footer-small{margin-top:-.25rem!important}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:100%}.footer-links a{min-height:2.75rem;padding:.7rem .75rem;font-size:.92rem}.footer-legal-row{text-align:center;flex-direction:column;justify-content:center;gap:.45rem;width:100%;padding-top:.9rem}.footer-copyright,.footer-terms-link{text-align:center}}@media (width<=360px){.footer-links{grid-template-columns:1fr}}.hero-card,.page-card{background:var(--card-bg);border:1px solid var(--border-soft);border-radius:24px;padding:2rem;box-shadow:0 12px 35px #1f29371a}.page-title{color:var(--accent-purple);margin-top:0;font-size:2rem}.page-subtitle{color:var(--text-soft);line-height:1.7}.home-page{width:100%;max-width:100%;margin:0;padding-bottom:2rem;overflow-x:clip}.home-hero{background-position:50% 38%;background-size:cover;border-radius:0 0 34px 34px;width:100%;min-height:clamp(19rem,45vh,34rem);overflow:hidden;box-shadow:0 18px 45px #1f29371f}.home-memorial-intro{z-index:2;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:clamp(1.5rem,5vw,4.5rem);width:min(960px,100% - 2rem);margin:-3.25rem auto 0;display:grid;position:relative}.home-profile-frame{background:linear-gradient(135deg, var(--pastel-petal), var(--baby-pink), var(--thistle));border-radius:34px;width:fit-content;max-width:100%;padding:.85rem;box-shadow:0 18px 45px #1f29372e}.home-profile-image{object-fit:cover;border:6px solid #ffffffe6;border-radius:26px;width:clamp(12rem,22vw,15rem);height:clamp(12rem,22vw,15rem);display:block}.home-memorial-text{text-align:left;min-width:0;padding-top:6rem}.eyebrow{color:var(--accent-purple);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.home-memorial-text h2{max-width:100%;color:var(--text-main);white-space:normal;text-wrap:balance;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,4rem);font-weight:500;line-height:1.05}.memorial-dates{color:var(--text-soft);letter-spacing:.04em;margin:.9rem 0 0;font-size:1.15rem;font-weight:500}.home-memory-button{background:linear-gradient(135deg, var(--pastel-petal), var(--baby-pink), var(--thistle));color:var(--text-main);letter-spacing:.02em;border:1px solid #ffffffd9;border-radius:999px;justify-content:center;align-items:center;margin-top:1.35rem;padding:.85rem 1.35rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 12px 28px #1f293724}.home-memory-button:hover{transform:translateY(-2px);box-shadow:0 16px 35px #1f29372e}@media (width<=760px){.home-page{padding-bottom:1.25rem}.home-hero{background-position:top;border-radius:0 0 26px 26px;min-height:clamp(16rem,42vh,22rem)}.home-memorial-intro{text-align:center;grid-template-columns:1fr;justify-items:center;gap:.9rem;width:min(100%,100% - 1rem);margin:-3rem auto 0}.home-profile-frame{border-radius:28px;padding:.65rem}.home-profile-image{border-width:5px;border-radius:22px;width:clamp(10.5rem,48vw,12.5rem);height:clamp(10.5rem,48vw,12.5rem)}.home-memorial-text{text-align:center;width:100%;padding-top:0}.eyebrow{letter-spacing:.1em;font-size:.78rem}.home-memorial-text h2{font-size:clamp(2.05rem,10vw,3.2rem);line-height:1.05}.memorial-dates{font-size:1rem;line-height:1.5}.home-memory-button{width:min(100%,17rem)}}@media (width<=380px){.home-hero{min-height:14.5rem}.home-memorial-intro{margin-top:-2.4rem}.home-profile-image{width:10rem;height:10rem}.home-memorial-text h2{font-size:2rem}}@supports not (overflow:clip){.home-page{overflow-x:hidden}}.profile-page{width:min(1100px,100% - 2rem);margin:0 auto;padding:3rem 0 4rem}.profile-hero{text-align:center;background:radial-gradient(circle at top left, #ffffffb3, transparent 34%), linear-gradient(135deg, var(--pastel-petal), var(--baby-pink), var(--thistle));border-radius:34px;padding:3.5rem 2rem;box-shadow:0 18px 45px #1f293724}.profile-hero h1{color:var(--text-main);margin:.5rem 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.25rem,5vw,4rem);font-weight:500;line-height:1.05}.profile-hero__eyebrow{color:var(--accent-purple);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.profile-hero__dates{color:var(--text-soft);letter-spacing:.04em;margin:.9rem 0 0;font-size:1.15rem;font-weight:500}.profile-content{grid-template-columns:1.4fr 1fr;gap:1.5rem;margin-top:2rem;display:grid}.profile-card{background:#ffffffe0;border-radius:28px;padding:2rem;box-shadow:0 14px 35px #1f293717}.profile-card h2{color:var(--text-main);margin:0 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-weight:500}.profile-card p{color:var(--text-soft);margin:0;font-size:1.05rem;line-height:1.8}.profile-card--mission{background:#fff7ede6;border:1px solid #fffc}.profile-status{text-align:center;max-width:900px;color:var(--text-soft);margin:3rem auto;padding:1.25rem}.profile-status--error{color:#9f1239}@media (width<=760px){.profile-page{width:min(100%,100% - 1.25rem);padding-top:2rem}.profile-hero{border-radius:24px;padding:2.75rem 1.25rem}.profile-content{grid-template-columns:1fr}.profile-card{border-radius:22px;padding:1.5rem}}.tributes-page{width:min(1040px,100% - 2rem);margin:0 auto;padding:3rem 0 4rem}.tributes-hero{text-align:center;background:radial-gradient(circle at top left, #ffffffa6, transparent 34%), linear-gradient(135deg, var(--pastel-petal), var(--baby-pink), var(--thistle));border-radius:34px;padding:3.5rem 2rem;box-shadow:0 18px 45px #1f293724}.tributes-hero h1{color:var(--text-main);margin:.5rem 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.25rem,5vw,4rem);font-weight:500}.tributes-hero p{max-width:680px;color:var(--text-soft);margin:1rem auto 0;font-size:1.08rem;line-height:1.75}.tribute-form-card,.tribute-card,.tribute-empty-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #b497d62e;box-shadow:0 14px 35px #1f293714}.tribute-form-card{border-radius:28px;margin:2rem auto 0;padding:2rem}.tribute-form-card__header{margin-bottom:1.35rem}.tribute-form-card__header h2{color:var(--text-main);margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-weight:500}.tribute-form-card__header p{max-width:660px;color:var(--text-soft);margin:.55rem 0 0;line-height:1.65}.tribute-form__emoji-row{flex-wrap:wrap;gap:.65rem;margin:.35rem 0 .85rem;display:flex}.tribute-form__emoji-button{cursor:pointer;background:#ffffffc7;border:1px solid #5c3a6f2e;border-radius:999px;width:2.45rem;height:2.45rem;font-size:1.25rem;transition:transform .18s,box-shadow .18s,background-color .18s;box-shadow:0 8px 18px #5c3a6f14}.tribute-form__emoji-button:hover{background:#faf4fff5;transform:translateY(-2px);box-shadow:0 12px 24px #5c3a6f24}.tribute-form__emoji-button:focus-visible{outline-offset:3px;outline:3px solid #9c6eb459}.tribute-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.tribute-field{gap:.45rem;display:grid}.tribute-field label{color:var(--text-main);font-size:.96rem;font-weight:700}.tribute-field input,.tribute-field textarea{width:100%;color:var(--text-main);font:inherit;background:#fffffff0;border:1px solid #1f29371f;border-radius:18px;outline:none;padding:.9rem 1rem;transition:border-color .2s,box-shadow .2s,background .2s}.tribute-field textarea{resize:vertical;min-height:155px;line-height:1.65}.tribute-field input::placeholder,.tribute-field textarea::placeholder{color:#4b556394}.tribute-field input:focus,.tribute-field textarea:focus{border-color:var(--accent-purple);background:#fff;box-shadow:0 0 0 4px #b497d62e}.tribute-form__footer{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.25rem;display:flex}.tribute-submit-button{background:linear-gradient(135deg, var(--pastel-petal), var(--baby-pink), var(--thistle));color:var(--text-main);cursor:pointer;border:0;border-radius:999px;padding:.9rem 1.4rem;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 12px 28px #1f293724}.tribute-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 35px #1f29372e}.tribute-submit-button:disabled{cursor:not-allowed;opacity:.65}.tribute-note{color:var(--text-soft);margin:0;font-size:.92rem;line-height:1.5}.tribute-status{color:var(--text-main);background:#f4d8e673;border-radius:16px;margin:.25rem 0 0;padding:.85rem 1rem;line-height:1.55}.tributes-feed{margin-top:2.5rem}.tributes-feed__header{text-align:center;margin-bottom:1rem}.tributes-feed__header h2{color:var(--text-main);margin:.25rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,3vw,2.55rem);font-weight:500}.tributes-list{gap:1rem;display:grid}.tribute-card{border-radius:24px;padding:1.25rem;position:relative;overflow:hidden}.tribute-card:before{content:"";background:linear-gradient(180deg, var(--baby-pink), var(--thistle));opacity:.8;width:5px;position:absolute;inset:0 auto 0 0}.tribute-card__header{align-items:center;gap:.9rem;display:flex}.tribute-avatar{width:48px;height:48px;color:var(--text-main);letter-spacing:.04em;background:radial-gradient(circle at 30% 25%, #fffc, transparent 32%), linear-gradient(135deg, var(--pastel-petal), var(--baby-pink), var(--thistle));border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid;box-shadow:0 8px 20px #1f29371f}.tribute-card__author{min-width:0}.tribute-card__author h3{color:var(--text-main);margin:0;font-size:1.05rem;font-weight:800;line-height:1.25}.tribute-card__author p{color:var(--text-soft);flex-wrap:wrap;gap:.35rem;margin:.18rem 0 0;font-size:.9rem;line-height:1.35;display:flex}.tribute-card__body{border-top:1px solid #1f293714;margin-top:1rem;padding-top:1rem}.tribute-card__body p{color:var(--text-main);white-space:pre-wrap;margin:0;font-size:1rem;line-height:1.78}.tribute-empty-card{text-align:center;border-radius:22px;padding:1.5rem}.tribute-empty-card p{color:var(--text-soft);margin:0;line-height:1.6}.tribute-open-form-button{color:var(--text-main);cursor:pointer;background:#ffffffd1;border:0;border-radius:999px;margin-top:1.5rem;padding:.9rem 1.5rem;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 12px 28px #1f293721}.tribute-open-form-button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 16px 35px #1f29372e}.tribute-cancel-button{color:var(--text-soft);cursor:pointer;background:#ffffffdb;border:1px solid #1f29371f;border-radius:999px;padding:.9rem 1.25rem;font-weight:700;transition:transform .2s,background .2s,color .2s}.tribute-cancel-button:hover{color:var(--text-main);background:#fff;transform:translateY(-2px)}.tribute-status--standalone{margin:1.25rem auto 0}@media (width<=760px){.tributes-page{width:min(100%,100% - 1.25rem);padding-top:2rem}.tributes-hero{border-radius:24px;padding:2.75rem 1.25rem}.tribute-form-card{border-radius:22px;padding:1.35rem}.tribute-form__grid{grid-template-columns:1fr}.tribute-form__footer{flex-direction:column;align-items:stretch}.tribute-submit-button{width:100%}.tribute-card{border-radius:22px;padding:1.1rem}.tribute-avatar{width:44px;height:44px}}.timeline-page{width:min(1080px,100% - 2rem);margin:0 auto;padding:3rem 0 4rem}.timeline-hero{text-align:center;background:radial-gradient(circle at top left, #ffffffb3, transparent 34%), linear-gradient(135deg, var(--pastel-petal), var(--baby-pink), var(--thistle));border-radius:34px;padding:3.5rem 2rem;box-shadow:0 18px 45px #1f293724}.timeline-hero h1{color:var(--text-main);margin:.5rem 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.25rem,5vw,4rem);font-weight:500;line-height:1.05}.timeline-hero p:not(.profile-hero__eyebrow){max-width:720px;color:var(--text-soft);margin:1rem auto 0;font-size:1.08rem;line-height:1.75}.timeline-intro-card,.timeline-empty-card,.timeline-status-card,.timeline-event-card__content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #b497d62e;box-shadow:0 14px 35px #1f293714}.timeline-intro-card{border-radius:28px;grid-template-columns:.85fr 1.4fr;align-items:center;gap:1.5rem;margin-top:2rem;padding:2rem;display:grid}.timeline-intro-card h2{color:var(--text-main);margin:.25rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:500}.timeline-intro-card p{color:var(--text-soft);margin:0;font-size:1.02rem;line-height:1.78}.timeline-intro-card__label{letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--accent-purple)!important;font-size:.82rem!important}.timeline-year-strip{flex-wrap:wrap;justify-content:center;gap:.65rem;margin:2rem 0 0;display:flex}.timeline-year-strip span{min-width:76px;color:var(--accent-purple);background:#ffffffc7;border:1px solid #b497d633;border-radius:999px;justify-content:center;align-items:center;padding:.65rem 1rem;font-size:.92rem;font-weight:800;display:inline-flex;box-shadow:0 10px 24px #1f293712}.timeline-list{gap:1.25rem;margin-top:2.5rem;display:grid;position:relative}.timeline-list:before{content:"";background:linear-gradient(180deg, var(--baby-pink), var(--thistle), var(--icy-blue));opacity:.58;border-radius:999px;width:3px;position:absolute;top:1.25rem;bottom:1.25rem;left:31px}.timeline-event-card{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:1rem;display:grid;position:relative}.timeline-event-card__marker{z-index:1;background:radial-gradient(circle at 30% 25%, #ffffffd9, transparent 32%), linear-gradient(135deg, var(--pastel-petal), var(--baby-pink), var(--thistle));border-radius:50%;place-items:center;width:64px;height:64px;display:grid;position:relative;box-shadow:0 12px 28px #1f293721}.timeline-event-card__marker span{width:42px;height:42px;color:var(--text-main);background:#ffffffc7;border-radius:50%;place-items:center;font-weight:900;display:grid}.timeline-event-card__content{border-radius:26px;padding:1.45rem;position:relative;overflow:hidden}.timeline-event-card__content:before{content:"";background:linear-gradient(180deg, var(--baby-pink), var(--thistle));opacity:.82;width:5px;position:absolute;inset:0 auto 0 0}.timeline-event-card__content h2{color:var(--text-main);margin:.55rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,3vw,2rem);font-weight:500;line-height:1.2}.timeline-event-card__content p{color:var(--text-soft);margin:.8rem 0 0;font-size:1.02rem;line-height:1.78}.timeline-event-card__meta{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:.45rem .65rem;font-size:.92rem;display:flex}.timeline-event-card__meta span{color:var(--accent-purple);background:#f4d8e67a;border-radius:999px;align-items:center;padding:.35rem .7rem;font-weight:800;display:inline-flex}.timeline-event-card__meta time{font-weight:650}.timeline-empty-card,.timeline-status-card{text-align:center;border-radius:26px;margin:3rem auto 0;padding:2rem}.timeline-empty-card h2,.timeline-status-card h2{color:var(--text-main);margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-weight:500}.timeline-empty-card p,.timeline-status-card p{color:var(--text-soft);margin:.65rem 0 0;line-height:1.65}.timeline-status-card--error p{color:#9f1239}@media (width>=900px){.timeline-list:before{left:50%;transform:translate(-50%)}.timeline-event-card{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);gap:1.25rem}.timeline-event-card__marker{grid-column:2}.timeline-event-card__content{grid-column:3}.timeline-event-card:nth-child(2n) .timeline-event-card__content{text-align:right;grid-area:1/1}.timeline-event-card:nth-child(2n) .timeline-event-card__content:before{inset:0 0 0 auto}.timeline-event-card:nth-child(2n) .timeline-event-card__meta{justify-content:flex-end}}@media (width<=760px){.timeline-page{width:min(100%,100% - 1.25rem);padding-top:2rem}.timeline-hero{border-radius:24px;padding:2.75rem 1.25rem}.timeline-intro-card{border-radius:22px;grid-template-columns:1fr;padding:1.35rem}.timeline-list{gap:1rem;margin-top:2rem}.timeline-list:before{left:24px}.timeline-event-card{grid-template-columns:50px minmax(0,1fr);gap:.85rem}.timeline-event-card__marker{width:50px;height:50px}.timeline-event-card__marker span{width:34px;height:34px;font-size:.92rem}.timeline-event-card__content{border-radius:22px;padding:1.2rem}}@media (width<=850px){.support-grid,.organization-list,.support-resource-list{grid-template-columns:1fr}.support-page{padding:3rem 1rem}.support-card,.support-feature-section{padding:1.5rem}}.admin-tributes-page{width:min(1040px,100% - 2rem);margin:0 auto;padding:3rem 0 4rem}.admin-tributes-hero{text-align:center;background:radial-gradient(circle at top left, #ffffffa6, transparent 34%), linear-gradient(135deg, var(--pastel-petal), var(--baby-pink), var(--thistle));border-radius:34px;padding:3rem 2rem;box-shadow:0 18px 45px #1f293724}.admin-tributes-hero h1{color:var(--text-main);margin:.5rem 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,4vw,3.25rem);font-weight:500}.admin-tributes-hero p{max-width:680px;color:var(--text-soft);margin:1rem auto 0;font-size:1.05rem;line-height:1.7}.admin-card{background:#ffffffe6;border:1px solid #b497d62e;border-radius:28px;margin:2rem auto 0;padding:1.5rem;box-shadow:0 14px 35px #1f293714}.admin-login-card{max-width:520px}.admin-login-card p{color:var(--text-soft);line-height:1.7}.admin-login-form{gap:1rem;display:grid}.admin-login-form label{color:var(--text-main);gap:.45rem;font-weight:700;display:grid}.admin-login-form input{width:100%;color:var(--text-main);font:inherit;background:#fffffff0;border:1px solid #1f29371f;border-radius:18px;padding:.9rem 1rem}.admin-card__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.admin-card__actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.admin-tribute-list{gap:1rem;display:grid}.admin-tribute-card{background:#ffffffd1;border:1px solid #1f293714;border-radius:22px;padding:1.25rem}.admin-tribute-card__message{color:var(--text-main);white-space:pre-wrap;border-top:1px solid #1f293714;margin:1rem 0;padding-top:1rem;line-height:1.75}.admin-tribute-card__actions{flex-wrap:wrap;gap:.75rem;display:flex}.admin-login-form button,.admin-primary-button,.admin-card__actions button,.admin-tribute-card__actions button,.admin-secondary-button{background:linear-gradient(135deg, var(--pastel-petal), var(--baby-pink), var(--thistle));color:var(--text-main);cursor:pointer;border:0;border-radius:999px;padding:.8rem 1.15rem;font-weight:800;box-shadow:0 10px 22px #1f29371f}.admin-login-form button:disabled,.admin-primary-button:disabled,.admin-card__actions button:disabled,.admin-tribute-card__actions button:disabled,.admin-secondary-button:disabled{cursor:not-allowed;opacity:.65}.admin-secondary-button{background:#ffffffe6;border:1px solid #1f29371f}.admin-danger-button{color:#8a1f3d!important;background:#ffffffe6!important;border:1px solid #8a1f3d40!important}.admin-empty-message,.admin-status-message{color:var(--text-soft);line-height:1.6}.admin-status-message{max-width:680px;color:var(--text-main);text-align:center;background:#f4d8e673;border-radius:16px;margin:1rem auto 0;padding:.85rem 1rem}@media (width<=760px){.terms-page{padding:3rem 1rem}}@media (width<=700px){.thank-you-page{padding:3.5rem 1rem}.thank-you-card{border-radius:28px}.thank-you-card:before{font-size:3.3rem;top:1rem;right:1.1rem}.thank-you-actions{flex-direction:column}.thank-you-button{width:100%}}.contact-page{color:#4f3563;max-width:1100px;margin:0 auto;padding:4rem 1.5rem}.contact-hero{text-align:center;background:radial-gradient(circle at 0 0,#ffffffb8,#0000 34%),linear-gradient(135deg,#ffc8dd6b,#bde0fe52),#fffafcf0;border:1px solid #cdb4db8c;border-radius:34px;max-width:880px;margin:0 auto 3rem;padding:clamp(2rem,5vw,3.5rem);box-shadow:0 24px 70px #6f4f7d24}.contact-hero__label{color:var(--accent-purple);letter-spacing:.1em;text-transform:uppercase;background:#ffffff94;border-radius:999px;margin-bottom:1rem;padding:.45rem .9rem;font-size:.78rem;font-weight:800;display:inline-flex}.contact-hero h1{color:var(--text-main);margin:0 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,7vw,4.8rem);font-weight:500;line-height:1}.contact-hero p{color:#745f7f;max-width:680px;margin:0 auto;font-size:1.05rem;line-height:1.8}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;display:grid}.contact-card{background:linear-gradient(#fff 0%,#fff8fb 100%);border:1px solid #cdb4db8c;border-radius:28px;padding:2rem;box-shadow:0 18px 50px #6f4f7d17}.contact-card--primary{background:radial-gradient(circle at 0 0,#ffffffa6,#0000 36%),linear-gradient(135deg,#ffc8dd4d,#cdb4db47)}.contact-card--wide{grid-column:1/-1}.contact-card__label{color:#7b4f8e;letter-spacing:.08em;text-transform:uppercase;background:#ffafcc52;border-radius:999px;margin-bottom:1rem;padding:.4rem .75rem;font-size:.72rem;font-weight:800;display:inline-flex}.contact-card h2{color:#5d3f6f;margin:0 0 .75rem;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;line-height:1.2}.contact-card p{color:#745f7f;margin:0;line-height:1.7}.contact-card__note{color:#8d7b97;font-size:.92rem;margin-top:1rem!important}.contact-button{color:#fff;background:#7b4f8e;border-radius:999px;justify-content:center;align-items:center;margin-top:1.25rem;padding:.85rem 1.25rem;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 12px 28px #7b4f8e38}.contact-button:hover{background:#5d3f6f;transform:translateY(-1px);box-shadow:0 16px 34px #7b4f8e47}@media (width<=760px){.contact-page{padding:3rem 1rem}.contact-grid{grid-template-columns:1fr}.contact-card{padding:1.5rem}.contact-card--wide{grid-column:auto}.contact-button{text-align:center;width:100%}}.support-page{color:#4f3563;padding:4rem 1.5rem}.support-hero{text-align:center;max-width:940px;margin:0 auto 3rem;padding:0 .5rem}.support-hero__content{background:radial-gradient(circle at top left, #ffffffb3, transparent 34%), linear-gradient(135deg, var(--pastel-petal), var(--baby-pink), var(--thistle));border:1px solid #ffffff8c;border-radius:32px;padding:clamp(2rem,5vw,3.5rem);box-shadow:0 18px 45px #1f293724}.support-hero__label,.support-hero__eyebrow{color:var(--accent-purple);letter-spacing:.1em;text-transform:uppercase;background:#ffffff73;border-radius:999px;margin-bottom:.85rem;padding:.4rem .8rem;font-size:.85rem;font-weight:600;display:inline-flex}.support-hero h1{max-width:720px;color:var(--text-main);margin:.5rem auto 1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.25rem,5vw,4rem);font-weight:500;line-height:1.05}.support-hero__lead{color:#5f4b69;max-width:760px;margin:0 auto;font-size:clamp(1rem,2vw,1.15rem);line-height:1.8}.support-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;max-width:1100px;margin:0 auto 4rem;display:grid}.support-card,.organization-card,.support-resource-card,.support-feature-section{background:#fffafceb;border:1px solid #cdb4db8c;border-radius:28px;box-shadow:0 18px 50px #6f4f7d17}.support-card{padding:2rem}.support-card--primary{background:radial-gradient(circle at 0 0,#ffffffa6,#0000 36%),linear-gradient(135deg,#ffc8dd4d,#cdb4db47)}.support-card__label{color:#7b4f8e;letter-spacing:.08em;text-transform:uppercase;background:#ffafcc52;border-radius:999px;align-items:center;margin-bottom:1rem;padding:.4rem .75rem;font-size:.72rem;font-weight:800;display:inline-flex}.support-card h2{color:#5d3f6f;margin:0 0 .75rem;font-family:Georgia,serif;font-size:1.7rem;line-height:1.2}.support-card p{color:#745f7f;margin:0;line-height:1.7}.support-card__note{color:#8d7b97;font-size:.92rem;margin-top:1rem!important}.support-button{color:#fff;cursor:pointer;background:#7b4f8e;border:none;border-radius:999px;justify-content:center;align-items:center;margin-top:1.25rem;padding:.85rem 1.25rem;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 12px 28px #7b4f8e38}.support-button:hover{background:#5d3f6f;transform:translateY(-1px);box-shadow:0 16px 34px #7b4f8e47}.support-button--disabled{opacity:.62;cursor:not-allowed;box-shadow:none}.support-button--disabled:hover{box-shadow:none;background:#7b4f8e;transform:none}.support-feature-section{max-width:1100px;margin:0 auto 4rem;padding:2rem}.support-feature-section--awareness{background:radial-gradient(circle at 100% 0,#ffffffbf,#0000 34%),linear-gradient(135deg,#ffc8dd3d,#bde0fe42)}.support-resource-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.support-resource-card{background:linear-gradient(#fff 0%,#fff8fb 100%);padding:1.35rem;transition:transform .2s,box-shadow .2s}.support-resource-card:hover{transform:translateY(-2px);box-shadow:0 22px 55px #6f4f7d1f}.support-resource-card h3{color:#5d3f6f;margin:0 0 .65rem;font-family:Georgia,serif;font-size:1.15rem;line-height:1.25}.support-resource-card p{color:#745f7f;margin:0 0 1rem;font-weight:500;line-height:1.6}.support-resource-card__link{color:#6f4f7d;font-weight:800;text-decoration:none}.support-resource-card__link:hover{color:#4f3563;text-underline-offset:.25rem;text-decoration:underline}.support-organizations{max-width:1100px;margin:0 auto}.support-section-heading{max-width:760px;margin-bottom:1.5rem}.support-section-heading h2{color:#5d3f6f;margin:0 0 .75rem;font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15}.support-section-heading p{color:#745f7f;margin:0 0 .75rem;line-height:1.7}.support-section-heading__note{color:#8d7b97;font-size:.92rem}.organization-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.organization-card{background:linear-gradient(#fff 0%,#fff8fb 100%);padding:1.5rem;transition:transform .2s,box-shadow .2s}.organization-card:hover{transform:translateY(-2px);box-shadow:0 22px 55px #6f4f7d1f}.organization-card h3{color:#5d3f6f;margin:0 0 .75rem;font-family:Georgia,serif;font-size:1.2rem;line-height:1.25}.organization-card p{color:#745f7f;margin:0 0 1rem;line-height:1.6}.organization-card__link{color:#6f4f7d;font-weight:800;text-decoration:none}.organization-card__link:hover{color:#4f3563;text-underline-offset:.25rem;text-decoration:underline}@media (width<=850px){.support-grid,.organization-list,.support-resource-list{grid-template-columns:1fr}.support-page{padding:3rem 1rem}.support-card,.support-feature-section{padding:1.5rem}}.terms-page{max-width:1000px;margin:0 auto;padding:4rem 1.5rem}.terms-card{background:radial-gradient(circle at 0 0,#ffffffc7,#0000 34%),linear-gradient(135deg,#ffc8dd47,#bde0fe38),#fffafcf0;border:1px solid #cdb4db8c;border-radius:34px;padding:clamp(2rem,5vw,4rem);box-shadow:0 24px 70px #6f4f7d24}.terms-card h1{color:var(--text-main);margin:0 0 1.5rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,6vw,4rem);font-weight:500}.terms-card h2{color:#5d3f6f;margin-top:2rem;margin-bottom:.75rem;font-family:Georgia,Times New Roman,serif}.terms-card p{color:#745f7f;margin-bottom:1rem;line-height:1.8}.terms-card a{color:#6f4f7d;font-weight:700}.terms-card a:hover{color:#4f3563}.terms-label{color:var(--accent-purple);letter-spacing:.1em;text-transform:uppercase;background:#ffffff94;border-radius:999px;margin-bottom:1rem;padding:.45rem .9rem;font-size:.78rem;font-weight:800;display:inline-flex}.terms-intro{font-size:1.05rem}@media (width<=760px){.terms-page{padding:3rem 1rem}}.thank-you-page{color:#4f3563;justify-content:center;align-items:center;min-height:78vh;padding:5rem 1.5rem;display:flex}.thank-you-card{text-align:center;background:radial-gradient(circle at 0 0,#ffffffc7,#0000 34%),linear-gradient(135deg,#ffc8dd6b,#bde0fe52),#fffafcf0;border:1px solid #cdb4db8c;border-radius:34px;width:100%;max-width:820px;padding:clamp(2.25rem,6vw,4.5rem);position:relative;overflow:hidden;box-shadow:0 24px 70px #6f4f7d24}.thank-you-card:before{content:"♡";color:#d85f913d;font-size:4.5rem;line-height:1;position:absolute;top:1.35rem;right:1.75rem}.thank-you-label{color:var(--accent-purple);letter-spacing:.1em;text-transform:uppercase;background:#ffffff94;border-radius:999px;justify-content:center;align-items:center;margin-bottom:1.25rem;padding:.45rem .9rem;font-size:.78rem;font-weight:800;display:inline-flex}.thank-you-card h1{color:var(--text-main);margin:0 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,7vw,5rem);font-weight:500;line-height:1}.thank-you-message{color:#5d3f6f;max-width:640px;margin:0 auto 1.1rem;font-size:clamp(1.15rem,2vw,1.35rem);font-weight:800;line-height:1.6}.thank-you-card p:not(.thank-you-message){color:#745f7f;max-width:650px;margin:0 auto .85rem;font-size:1.02rem;line-height:1.8}.thank-you-actions{flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:2.4rem;display:flex}.thank-you-button{color:#fff;background:#7b4f8e;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:.85rem 1.35rem;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 12px 28px #7b4f8e38}.thank-you-button:hover{background:#5d3f6f;transform:translateY(-2px);box-shadow:0 18px 38px #7b4f8e47}.thank-you-button--secondary{color:#5d3f6f;box-shadow:none;background:#ffffffb8;border:1px solid #cdb4dbb3}.thank-you-button--secondary:hover{color:#4f3563;background:#fff;box-shadow:0 12px 28px #6f4f7d1f}@media (width<=700px){.thank-you-page{padding:3.5rem 1rem}.thank-you-card{border-radius:28px}.thank-you-card:before{font-size:3.3rem;top:1rem;right:1.1rem}.thank-you-actions{flex-direction:column}.thank-you-button{width:100%}}
