@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-normal.CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-normal.Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-normal.ukD16Tqj.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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}:root{color-scheme:light;--bg:#faf7f2;--bg-2:#f3ede4;--surface:#fffdfa;--ink:#1e1b17;--ink-2:#4a453e;--muted:#6f6a63;--sage:#4e6e5d;--sage-deep:#3b5747;--sage-soft:#e3ebe5;--sage-tint:#f1f5f2;--gold:#b98e4e;--gold-deep:#7d5a2a;--gold-soft:#f4eadb;--blush:#ecdccf;--line:#e7e0d5;--line-strong:#d5cbbc;--focus:#2f5d8a;--danger:#a63d2f;--font-serif:"Fraunces Variable", "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-sans:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-body:clamp(1rem, .96rem + .2vw, 1.0625rem);--fs-small:.875rem;--fs-xs:.78rem;--fs-h1:clamp(2.1rem, 1.15rem + 3.6vw, 3.9rem);--fs-h2:clamp(1.7rem, 1.2rem + 1.9vw, 2.55rem);--fs-h3:clamp(1.2rem, 1.05rem + .6vw, 1.45rem);--fs-lead:clamp(1.1rem, 1rem + .45vw, 1.3rem);--container:72rem;--container-narrow:46rem;--gutter:clamp(1rem, 4vw, 2.5rem);--section:clamp(4rem, 9vw, 7.5rem);--radius:14px;--radius-lg:24px;--shadow-sm:0 1px 2px #1e1b170f, 0 4px 14px #1e1b170d;--shadow-md:0 2px 6px #1e1b170f, 0 16px 40px #1e1b1714;--ease:cubic-bezier(.22, 1, .36, 1);--header-h:4.5rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);font-feature-settings:"kern", "liga", "calt";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.65}img,video,svg{max-width:100%;display:block}img{height:auto}h1,h2,h3,h4{font-family:var(--font-serif);letter-spacing:-.012em;color:var(--ink);text-wrap:balance;font-variation-settings:"opsz" 96, "SOFT" 40, "WONK" 0;margin:0 0 .6em;font-weight:450;line-height:1.12}h1{font-size:var(--fs-h1);font-variation-settings:"opsz" 144, "SOFT" 40, "WONK" 0}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);font-weight:500}p{margin:0 0 1em}a{color:var(--sage-deep);text-underline-offset:.16em;text-decoration:underline 1px;text-decoration-color:color-mix(in srgb, var(--sage) 45%, transparent);transition:color .2s var(--ease), text-decoration-color .2s var(--ease)}a:hover{color:var(--sage);text-decoration-color:currentColor}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}::selection{background:var(--sage-soft);color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}[hidden]{display:none!important}.icon{flex:none;width:1.2em;height:1.2em}hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.container{width:min(100% - 2 * var(--gutter), var(--container));margin-inline:auto}.container--narrow{width:min(100% - 2 * var(--gutter), var(--container-narrow))}.section{padding-block:var(--section)}.section--tight{padding-block:calc(var(--section) * .6)}.section--tint{background:var(--bg-2)}.section--sage{background:var(--sage-tint)}main>.section--tint:last-child,main>.section--sage:last-child{margin-bottom:calc(-1 * var(--section))}.grid{gap:clamp(1.25rem,3vw,2.5rem);display:grid}.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.grid--3{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}.grid--4{grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr))}.stack>*+*{margin-top:var(--stack,1rem)}.flow>*+*{margin-top:1.25em}.eyebrow{font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);align-items:center;gap:.6rem;margin-bottom:1rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--sage);opacity:.6;width:1.6rem;height:1px}.lead{font-size:var(--fs-lead);color:var(--ink-2);text-wrap:pretty;max-width:40rem;line-height:1.55}.muted{color:var(--muted)}.small{font-size:var(--fs-small)}.serif{font-family:var(--font-serif)}.measure{max-width:62ch}.section-head{max-width:44rem;margin-bottom:clamp(2rem,5vw,3.5rem)}.section-head--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;max-width:none;display:flex}.section-head--row>div{max-width:44rem}.section-head h2{margin-bottom:.5rem}.section-head p{color:var(--ink-2);margin:0}.btn{--btn-bg:var(--sage);--btn-fg:#fff;--btn-border:var(--sage);border:1.5px solid var(--btn-border);background:var(--btn-bg);min-height:3rem;color:var(--btn-fg);letter-spacing:.005em;cursor:pointer;transition:transform .25s var(--ease), background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), box-shadow .25s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.8rem 1.5rem;font-size:.97rem;font-weight:560;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{color:var(--btn-fg);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary:hover{--btn-bg:var(--sage-deep);--btn-border:var(--sage-deep)}.btn--ghost{--btn-bg:transparent;--btn-fg:var(--sage-deep);--btn-border:color-mix(in srgb, var(--sage) 55%, transparent)}.btn--ghost:hover{--btn-bg:var(--sage-tint);--btn-border:var(--sage)}.btn--light{--btn-bg:#fffdfaf5;--btn-fg:var(--ink);--btn-border:#fffdfaf5}.btn--light:hover{--btn-bg:#fff;--btn-border:#fff}.btn--outline-light{--btn-bg:#1814104d;--btn-fg:#fff;--btn-border:#ffffffb8;backdrop-filter:blur(6px)}.btn--outline-light:hover{--btn-bg:#18141073;--btn-border:#fff}.btn--sm{min-height:2.5rem;padding:.5rem 1.1rem;font-size:.9rem}.btn .icon{flex:none;width:1.1em;height:1.1em}.link-arrow{color:var(--sage-deep);align-items:center;gap:.4rem;font-weight:560;text-decoration:none;display:inline-flex}.link-arrow:after{content:"→";transition:transform .25s var(--ease)}.link-arrow:hover:after{transform:translate(4px)}.link-arrow:hover{text-decoration:underline}.chip{background:var(--sage-soft);color:var(--sage-deep);font-size:var(--fs-small);transition:background-color .2s var(--ease), border-color .2s var(--ease);border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-weight:540;text-decoration:none;display:inline-flex}.chip:hover{background:var(--sage-tint);border-color:var(--sage);color:var(--sage-deep)}.chip--neutral{background:var(--bg-2);color:var(--ink-2)}.chip--active{background:var(--sage);color:#fff;border-color:var(--sage)}.chip--active:hover{background:var(--sage-deep);color:#fff}.chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.ph{background:var(--gold-soft);color:var(--gold-deep);border-bottom:1.5px dashed var(--gold);cursor:help;border-radius:3px;padding:0 .25em;font-style:normal;display:inline}.ph:before{content:"✎ ";font-size:.85em}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);padding:clamp(1.4rem,3vw,2rem)}.card--link:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-3px)}.card h3 a{color:inherit;text-decoration:none}.card h3 a:after{content:"";position:absolute;inset:0}.card--link{position:relative}.card--link a:not(.card__title-link){z-index:1;position:relative}.prose{max-width:66ch;color:var(--ink);font-size:clamp(1.04rem,1rem + .25vw,1.15rem);line-height:1.72}.prose>*+*{margin-top:1.2em}.prose h2{margin-top:2.2em;margin-bottom:.5em;font-size:clamp(1.45rem,1.2rem + 1vw,1.9rem)}.prose h3{margin-top:1.8em;margin-bottom:.4em;font-size:clamp(1.2rem,1.1rem + .5vw,1.4rem)}.prose p{margin-bottom:0}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.45em}.prose li::marker{color:var(--sage)}.prose blockquote{border-left:3px solid var(--sage);background:var(--sage-tint);border-radius:0 var(--radius) var(--radius) 0;font-family:var(--font-serif);color:var(--ink-2);margin:1.6em 0;padding:1rem 1.4rem;font-size:1.08em}.prose blockquote p{margin:0}.prose strong{font-weight:620}.prose img{border-radius:var(--radius)}.prose table{border-collapse:collapse;width:100%;font-size:.95em}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.6em .8em}.prose th{color:var(--ink-2);font-weight:620}.prose .callout{border-radius:var(--radius);background:var(--gold-soft);border:1px solid color-mix(in srgb, var(--gold) 35%, transparent);padding:1.1rem 1.3rem}.notice{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:var(--fs-small);grid-template-columns:auto 1fr;align-items:start;gap:.9rem;padding:1.1rem 1.3rem;line-height:1.55;display:grid}.notice strong{color:var(--ink);margin-bottom:.15rem;font-weight:620;display:block}.notice .icon{width:1.25rem;height:1.25rem;color:var(--sage);margin-top:.1rem}.notice--warn{background:var(--gold-soft);border-color:color-mix(in srgb, var(--gold) 40%, transparent)}.notice--warn .icon{color:var(--gold-deep)}.meta{font-size:var(--fs-small);color:var(--muted);flex-wrap:wrap;gap:.35rem 1rem;display:flex}.meta>*{align-items:center;gap:.35rem;display:inline-flex}.meta .icon{opacity:.8;width:1rem;height:1rem}.field{gap:.4rem;display:grid}.field label{font-weight:560;font-size:var(--fs-small);color:var(--ink-2)}.field .hint{font-size:var(--fs-xs);color:var(--muted)}.input,.select,.textarea{border:1.5px solid var(--line-strong);background:var(--surface);width:100%;color:var(--ink);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:12px;padding:.8rem 1rem}.input:focus,.select:focus,.textarea:focus{border-color:var(--sage);box-shadow:0 0 0 4px var(--sage-soft);outline:none}.textarea{resize:vertical;min-height:9rem}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234a453e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.6rem}.check{font-size:var(--fs-small);color:var(--ink-2);align-items:flex-start;gap:.7rem;display:flex}.check input{width:1.15rem;height:1.15rem;accent-color:var(--sage);flex:none;margin-top:.15rem}.search{position:relative}.search .input{border-radius:999px;padding-left:2.8rem}.search .icon{width:1.15rem;height:1.15rem;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.ornament{color:var(--sage);opacity:.55;width:3.5rem;height:auto}.divider{color:var(--line-strong);align-items:center;gap:1rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transition-delay:var(--delay,0s);transform:translateY(14px)}.reveal.is-visible{opacity:1;transform:none}}@media print{.site-header,.site-footer,.hero__control,.no-print{display:none!important}body{background:#fff}}.mcal{--mcal-cell:2.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .75rem .6rem;display:block}.mcal__bar{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.mcal__title{font-family:var(--font-serif);text-transform:capitalize;margin:0;font-size:1.05rem;font-weight:500}.mcal__nav{border:1px solid var(--line-strong);background:var(--surface);width:2.1rem;height:2.1rem;color:var(--ink);cursor:pointer;border-radius:50%;font-size:1.3rem;line-height:1}.mcal__nav:hover:not(:disabled){border-color:var(--sage);color:var(--sage-deep)}.mcal__nav:disabled{opacity:.35;cursor:default}.mcal__grid{border-collapse:collapse;table-layout:fixed;width:100%}.mcal__grid th{font-family:var(--font-sans);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center;padding:.25rem 0 .4rem;font-weight:600}.mcal__day{text-align:center;padding:2px}.mcal__day>span,.mcal__day>button{width:100%;height:var(--mcal-cell);font-variant-numeric:tabular-nums;border-radius:10px;justify-content:center;align-items:center;font-size:.95rem;display:flex;position:relative}.mcal__day>span{color:var(--line-strong)}.mcal__day>button{background:var(--sage-tint);color:var(--ink);cursor:pointer;transition:background-color .15s var(--ease), border-color .15s var(--ease);border:1px solid #0000;font-weight:560}.mcal__day>button:hover:not(:disabled){border-color:var(--sage)}.mcal__day>button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.mcal__day>button:disabled{color:var(--muted);opacity:.55;cursor:not-allowed;background:0 0;font-weight:400}.mcal__day.is-today>button{box-shadow:inset 0 0 0 1px var(--gold)}.mcal__day.is-selected>button{background:var(--sage);border-color:var(--sage);color:#fff}.mcal__day.is-partial>button:not(:disabled):after{content:"";background:var(--gold);border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;bottom:4px;left:50%}.mcal__day.is-selected.is-partial>button:after{background:#fff}.mcal__count{background:var(--sage);color:#fff;border-radius:999px;min-width:1.1rem;height:1.1rem;padding:0 .3rem;font-size:.65rem;font-style:normal;font-weight:700;line-height:1.1rem;position:absolute;top:3px;right:4px}.mcal__day.is-selected .mcal__count{color:var(--sage-deep);background:#fff}@media (width<=420px){.mcal{--mcal-cell:2.2rem;padding:.5rem}}.motif{pointer-events:none;color:var(--sage);opacity:.4;z-index:0;height:auto;position:absolute;overflow:visible}.motif__float{animation:14s ease-in-out infinite alternate motif-float}.motif__rung{opacity:0;animation:.9s ease-out forwards motif-fade-in;animation-delay:calc(.35s + var(--i,0) * .14s)}.motif__strand{stroke-dasharray:900;stroke-dashoffset:900px;animation:2.6s cubic-bezier(.4,0,.2,1) forwards motif-draw}.motif__strand--2{animation-delay:.25s}.motif__cell{animation:motif-breathe var(--t,9s) ease-in-out infinite;animation-delay:var(--d,0s)}.motif__spin{animation:90s linear infinite motif-spin}.motif__atom{animation:6s ease-in-out infinite motif-twinkle;animation-delay:calc(var(--i,0) * -.7s)}.motif__pulse{stroke-dasharray:100 100;stroke-dashoffset:100px;animation:7s cubic-bezier(.45,0,.55,1) infinite motif-pulse}.motif__sway{animation:9s ease-in-out infinite alternate motif-sway}.motif__leaf{animation:7s ease-in-out infinite motif-breathe;animation-delay:var(--d,0s)}.motif__orbit{animation:motif-spin var(--t,20s) linear infinite;animation-direction:var(--dir,normal)}.motif__orbit[style*=--r\:-1]{animation-direction:reverse}@keyframes motif-float{0%{transform:translateY(-6px)}to{transform:translateY(8px)}}@keyframes motif-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes motif-spin{to{transform:rotate(360deg)}}@keyframes motif-sway{0%{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}@keyframes motif-twinkle{0%,to{opacity:1}50%{opacity:.45}}@keyframes motif-draw{to{stroke-dashoffset:0}}@keyframes motif-fade-in{to{opacity:1}}@keyframes motif-pulse{0%{stroke-dashoffset:100px}45%{stroke-dashoffset:0}62%{stroke-dashoffset:0}to{stroke-dashoffset:-100px}}[data-onview] .motif__strand,[data-onview] .motif__rung,[data-onview] .motif__pulse{animation-play-state:paused}[data-onview].is-visible .motif__strand,[data-onview].is-visible .motif__rung,[data-onview].is-visible .motif__pulse{animation-play-state:running}@media (prefers-reduced-motion:reduce){.motif *{animation:none!important}.motif__rung,.motif__strand,.motif__pulse{opacity:1;stroke-dashoffset:0}}@media (width<=899px){.motif--hide-sm{display:none}}
