@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}img,svg{max-width:100%;display:block}a{color:inherit}[hidden]{display:none!important}}@layer base{:root{--paper:#fcfcf9;--ink:#244737;--muted:#617064;--blue:#3657bc;--yellow:#f8ed9a;--lavender:#eeeaf7;--line:#dce2d8;--font:"DM Sans Variable", sans-serif;--display:"Bricolage Grotesque Variable", sans-serif}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}h1,h2,h3{font-family:var(--display);letter-spacing:-.04em;text-wrap:balance;font-weight:600;line-height:1.08}h1{font-size:clamp(3rem,6.4vw,5.75rem)}h2{font-size:clamp(2rem,3.6vw,3.2rem)}h3{letter-spacing:-.025em;font-size:1.65rem;line-height:1.17}a{text-underline-offset:.22em;text-decoration-thickness:1px}button{color:inherit}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}::selection{background:var(--yellow);color:var(--ink)}.wrap{width:min(1280px,100% - 112px);margin-inline:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}}@layer components{.skip-link{background:var(--yellow);z-index:100;padding:12px 20px;position:absolute;top:-80px;left:16px}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;height:112px;display:flex}.wordmark{font:800 34px/.85 var(--display);letter-spacing:-1.7px;flex-shrink:0;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.wordmark svg{width:25px;height:25px;color:var(--blue);align-self:flex-start;margin:0 0 0 3px}.site-header nav{align-items:center;gap:34px;margin-left:0;display:flex}.site-header nav a{padding:12px 0;font-size:15px;text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current]{text-decoration:underline}.search-toggle{border:1px solid var(--line);background:0 0;border-radius:99px;align-items:center;gap:10px;padding:13px 18px;font-size:13px;display:flex}.search-toggle:hover{border-color:var(--ink)}.hero{grid-template-columns:.95fr 1.05fr;align-items:center;gap:40px;padding-top:70px;padding-bottom:76px;display:grid}.hello{color:var(--muted);align-items:center;gap:9px;margin-bottom:26px;font-size:14px;display:flex}.little-dot{background:var(--blue);border-radius:50%;width:8px;height:8px}.hero h1{letter-spacing:-.055em;max-width:650px;font-size:clamp(3.6rem,6.35vw,6rem);line-height:1.01}.hero-description{max-width:350px;color:var(--muted);margin-top:25px;font-size:17px;line-height:1.7}.button{background:var(--ink);color:#fff;border:1px solid #0000;border-radius:99px;justify-content:center;align-items:center;gap:26px;padding:15px 23px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.button:hover{background:#173c2b;transform:translateY(-2px)}.button span{font-size:22px;line-height:1}.hero .button{margin-top:30px}.hero-footnote{color:var(--muted);margin-top:19px;font-size:11px}.hero-art{min-width:0;padding:18px 0 38px;position:relative}.art-frame{background:var(--lavender);border-radius:45% 45% 9% 9%/35% 35% 10% 10%;overflow:hidden;transform:rotate(2deg)}.art-frame img{object-fit:cover;object-position:50% 60%;width:100%;height:490px;transform:scale(1.015)}.art-sticker{background:var(--yellow);text-align:center;width:127px;height:127px;font:550 18px/1.15 var(--display);border-radius:50%;place-content:center;display:grid;position:absolute;bottom:83px;left:-24px;transform:rotate(-13deg);box-shadow:0 2px #24473712}.hero-flower{width:80px;height:80px;color:var(--blue);position:absolute;top:-4px;right:-15px;transform:rotate(12deg)}.art-caption{font-family:var(--display);font-size:13px;position:absolute;bottom:0;right:30px;transform:rotate(-3deg)}.browse-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-block:27px;display:flex}.browse-strip>span{font:500 19px var(--display);letter-spacing:-.03em}.browse-strip>div{gap:12px;display:flex}.browse-strip a{border:1px solid var(--line);white-space:nowrap;border-radius:99px;padding:11px 20px;font-size:13px;text-decoration:none}.browse-strip a:first-child{background:#eaf0e6;border-color:#eaf0e6}.browse-strip a:hover{border-color:var(--ink)}.browse-strip a span{margin-right:6px}.journal-section{padding-block:90px 100px}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:38px;display:flex}.section-note{color:var(--blue);margin-bottom:13px;font-size:14px}.mobile-break{display:none}.text-link{text-underline-offset:5px;background:0 0;border:0;align-items:center;gap:17px;padding:0;font-size:14px;font-weight:500;text-decoration:underline;display:inline-flex}.text-link span{font-size:20px}.text-link:hover{color:var(--blue)}.article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.article-image{background:var(--lavender);border-radius:15px;margin-bottom:21px;display:block;overflow:hidden}.article-image img{aspect-ratio:1.45;object-fit:cover;width:100%;height:auto;transition:transform .25s}.article-card:hover .article-image img{transform:scale(1.025)}.article-meta{color:var(--muted);justify-content:space-between;gap:8px;margin-bottom:12px;font-size:11px;display:flex}.article-meta span:first-child{color:var(--blue)}.article-card :is(h2,h3){letter-spacing:-.025em;font-size:1.65rem;line-height:1.17}.article-card :is(h2,h3) a{text-decoration:none}.article-card :is(h2,h3) a:hover{text-decoration:underline}.article-card>p{color:var(--muted);max-width:36ch;margin-top:12px;font-size:14px;line-height:1.65}.tool-feature{background:#ecf0fa;border-radius:28px;grid-template-columns:1fr 1.1fr;display:grid;overflow:hidden}.tool-art{min-height:475px}.tool-art img{object-fit:cover;width:100%;height:100%}.tool-copy{align-self:center;padding:45px 60px}.handwritten-note{font:500 15px var(--display);color:var(--blue);margin-bottom:19px;display:inline-block;transform:rotate(-3deg)}.tool-copy h2{font-size:clamp(2.2rem,3.7vw,3.5rem)}.tool-copy p{color:#526556;max-width:38ch;margin:22px 0 28px;font-size:15px}.button-blue{background:var(--blue)}.button-blue:hover{background:#2545a5}.tool-footnote{color:var(--muted);margin-top:15px;font-size:11px;display:block}.about-note{text-align:center;padding:95px 0 100px}.about-note svg{width:43px;height:43px;color:var(--blue);margin:0 auto 24px}.about-note h2{font-size:clamp(2rem,3.1vw,2.8rem)}.about-note p{max-width:53ch;color:var(--muted);margin:22px auto 24px;font-size:15px}.site-footer{background:#eef2e9;padding-top:51px}.footer-inner{justify-content:space-between;gap:30px;padding-bottom:42px;display:flex}.site-footer .wordmark{font-size:34px}.site-footer .wordmark svg{width:22px}.footer-inner p{color:var(--muted);margin-top:18px;font-size:13px}.footer-links{grid-template-columns:repeat(2,1fr);align-content:center;gap:13px 48px;display:grid}.footer-links a{font-size:13px;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-bottom{color:var(--muted);border-top:1px solid #d5decf;justify-content:space-between;gap:20px;padding-block:23px;font-size:11px;display:flex}.page-intro{padding-top:65px;padding-bottom:48px}.page-intro h1{font-size:clamp(3rem,5.8vw,5rem)}.page-intro>p:last-child{color:var(--muted);max-width:52ch;margin-top:22px;font-size:17px}.journal-list{padding-bottom:100px}.journal-controls{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-bottom:35px;padding-bottom:24px;display:flex}.filter-group{gap:8px;display:flex}.filter-group button{border:1px solid var(--line);background:0 0;border-radius:99px;padding:10px 23px;font-size:14px}.filter-group button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.journal-search input{border:1px solid var(--line);width:270px;color:var(--ink);background:0 0;border-radius:99px;padding:12px 20px;font-size:14px}.empty-state{text-align:center;padding:55px 0}.empty-state p{margin:15px 0 24px}.search-dialog{background:var(--paper);width:min(580px,100% - 32px);max-height:80vh;color:var(--ink);border:0;border-radius:22px;padding:30px;box-shadow:0 20px 100px #0003}.search-dialog::backdrop{backdrop-filter:blur(4px);background:#16291f59}.search-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.search-heading h2{font-size:30px}.icon-button{background:#eaf0e6;border:0;border-radius:50%;flex-shrink:0;width:40px;height:40px;font-size:26px}.search-dialog input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:14px}.search-status{color:var(--muted);margin-top:18px;font-size:13px}.search-results{margin:16px 0 0;padding:0;list-style:none}.search-results a{border-top:1px solid var(--line);padding:13px 0;text-decoration:none;display:block}.search-results a:hover{color:var(--blue)}.article-page{max-width:1000px;padding-block:40px 80px}.back-link{color:var(--muted);margin-bottom:35px;font-size:13px;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.article-header{text-align:center;max-width:780px;margin:0 auto 38px}.article-header h1{font-size:clamp(2.6rem,5vw,4.5rem)}.article-deck{color:var(--muted);max-width:57ch;margin:22px auto;font-size:18px}.article-byline{justify-content:center;gap:24px;font-size:13px;display:flex}.article-cover{object-fit:cover;border-radius:22px;width:100%;height:auto}.prose{max-width:660px;margin:52px auto 0;font-size:17px;line-height:1.85}.prose h2{margin:40px 0 15px;font-size:29px;line-height:1.25}.prose h3{margin:28px 0 12px;font-size:22px}.prose p{margin-bottom:21px}.prose ul,.prose ol{margin-bottom:22px;padding-left:24px}.prose li{margin-block:8px}.prose a{color:var(--blue)}.prose table{border-collapse:collapse;width:100%;margin:24px 0;font-size:14px}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:10px}.article-end{background:#edf0fa;border-radius:16px;max-width:660px;margin:45px auto 0;padding:28px}.article-end p{font:550 25px var(--display);margin-bottom:10px}.about-intro{text-align:center}.about-intro>svg{width:55px;height:55px;color:var(--blue);margin:0 auto 24px}.about-intro>p:last-child{margin-inline:auto}.about-prose{margin-top:0;margin-bottom:90px;padding-inline:0}.tool-directory{margin-bottom:100px}.not-found{padding-bottom:100px}.not-found .button{margin-top:28px}.budget-intro{padding-block:35px 45px}.budget-intro h1{font-size:clamp(3rem,5vw,4.8rem)}.budget-intro p{color:var(--muted);margin-top:20px}.budget-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);align-items:start;gap:50px;display:grid}.budget-form-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.budget-form-heading h2{font-size:27px}.budget-form-heading span{color:var(--muted);font-size:11px}.budget-form>.muted{margin-top:12px;margin-bottom:25px;font-size:13px}.expense-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(110px,1.2fr) minmax(90px,.8fr) 132px;align-items:center;gap:14px;padding-block:17px;display:grid}.expense-name{font-size:14px}.amount-field{position:relative}.amount-field>span{color:var(--muted);position:absolute;top:11px;left:12px}.amount-field input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:9px;padding:11px 6px 11px 25px;font-size:14px}.expense-row select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;width:100%;padding:11px 8px;font-size:13px}.custom-label{border:0;border-bottom:1px dashed var(--muted);width:100%;min-width:0;color:var(--ink);background:0 0;padding:9px 3px;font-size:14px}.budget-actions{justify-content:space-between;gap:20px;margin-top:25px;display:flex}.reset-button{color:var(--muted);background:0 0;border:0;font-size:13px;text-decoration:underline}.error-text{color:#9d2929;min-height:24px;margin-top:16px;font-size:13px}input[aria-invalid=true]{border:2px solid #9d2929}.budget-result{background:var(--yellow);border-radius:24px;padding:32px;position:sticky;top:24px}.budget-result>p:first-child{font:550 23px var(--display);margin-bottom:35px}.total-label{font-size:13px;display:block}#monthly-total{font:600 clamp(2.6rem, 4.5vw, 4.5rem)/1.2 var(--display);letter-spacing:-.05em;overflow-wrap:anywhere;margin:9px 0 31px;display:block}.result-line{border-bottom:1px solid #d7ce8c;justify-content:space-between;gap:16px;padding-block:12px;font-size:13px;display:flex}.result-line b{text-align:right;overflow-wrap:anywhere;font-weight:500}.first-year{border:0;padding-top:20px;font-weight:600}.first-year b{font-weight:600}.result-note{margin-top:27px;font-size:12px;line-height:1.7}.privacy-note{color:#526146;border-top:1px solid #d7ce8c;margin-top:22px;padding-top:22px;font-size:11px;line-height:1.7;display:block}.calculator-notes{max-width:780px;padding-block:65px 90px}.calculator-notes h2{margin-bottom:20px;font-size:29px}.calculator-notes p{color:var(--muted);margin-bottom:15px;font-size:14px}}@layer responsive{@media (width>=1500px){.hero{padding-block:85px}.art-frame img{height:530px}}@media (width<=1100px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:22px;margin-left:0}.search-toggle span{display:none}.hero{gap:25px}.art-frame img{height:425px}.hero h1{font-size:6.6vw}.art-sticker{width:110px;height:110px;font-size:17px;left:-8px}.browse-strip{flex-direction:column;align-items:flex-start;gap:16px}.tool-copy{padding:35px}.tool-art{min-height:420px}.article-grid{gap:22px}.budget-layout{gap:28px}.expense-row{grid-template-columns:minmax(100px,1fr) 100px 115px;gap:8px}.budget-result{padding:25px}.budget-form-heading{flex-direction:column;gap:6px}}@media (width<=760px){.wrap{width:calc(100% - 40px)}.site-header{flex-wrap:wrap;gap:12px 10px;height:auto;min-height:96px;padding-block:16px}.wordmark{letter-spacing:-1.4px;font-size:28px}.wordmark svg{width:20px;height:20px}.site-header nav{flex-basis:100%;order:3;justify-content:space-between;gap:18px}.site-header nav a{font-size:12px}.search-toggle{border:0;margin-left:auto;padding:9px}.hero{grid-template-columns:1fr;gap:28px;padding-block:36px 40px}.hello{margin-bottom:20px;font-size:12px}.hero h1{font-size:clamp(3.3rem,13vw,5.75rem)}.hero-description{max-width:37ch;margin-top:23px;font-size:16px}.hero .button{margin-top:23px}.hero-footnote{margin-top:15px;font-size:10px}.hero-art{width:100%;max-width:580px;margin:0 auto;padding:15px 4px 36px}.art-frame{border-radius:42% 42% 8% 8%/40% 40% 9% 9%}.art-frame img{aspect-ratio:1.2;object-position:center;height:auto}.hero-flower{width:62px;top:0;right:-4px}.art-sticker{width:104px;height:104px;font-size:16px;bottom:57px;left:1px}.art-caption{font-size:11px;right:20px}.browse-strip{align-items:center;padding-block:24px}.browse-strip>span{font-size:18px}.browse-strip>div{flex-wrap:wrap;justify-content:center;gap:9px}.browse-strip a{padding:9px 14px;font-size:12px}.browse-strip a:first-child{display:none}.journal-section{padding-block:52px 55px}.section-heading{align-items:flex-start;margin-bottom:28px}.section-heading .text-link{white-space:nowrap;gap:8px;margin-top:29px;font-size:12px}.section-note{font-size:12px}.mobile-break{display:block}.article-grid{grid-template-columns:1fr;gap:35px}.article-image{margin-bottom:15px}.article-image img{aspect-ratio:1.55}.article-card :is(h2,h3){max-width:24ch;font-size:28px}.article-card>p{max-width:47ch}.article-meta{font-size:11px}.tool-feature{border-radius:20px;grid-template-columns:1fr}.tool-art{height:auto;min-height:0}.tool-art img{aspect-ratio:1.65;object-fit:cover;height:auto}.tool-copy{padding:31px 26px 36px}.tool-copy h2{font-size:39px}.tool-copy p{font-size:14px}.tool-footnote{font-size:10px}.about-note{padding-block:60px}.about-note h2{font-size:31px}.about-note p{font-size:14px}.site-footer{padding-top:33px}.footer-inner{flex-direction:column;padding-bottom:28px}.footer-links{grid-template-columns:repeat(2,1fr);gap:11px}.footer-bottom{flex-wrap:wrap;gap:10px 30px;padding-block:18px}.footer-bottom>span:nth-child(2){display:none}.footer-bottom a{margin-left:auto}.page-intro{padding-top:42px;padding-bottom:34px}.page-intro>p:last-child{font-size:15px}.journal-controls{flex-direction:column;align-items:stretch;gap:17px}.journal-search input{width:100%}.filter-group button{flex:1}.journal-list{padding-bottom:60px}.article-page{padding-top:24px}.back-link{margin-bottom:25px}.article-header{text-align:left}.article-header h1{font-size:43px}.article-deck{font-size:16px}.article-byline{justify-content:flex-start}.article-cover{border-radius:15px}.prose{margin-top:30px;font-size:16px}.prose h2{font-size:27px}.prose table{font-size:12px}.prose th,.prose td{padding:7px}.article-end{padding:22px}.about-prose{width:calc(100% - 40px);margin-bottom:60px}.tool-directory{margin-bottom:60px}.budget-intro{padding-top:24px;padding-bottom:33px}.budget-intro h1{font-size:46px}.budget-layout{grid-template-columns:1fr}.budget-result{padding:28px;position:static}#monthly-total{font-size:64px}.budget-form-heading{flex-flow:wrap;align-items:baseline}.budget-form-heading h2{font-size:25px}.expense-row{grid-template-columns:minmax(100px,1fr) 92px 108px;gap:8px}.expense-name{font-size:12px}.calculator-notes{padding-block:45px 60px}.calculator-notes h2{font-size:27px}.search-dialog{padding:22px}.search-heading h2{font-size:26px}}@media (width<=370px){.wrap{width:calc(100% - 30px)}.site-header nav{gap:10px}.site-header nav a{font-size:11px}.expense-row{grid-template-columns:minmax(80px,1fr) 80px 100px;gap:5px}.expense-row select{font-size:11px}.section-heading{flex-direction:column;gap:8px}.section-heading .text-link{margin-top:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{.site-header,.site-footer,.budget-actions,.search-dialog,.back-link,.skip-link{display:none!important}.wrap{width:100%}.budget-layout{display:block}.budget-result{margin-top:25px;position:static}}}
