:root{--cream:#f8f4f0;--plum:#2e2535;--wine:#963b54;--muted:#746c79;--border:#e7dde0;--pink:#f1dfe5;--mint:#dcebe4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--plum);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:var(--wine);text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer}a,button,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--wine);outline-offset:4px}h1,h2,h3,blockquote{font-family:Georgia,serif;line-height:1.12;letter-spacing:-.035em;margin:0 0 20px}h1{font-size:clamp(40px,4.8vw,70px)}h2{font-size:clamp(30px,3.2vw,44px)}h3{font-size:24px;margin-bottom:12px}p{color:var(--muted);margin:0 0 20px}em{color:var(--wine);font-weight:normal}img{max-width:100%;height:auto}.wrap{width:min(1140px,calc(100% - 64px));margin-inline:auto}.narrow{max-width:730px;margin-inline:auto}.brand{display:inline-flex;align-items:center;gap:10px;font:bold 26px Georgia,serif;color:var(--plum);text-decoration:none!important;white-space:nowrap}.brand img{width:42px;height:42px;object-fit:contain;border-radius:12px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:24px}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{font-size:14px;text-decoration:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:14px 25px;min-height:48px;border:1px solid var(--wine);border-radius:99px;background:var(--wine);color:white;font-size:15px;font-weight:600;line-height:1.45;text-decoration:none!important}.button:hover{background:#7c2f45;color:white}.button.small{padding:10px 22px;min-height:42px}.button.outline{background:transparent;color:var(--wine)}.button.outline:hover{background:var(--pink)}.full{width:100%}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:60px;padding-block:62px 92px}.hero h1{margin-top:22px}.lead{font-size:18px;max-width:490px}.hero-image{margin:0;padding:20px;background:#efdfd8;border-radius:46% 46% 8px 8px;transform:rotate(2deg)}.hero-image img{display:block;border-radius:44% 44% 8px 8px}.hero-image figcaption{text-align:center;padding:14px 0 4px;font:italic 18px Georgia,serif}.eyebrow{display:inline-block;color:var(--wine);text-transform:uppercase;letter-spacing:1.8px;font-size:11px;font-weight:bold;margin-bottom:18px}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:28px 0 22px}.quiet-link{font-weight:600;text-decoration:none}.fine,small{font-size:13px}.fine{margin-top:18px}.section{padding-block:85px}.white{background:white}.section-heading{text-align:center;max-width:730px;margin:0 auto 44px}.section-heading p{max-width:600px;margin-inline:auto}.grid{display:grid;gap:24px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:30px;background:white;border:1px solid var(--border);border-radius:20px}.card p:last-child{margin-bottom:0}.feature{min-height:210px}.feature p{font-size:15px}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--pink);color:var(--wine);font-size:23px;margin-bottom:23px}.feature:nth-child(3n + 2) .feature-icon{background:var(--mint);color:#426856}.feature:nth-child(3n) .feature-icon{background:#e9e1ef}.pink{background:var(--pink);border-color:var(--pink)}.mint{background:var(--mint);border-color:var(--mint)}.steps span{display:block;font:italic 35px Georgia,serif;color:var(--wine);margin-bottom:20px}.steps p{font-size:15px}.remembrance{background:var(--plum);color:var(--cream);padding-block:70px}.remembrance p{color:#d2c8d6}.remembrance .eyebrow{color:#dec396}.plan-card{display:grid;grid-template-columns:1fr 1fr;gap:45px;max-width:900px;margin:auto;padding:42px;border-color:#b9788c}.price{font:44px Georgia,serif;letter-spacing:-2px}.price span{font:15px Arial,sans-serif;letter-spacing:0;color:var(--muted)}.checklist{list-style:none;padding:0;margin:25px 0}.checklist li{margin-block:12px;font-size:14px}.checklist li:before{content:'✓';color:#3b6a55;margin-right:12px}.faq{max-width:850px}.faq details{padding:22px 0;border-bottom:1px solid var(--border)}summary{font-weight:bold;cursor:pointer}.faq details p{margin:18px 0 0}.site-footer{background:var(--plum);padding:55px 0 28px;color:#d3c7d8}.site-footer .brand{color:white}.site-footer p{color:#c5b8cc;margin-top:20px}.footer-grid{display:flex;justify-content:space-between;gap:40px;margin-bottom:40px}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;align-content:start}.site-footer nav a{color:#ded3e3;text-decoration:none;font-size:14px}.download{text-align:center;max-width:850px}.download .lead{margin-inline:auto;max-width:620px}.download .actions{justify-content:center}.download img{margin-top:30px}.store-badge{background:var(--plum);color:white;border-radius:50px;padding:14px 22px;font-size:14px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-main{padding:38px 60px}.auth-form{max-width:470px;margin:65px auto}.auth-form h1{font-size:42px}.auth-aside{background:var(--plum);padding:70px;display:flex;flex-direction:column;justify-content:center;color:var(--cream)}.auth-aside .eyebrow{color:#d2b4bd}.auth-aside blockquote{font-size:clamp(35px,4.2vw,66px);margin:30px 0 45px}.auth-aside em{color:#e1b8c5}.auth-aside p{color:#cbbfd2}.auth-switch{text-align:center;margin-top:25px;font-size:14px}label{display:block;font-size:14px;font-weight:600;margin:19px 0 7px}input:not([type=checkbox]){background:white;border:1px solid var(--border);border-radius:12px;padding:12px 15px;width:100%;min-height:49px;color:var(--plum)}form .button{margin-top:23px}.form-inline{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:13px;font-size:13px}.checkbox{display:flex;align-items:center;gap:8px;font-weight:normal;margin:0}input[type=checkbox]{accent-color:var(--wine);width:18px;height:18px}.notice{border-radius:12px;background:var(--mint);border:1px solid #bdd7ca;color:#244f3e;padding:17px 22px;margin-bottom:25px;font-size:14px;overflow-wrap:anywhere}.notice.error{background:#f8e6e6;border-color:#e9b4b4;color:#802c3f}.notice ul{margin-bottom:0;padding-left:20px}.development-note{font-size:12px;background:#eee6db;padding:12px 15px;border-radius:10px}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{padding:30px 22px;background:white;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:35px}.sidebar .brand{font-size:23px;gap:5px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar nav a{display:block;text-decoration:none;color:var(--muted);padding:12px 18px;border-radius:12px}.sidebar nav a[aria-current]{background:var(--pink);color:var(--wine);font-weight:bold}.sidebar-user{margin-top:auto;overflow-wrap:anywhere}.sidebar-user small{display:block}.text-button{border:0;background:none;color:var(--wine);padding:10px 0;font-size:14px}.workspace-main{padding:45px clamp(24px,4vw,65px);max-width:1500px;width:100%}.workspace-main h1{font-size:48px}.page-heading{margin-bottom:32px}.page-heading .eyebrow{margin-bottom:12px}.banner{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:26px}.banner p{margin-bottom:0}.banner .button{white-space:nowrap}.workspace-main h2{font-size:34px}.workspace-main h2 small{font:15px Arial,sans-serif}.badge{display:inline-block;border-radius:30px;background:var(--mint);color:#315f4c;padding:5px 13px;font-size:12px;font-weight:bold;margin-bottom:16px}.empty-state{text-align:center;padding:60px 30px}.gateway{padding:24px;background:var(--cream);border-radius:14px;margin-top:15px}.gateway p{margin-top:12px;font-size:14px}.account-note{margin-top:25px}.break-word{overflow-wrap:anywhere}.skip{position:absolute;left:16px;top:-70px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:30px}.auth-main{padding:30px}.auth-aside{padding:40px}.workspace{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding:25px 15px}.sidebar .brand{font-size:20px}.workspace-main{padding:35px 25px}.banner{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.site-header{flex-wrap:wrap;padding-block:18px;gap:18px}.site-header nav{width:100%;justify-content:space-between;gap:12px}.site-header nav a{font-size:13px}.site-header .small{padding:8px 14px}.brand{font-size:24px}.hero{grid-template-columns:1fr;padding-block:40px 60px;gap:35px}.hero h1{font-size:52px}.hero-image{max-width:440px;width:90%;margin:0 auto}.three{grid-template-columns:1fr 1fr}.two,.plan-card{grid-template-columns:1fr}.section{padding-block:55px}.section-heading{text-align:left;margin-bottom:30px}.section-heading p{margin-left:0}.plan-card{padding:28px;gap:12px}.feature{padding:22px}.footer-grid{flex-direction:column}.auth-layout{grid-template-columns:1fr}.auth-main{padding:24px}.auth-form{margin:45px auto}.auth-aside{padding:40px 24px;min-height:300px}.auth-aside blockquote{font-size:40px;margin-block:15px}.workspace{display:block}.sidebar{padding:18px 24px;border-right:0;border-bottom:1px solid var(--border);gap:18px}.sidebar nav{flex-direction:row;flex-wrap:wrap;gap:6px}.sidebar nav a{padding:8px 12px;font-size:13px}.sidebar-user{display:flex;align-items:center;justify-content:space-between;gap:10px}.workspace-main{padding:30px 24px}.workspace-main h1{font-size:40px}.workspace-main .wrap{width:100%}.banner{padding:25px}.price{font-size:40px}}
@media(max-width:440px){.wrap{width:calc(100% - 40px)}.three{grid-template-columns:1fr}.hero h1{font-size:45px}.actions{gap:16px}.card{padding:24px}.site-footer nav{gap:15px 25px}.auth-form h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Plan comparison is shared by the public plans page and landing page. */
.plan-options { max-width: 960px; margin-inline: auto; align-items: stretch; }
.plan-options > .card { display: flex; flex-direction: column; }
.plan-options .checklist { flex-grow: 1; }
.plan-options .button { align-self: flex-start; margin-top: 8px; }
.premium-plan { border-color: #b9788c; }

.workspace-main > .card + .card { margin-top: 24px; }
.workspace-main .card article + article { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--border); }
.password-field { position: relative; margin-bottom: 16px; }
.password-field input { padding-right: 78px; margin-bottom: 0; }
.password-toggle { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); padding: 8px; border: 0; border-radius: 6px; background: transparent; color: var(--wine); font-size: 13px; font-weight: bold; }
