@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+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 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+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-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+0000-00FF,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 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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+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 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+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-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+0000-00FF,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}:root{--paper: #FAF9F6;--card: #FFFFFF;--ink: #1A1A1A;--muted: #6B6B63;--line: #E5E2DB;--accent: #6E5A4A;--accent-ink: #FFFFFF;--shadow: 0 1px 2px rgba(20,19,15,.04), 0 10px 30px rgba(20,19,15,.06);--shadow-lift: 0 2px 6px rgba(20,19,15,.06), 0 18px 48px rgba(20,19,15,.1);--font-display: "Fraunces Variable", Georgia, "Times New Roman", serif;--font-body: "Inter Variable", system-ui, -apple-system, sans-serif;--maxw: 1120px;--prose: 66ch;--gap: clamp(1rem, 2vw, 1.75rem);--pad-block: clamp(3rem, 7vw, 6rem);--radius: 4px;--transition: .22s cubic-bezier(.22,.61,.36,1)}[data-theme=dark]{--paper: #141310;--card: #1C1A15;--ink: #ECE9E2;--muted: #9A968B;--line: #2B2822;--accent: #C8AC90;--accent-ink: #141310;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 10px 30px rgba(0,0,0,.35);--shadow-lift: 0 2px 6px rgba(0,0,0,.35), 0 18px 48px rgba(0,0,0,.45)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background var(--transition),color var(--transition)}img,picture,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.12;letter-spacing:-.01em;font-optical-sizing:auto}h1{font-size:clamp(2.4rem,5.5vw,3.75rem)}h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}h3{font-size:clamp(1.25rem,2vw,1.5rem)}.eyebrow{font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.lede{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--muted);line-height:1.6}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.section{padding-block:var(--pad-block)}.prose{max-width:var(--prose)}.prose p+p{margin-top:1.1em}.prose p{color:var(--ink)}.stack>*+*{margin-top:1rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:clamp(1.5rem,3vw,2.5rem);border-bottom:1px solid var(--line);padding-bottom:1rem}.section-head .more{font-size:.9rem;color:var(--muted);border-bottom:1px solid transparent;transition:color var(--transition),border-color var(--transition)}.section-head .more:hover{color:var(--ink);border-color:var(--accent)}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(1.1) blur(8px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:64px}.brand{font-family:var(--font-display);font-size:1.6rem;letter-spacing:-.01em;white-space:nowrap}.brand span{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2rem)}.nav-links a{font-size:.95rem;color:var(--muted);transition:color var(--transition);position:relative}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--ink)}.nav-links a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--accent)}.nav-actions{display:flex;align-items:center;gap:.5rem}.nav-toggle{display:none;place-items:center;width:40px;height:40px;border-radius:var(--radius);border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;transition:border-color var(--transition)}.nav-toggle:hover{border-color:var(--accent)}.nav-toggle-bars{display:grid;gap:4px;width:18px}.nav-toggle-bars span{display:block;height:2px;width:100%;background:currentColor;border-radius:2px;transition:transform var(--transition),opacity var(--transition)}@media(max-width:720px){.nav-toggle{display:inline-grid}.nav-links{position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:.5rem clamp(1.25rem,4vw,2.5rem) 1rem;transform:translateY(-8px);opacity:0;pointer-events:none;transition:transform var(--transition),opacity var(--transition)}.nav-links a{font-size:1.05rem;padding:.85rem .25rem;border-bottom:1px solid var(--line)}.nav-links a:last-child{border-bottom:none}.nav-links a[aria-current=page]:after{display:none}body.nav-open .nav-links{transform:translateY(0);opacity:1;pointer-events:auto}body.nav-open .nav-toggle-bars span:nth-child(1){transform:translateY(6px) rotate(45deg)}body.nav-open .nav-toggle-bars span:nth-child(2){opacity:0}body.nav-open .nav-toggle-bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}}.btn{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;padding:.7rem 1.25rem;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);transition:transform var(--transition),box-shadow var(--transition),background var(--transition)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--accent)}.theme-toggle{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;transition:border-color var(--transition),background var(--transition)}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle .moon,[data-theme=dark] .theme-toggle .sun{display:none}[data-theme=dark] .theme-toggle .moon{display:block}.hero{padding-block:clamp(3rem,8vw,6.5rem)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center}.hero h1{margin-bottom:1.25rem}.hero .cta-row{display:flex;gap:.75rem;margin-top:1.75rem;flex-wrap:wrap}.hero-art{display:grid;place-items:center}.book-cover{width:min(300px,78%);height:auto;max-height:min(74vh,520px);aspect-ratio:1838 / 2776;border-radius:3px;box-shadow:var(--shadow-lift);object-fit:cover;transition:transform var(--transition)}.book-cover:hover{transform:translateY(-3px)}@media(max-width:780px){.hero-grid{grid-template-columns:1fr}.hero-art{order:-1}}.grid-books{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:clamp(1.25rem,3vw,2.5rem)}.grid-paintings{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(1rem,2.5vw,1.75rem)}.card{display:block}.card figure{overflow:hidden;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.card figure img{transition:transform .4s cubic-bezier(.22,.61,.36,1);width:100%;height:100%;object-fit:cover}.card:hover figure img{transform:scale(1.04)}.card .meta{margin-top:.75rem}.card .meta .title{font-family:var(--font-display);font-size:1.1rem}.card .meta .sub{font-size:.875rem;color:var(--muted)}.painting-card figure{aspect-ratio:4 / 3}.book-card figure{aspect-ratio:1838 / 2776}.site-footer{border-top:1px solid var(--line);padding-block:2.5rem;margin-top:2rem;color:var(--muted);font-size:.9rem}.site-footer .row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.site-footer a:hover{color:var(--ink)}.page-head{margin-bottom:clamp(1.5rem,4vw,3rem)}.page-head h1{margin-bottom:.5rem}.back-link{display:inline-block;font-size:.9rem;color:var(--muted);margin-bottom:1.5rem;transition:color var(--transition)}.back-link:hover{color:var(--ink)}.detail-grid{display:grid;grid-template-columns:minmax(240px,380px) 1fr;gap:clamp(1.75rem,4vw,3.5rem);align-items:start}.detail-media{position:sticky;top:88px}.book-cover-lg{width:100%;border-radius:3px;box-shadow:var(--shadow-lift)}.painting-hero{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--card)}.painting-hero img{width:100%}.detail-body h1{margin:.35rem 0 1rem}.blurb{font-size:1.0625rem;margin-bottom:1.25rem}.price{font-family:var(--font-display);font-size:1.4rem;margin:1.25rem 0}.buy-links{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.25rem 0}.book-links{margin:1.25rem 0}.book-links-label{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}.book-links-row{display:flex;flex-wrap:wrap;gap:.6rem}.meta-list{margin:1.25rem 0;border-top:1px solid var(--line)}.meta-list>div{display:flex;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.meta-list dt{flex:0 0 120px;color:var(--muted);font-size:.9rem}.meta-list dd{font-size:.95rem}@media(max-width:720px){.detail-grid{grid-template-columns:1fr}.detail-media{position:static;max-width:320px}}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:clamp(.75rem,2vw,1.25rem)}.album-grid--lg{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.album-item{display:block}.album-item figure,.album-item>figure{overflow:hidden;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.album-grid figure{margin:0}.album-item img{width:100%;aspect-ratio:4 / 3;object-fit:cover;cursor:zoom-in;transition:transform .4s cubic-bezier(.22,.61,.36,1)}.album-item:hover img{transform:scale(1.04)}.album-item figcaption{margin-top:.5rem;font-size:.85rem;color:var(--muted)}.lightbox{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#080806e6;padding:clamp(1rem,5vw,4rem)}.lightbox[hidden]{display:none}.lightbox img{max-width:100%;max-height:90vh;border-radius:2px;box-shadow:var(--shadow-lift)}.lightbox-close{position:absolute;top:1rem;right:1.25rem;width:44px;height:44px;border-radius:50%;border:none;background:#ffffff1f;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.lightbox-close:hover{background:#ffffff38}.post-list{border-top:1px solid var(--line)}.post-list li a{display:grid;grid-template-columns:170px 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line);transition:color var(--transition)}.post-list .post-date{color:var(--muted);font-size:.9rem;padding-top:.2rem}.post-list .post-title{font-family:var(--font-display);font-size:1.3rem}.post-list .post-excerpt{grid-column:2;color:var(--muted);font-size:.95rem;margin-top:.25rem}.post-list li a:hover .post-title{color:var(--accent)}.post-header{max-width:var(--prose);margin-bottom:2rem}.post-header h1{margin-top:.5rem}@media(max-width:620px){.post-list li a{grid-template-columns:1fr;gap:.25rem}.post-list .post-excerpt{grid-column:1}}.about-grid{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}.about-portrait{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.about-portrait img{width:100%;height:auto;display:block}@media(max-width:700px){.about-grid{grid-template-columns:1fr}.about-portrait{max-width:280px}}.prose h2{margin:2rem 0 .75rem}.prose h3{margin:1.5rem 0 .5rem}.prose p{margin-bottom:1.1em}.prose a{color:var(--accent);border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.prose a:hover{border-color:var(--accent)}.prose ul,.prose ol{margin:0 0 1.1em 1.25rem}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:.35em}.prose blockquote{margin:1.5rem 0;padding:.5rem 0 .5rem 1.25rem;border-left:3px solid var(--accent);font-family:var(--font-display);font-style:italic;font-size:1.2rem;color:var(--ink)}.prose img{border-radius:var(--radius);margin:1.5rem 0;box-shadow:var(--shadow)}.prose hr{border:none;border-top:1px solid var(--line);margin:2rem 0}.commission{margin:1.5rem 0;padding:1.1rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 6%,var(--card))}.commission p{margin-bottom:.75rem;color:var(--ink);font-size:.95rem}.story{max-width:var(--prose);margin-top:2rem}.gallery-section{margin-top:clamp(2rem,5vw,3.25rem)}.gallery-title{font-size:clamp(1.4rem,2.5vw,1.8rem);margin-bottom:1.25rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}.newsletter{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 5%,var(--card));padding:clamp(1.5rem,4vw,2.75rem);display:grid;gap:1.25rem}.newsletter h2{margin:.1rem 0 .4rem}.newsletter-copy p{color:var(--muted);max-width:54ch}.signup-form{display:grid;gap:.75rem}.signup-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.signup-form input[type=text],.signup-form input[type=email]{flex:1 1 200px;min-width:0;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);font:inherit;font-size:.95rem;transition:border-color var(--transition)}.signup-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.signup-form .btn:disabled{opacity:.5;cursor:not-allowed}.optin{display:flex;gap:.55rem;align-items:flex-start;font-size:.88rem;color:var(--muted);cursor:pointer}.optin input{margin-top:.2rem;accent-color:var(--accent)}.newsletter-note{font-size:.8rem;color:var(--muted)}.signup-status{font-size:.95rem;color:var(--accent);font-weight:500}.signup-status[hidden]{display:none}.praise{margin-top:clamp(2.5rem,6vw,4rem)}.praise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(1rem,2.5vw,1.75rem)}.praise-quote{margin:0;padding:1.25rem 1.4rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.praise-quote p{font-family:var(--font-display);font-size:1.05rem;line-height:1.5;color:var(--ink);white-space:pre-line}.praise-quote cite{display:block;margin-top:.75rem;font-style:normal;font-size:.85rem;color:var(--muted)}.kit-embed{width:100%}.kit-embed .formkit-form{max-width:none!important}.kit-embed .formkit-fields{display:flex;flex-wrap:wrap;gap:.6rem;margin:0}.kit-embed .formkit-field{flex:1 1 220px;min-width:0;margin:0!important}.kit-embed .formkit-input{width:100%;padding:.7rem .9rem!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:var(--paper)!important;color:var(--ink)!important;font:inherit!important;font-size:.95rem!important}.kit-embed .formkit-input:focus{outline:none;border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.kit-embed .formkit-submit{border:0!important;border-radius:var(--radius)!important;background:var(--accent)!important;color:var(--accent-ink)!important;font:inherit!important;font-weight:500!important;cursor:pointer;margin:0!important;flex:0 0 auto}.kit-embed .formkit-submit span{display:block;padding:.7rem 1.25rem}.kit-embed .formkit-alert{margin:.6rem 0 0!important;font-size:.9rem}.kit-embed .formkit-powered-by-convertkit-container{margin:.5rem 0 0!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.arc{margin:1.5rem 0;padding:1.25rem 1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 6%,var(--card))}.arc-heading{font-size:clamp(1.2rem,2vw,1.5rem);margin-bottom:.4rem}.arc>p{color:var(--muted);font-size:.95rem;margin-bottom:1rem}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(12px);animation:reveal .7s cubic-bezier(.22,.61,.36,1) forwards}.reveal[data-delay="1"]{animation-delay:.08s}.reveal[data-delay="2"]{animation-delay:.16s}@keyframes reveal{to{opacity:1;transform:none}}}
