@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e8c7e585bb5e69ba-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/d02d66744511ad29-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/26dc4a78f0c7af7f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_d8265e{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_d8265e{--font-fraunces:"Fraunces","Fraunces Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_d8ebd1{font-family:Inter,Inter Fallback;font-style:normal}.__variable_d8ebd1{--font-inter:"Inter","Inter Fallback"}:root{--ivory:#faf6f0;--cream:#f2ecdf;--paper:#fffdf9;--charcoal:#29261f;--ink:#453f33;--faint:#8c8272;--line:#e8dfcf;--gold:#b08d57;--gold-deep:#96723d;--gold-wash:rgba(176,141,87,0.12);--green:#5f6f52;--green-wash:rgba(95,111,82,0.12);--burgundy:#7d3c45;--burgundy-wash:rgba(125,60,69,0.1);--shadow-sm:0 1px 2px rgba(41,38,31,0.05),0 2px 8px rgba(41,38,31,0.04);--shadow-md:0 2px 4px rgba(41,38,31,0.05),0 10px 28px rgba(41,38,31,0.08);--radius:18px;--radius-sm:12px;--font-display:var(--font-fraunces),"Georgia",serif;--font-body:var(--font-inter),-apple-system,"Helvetica Neue",sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ivory);color:var(--charcoal);font-family:var(--font-body);font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:560;line-height:1.2;letter-spacing:-.01em}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:15px}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(250,246,240,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1080px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;gap:28px}.wordmark{font-family:var(--font-display);font-weight:640;font-size:21px;letter-spacing:.02em;display:flex;align-items:baseline;gap:2px}.wordmark .dot{color:var(--gold)}.topnav{display:flex;gap:4px;flex:1 1}.topnav a{padding:7px 14px;border-radius:99px;font-size:14px;font-weight:500;color:var(--ink);transition:background .18s ease,color .18s ease}.topnav a:hover{background:var(--gold-wash)}.topnav a.active{background:var(--charcoal);color:var(--ivory)}.main{flex:1 1;width:100%;max-width:1080px;margin:0 auto;padding:36px 24px 120px;animation:fadeUp .35s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.bottomnav{display:none}.fab{display:inline-flex;align-items:center;gap:8px}@media (max-width:760px){.topnav{display:none}.topbar-inner{height:58px;justify-content:space-between}.main{padding:24px 18px 130px}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:rgba(255,253,249,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));justify-content:space-around}.bottomnav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:500;color:var(--faint);padding:4px 10px;border-radius:12px}.bottomnav a.active{color:var(--charcoal)}.bottomnav .nav-ico{display:flex;line-height:1}}.page-title{font-size:34px;margin-bottom:6px}.page-sub{color:var(--faint);font-size:16px;margin-bottom:30px}.section-title{font-size:20px;margin:34px 0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--gold-deep)}.muted{color:var(--faint)}.small{font-size:13.5px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow-sm);transition:box-shadow .22s ease,transform .22s ease}.card.hoverable:hover,a.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.stack{flex-direction:column;gap:14px}.row,.stack{display:flex}.row{align-items:center;gap:12px}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.spacer{flex:1 1}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:99px;font-size:12.5px;font-weight:600;white-space:nowrap}.badge.attention{background:var(--burgundy-wash);color:var(--burgundy)}.badge.progress{background:var(--gold-wash);color:var(--gold-deep)}.badge.good{background:var(--green-wash);color:var(--green)}.badge.done{background:var(--cream);color:var(--faint)}.chip{padding:4px 13px;background:var(--cream);color:var(--ink);font-size:13px;font-weight:500}.btn,.chip{display:inline-flex;align-items:center;border-radius:99px}.btn{justify-content:center;gap:8px;padding:10px 20px;border:1px solid transparent;font-size:14.5px;font-weight:550;transition:all .18s ease;white-space:nowrap}.btn-primary{background:var(--charcoal);color:var(--ivory)}.btn-primary:hover{background:#3d392f}.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:var(--gold-deep)}.btn-outline{background:transparent;border-color:#d8cdb9;color:var(--charcoal)}.btn-outline:hover{background:var(--gold-wash);border-color:var(--gold)}.btn-ghost{background:transparent;color:var(--faint);padding:8px 12px}.btn-ghost:hover{color:var(--burgundy)}.btn-sm{padding:7px 15px;font-size:13.5px}.btn:disabled{opacity:.55;cursor:default}.form-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-sm)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.field label{font-size:13px;font-weight:600;color:var(--ink);letter-spacing:.01em}.field .hint{font-size:12.5px;color:var(--faint)}.field input,.field select,.field textarea{border:1px solid #ddd3c1;border-radius:var(--radius-sm);padding:11px 14px;background:#fff;color:var(--charcoal);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-wash)}.field textarea{resize:vertical;min-height:90px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 16px;gap:0 16px}@media (max-width:560px){.form-row{grid-template-columns:1fr}}.form-section-title{font-family:var(--font-display);font-size:17px;margin:26px 0 14px;padding-top:20px;border-top:1px solid var(--line)}.form-error{background:var(--burgundy-wash);color:var(--burgundy)}.form-error,.form-success{border-radius:var(--radius-sm);padding:11px 15px;font-size:14px;margin-bottom:16px}.form-success{background:var(--green-wash);color:var(--green)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(1200px 500px at 85% -10%,var(--gold-wash),transparent 60%),radial-gradient(900px 480px at -10% 110%,var(--green-wash),transparent 55%),var(--ivory)}.auth-card{width:100%;max-width:420px;animation:fadeUp .4s ease both}.auth-split{display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-gap:56px;gap:56px;align-items:center;max-width:940px;width:100%}.auth-hero{animation:fadeUp .4s ease both}.auth-hero h1{font-size:38px;margin:18px 0 12px;max-width:420px}.auth-lede{color:var(--ink);font-size:16px;max-width:440px;margin-bottom:26px}.auth-promises{display:flex;flex-direction:column;gap:16px}.auth-promise{display:flex;gap:12px;align-items:flex-start;max-width:440px}.auth-promise .tick{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--gold-wash);color:var(--gold-deep);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;margin-top:2px}.auth-promise b{font-size:15px}.auth-promise p{color:var(--faint);font-size:13.5px;margin-top:1px}@media (max-width:860px){.auth-split{grid-template-columns:1fr;gap:34px;max-width:440px}.auth-hero h1{font-size:30px}}.auth-brand{text-align:center;margin-bottom:26px}.auth-brand .wordmark{justify-content:center;font-size:30px}.auth-brand .tagline{color:var(--faint);font-size:14.5px;margin-top:6px}.demo-note{margin-top:18px;text-align:center;font-size:13.5px;color:var(--faint);background:var(--cream);border-radius:var(--radius-sm);padding:12px 16px;line-height:1.55}.hero-greeting{font-size:36px;margin-bottom:4px}.occasion-emoji{width:52px;height:52px;border-radius:16px;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}.reminder-strip{background:linear-gradient(120deg,rgba(176,141,87,.14),rgba(176,141,87,.05));border:1px solid rgba(176,141,87,.35);border-radius:var(--radius);padding:14px 18px;display:flex;gap:12px;align-items:flex-start;font-size:14.5px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin:26px 0 8px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px}.stat .n{font-family:var(--font-display);font-size:26px;font-weight:600}.stat .l{font-size:13px;color:var(--faint)}.avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--cream),#fff);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}.avatar.lg{width:84px;height:84px;font-size:40px}.idea-card{display:flex;flex-direction:column;gap:10px}.idea-head{display:flex;align-items:flex-start;gap:12px}.idea-emoji{font-size:30px;line-height:1.2}.idea-price{font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--gold-deep)}.why{background:var(--cream);border-radius:var(--radius-sm);padding:11px 14px;font-size:13.5px;color:var(--ink)}.why b{color:var(--gold-deep);font-weight:650}.stepper{display:flex;flex-wrap:wrap;gap:8px}.step{padding:7px 14px;border-radius:99px;border:1px solid var(--line);background:var(--paper);font-size:13px;font-weight:550;color:var(--faint);transition:all .15s ease}.step.done{background:var(--green-wash);border-color:transparent;color:var(--green)}.step.current{background:var(--charcoal);border-color:var(--charcoal);color:var(--ivory)}.step:hover:not(.current){border-color:var(--gold)}.month-label{font-family:var(--font-display);font-size:18px;color:var(--gold-deep);margin:28px 0 12px}.timeline-date{min-width:64px;text-align:center;background:var(--cream);border-radius:var(--radius-sm);padding:8px 6px;flex-shrink:0}.timeline-date .d{font-family:var(--font-display);font-size:21px;font-weight:620;line-height:1.1}.timeline-date .m{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.cal-dow{text-align:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:6px 0}.cal-cell{min-height:74px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:6px 8px;font-size:13px}.cal-cell.empty{background:transparent;border-color:transparent}.cal-cell.today{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-wash)}.cal-event{margin-top:4px;font-size:11.5px;background:var(--gold-wash);color:var(--gold-deep);border-radius:6px;padding:2px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}@media (max-width:640px){.cal-cell{min-height:54px;padding:4px 5px}.cal-event{font-size:10px;padding:2px 4px}}.empty{text-align:center;padding:56px 24px;border:1.5px dashed #ddd3c1;border-radius:var(--radius);color:var(--faint)}.empty .big{font-size:40px;margin-bottom:10px}.empty h3{color:var(--charcoal);font-size:19px;margin-bottom:6px}.divider{border:none;border-top:1px solid var(--line);margin:22px 0}.gift-row{display:flex;align-items:baseline;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.gift-row:last-child{border-bottom:none}.price-tag{font-weight:620;color:var(--gold-deep);white-space:nowrap}