:root{--color-background: #fbfaf6;--color-surface: #ffffff;--color-text: #1a1a17;--color-text-soft: #56544c;--color-accent: #1c6655;--color-accent-dark: #124a3d;--color-accent-soft: #e7f0ed;--color-border-subtle: rgba(0, 0, 0, .12);--color-border-strong: rgba(0, 0, 0, .22);--font-serif: "Fraunces", Georgia, "Times New Roman", serif;--font-sans: "Atkinson Hyperlegible", -apple-system, "Segoe UI", sans-serif;--font-mono: "SF Mono", Menlo, Consolas, monospace;--font-size-base: 1.05rem;--line-height-body: 1.7;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 8px;--radius-md: 11px;--radius-lg: 14px;--radius-full: 99px;--focus-color: #1c6655;--focus-width: 3px;--focus-offset: 3px;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out}[data-theme=dark]{--color-background: #16150f;--color-surface: #1f1e18;--color-text: #f2f0e9;--color-text-soft: #bfbdb5;--color-accent: #74c1ae;--color-accent-dark: #5fb59d;--color-accent-soft: #2d5a4f;--color-border-subtle: rgba(255, 255, 255, .12);--color-border-strong: rgba(255, 255, 255, .22)}@font-face{font-family:Fraunces;src:url(/fonts/fraunces-latin-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson-latin-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}button,[role=button],input[type=button],input[type=submit],input[type=reset]{font-family:var(--font-sans);font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base);padding:var(--spacing-sm) var(--spacing-md);display:inline-flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;user-select:none;white-space:nowrap;line-height:1.5}button.btn-primary,input[type=submit],input[type=button].btn-primary,a.btn-primary{background-color:var(--color-accent);color:#fff;border:1px solid var(--color-accent)}button.btn-primary:hover,input[type=submit]:hover,input[type=button].btn-primary:hover,a.btn-primary:hover{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark)}button.btn-primary:active,input[type=submit]:active,input[type=button].btn-primary:active,a.btn-primary:active{transform:scale(.98)}button.btn-primary:disabled,input[type=submit]:disabled,input[type=button].btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}button.btn-secondary,input[type=button].btn-secondary,input[type=reset],a.btn-secondary{background-color:transparent;color:var(--color-text);border:1px solid var(--color-border-subtle)}button.btn-secondary:hover,input[type=button].btn-secondary:hover,input[type=reset]:hover,a.btn-secondary:hover{background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-dark)}button.btn-secondary:active,input[type=button].btn-secondary:active,input[type=reset]:active,a.btn-secondary:active{transform:scale(.98)}button.btn-secondary:disabled,input[type=button].btn-secondary:disabled,input[type=reset]:disabled{opacity:.6;cursor:not-allowed;transform:none}button:focus-visible,[role=button]:focus-visible,input[type=button]:focus-visible,input[type=submit]:focus-visible,input[type=reset]:focus-visible,a.btn-primary:focus-visible,a.btn-secondary:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}button.btn-small,input[type=button].btn-small{padding:var(--spacing-xs) var(--spacing-sm);font-size:.9rem}button.btn-large,input[type=button].btn-large{padding:var(--spacing-md) var(--spacing-lg);font-size:1.1rem}@media(max-width:640px){button,[role=button],input[type=button],input[type=submit],input[type=reset]{padding:var(--spacing-sm) var(--spacing-md);font-size:1rem}}@media(forced-colors:active){button.btn-primary,input[type=submit],input[type=button].btn-primary{background-color:ButtonFace;color:ButtonText;border:2px solid ButtonBorder}button.btn-secondary,input[type=reset],input[type=button].btn-secondary{border:2px solid ButtonBorder}}details{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-lg) 0;background-color:var(--color-surface);transition:background-color var(--transition-base)}details[open]{background-color:var(--color-accent-soft)}summary{cursor:pointer;font-weight:600;padding:var(--spacing-sm);margin:calc(-1 * var(--spacing-sm));border-radius:var(--radius-sm);user-select:none;display:list-item;outline:none;transition:background-color var(--transition-base)}summary:hover{background-color:var(--color-border-subtle)}summary:focus{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}summary::marker{color:var(--color-accent);font-weight:700}details>*{margin-top:var(--spacing-md)}details>summary{margin-top:0}details>summary+*{margin-top:var(--spacing-md)}details details{margin-left:var(--spacing-lg);margin-top:var(--spacing-md)}details p{margin-bottom:var(--spacing-md)}details p:last-child{margin-bottom:0}details ul,details ol{margin-left:var(--spacing-lg);margin-bottom:0}@media(prefers-reduced-motion:no-preference){details{transition:background-color var(--transition-base)}summary{transition:background-color var(--transition-base)}}@media(forced-colors:active){details{border:2px solid;background-color:Canvas}details[open]{background-color:Canvas}summary{color:CanvasText;border-radius:var(--radius-sm)}summary:focus{outline:2px solid CanvasText}summary::marker{color:CanvasText}}form{max-width:600px;margin:var(--spacing-2xl) 0}fieldset{border:none;padding:0;margin:var(--spacing-2xl) 0 var(--spacing-lg) 0}legend{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-md);padding:0;color:var(--color-text)}.form-group{margin-bottom:var(--spacing-lg);display:flex;flex-direction:column}label{font-weight:500;margin-bottom:var(--spacing-sm);color:var(--color-text);display:block}label[for]{cursor:pointer}input[type=text],input[type=email],input[type=password],input[type=url],input[type=tel],input[type=number],textarea,select{font-family:var(--font-sans);font-size:1rem;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-base),background-color var(--transition-base);width:100%;box-sizing:border-box}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=number]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent);background-color:var(--color-background)}input[type=text]:focus-visible,input[type=email]:focus-visible,input[type=password]:focus-visible,input[type=url]:focus-visible,input[type=tel]:focus-visible,input[type=number]:focus-visible,textarea:focus-visible,select:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:#d32f2f;background-color:#d32f2f0d}textarea{resize:vertical;min-height:120px;font-family:var(--font-sans)}input[type=checkbox],input[type=radio]{width:auto;margin-right:var(--spacing-sm);cursor:pointer;accent-color:var(--color-accent)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:var(--focus-width) solid var(--color-accent);outline-offset:var(--focus-offset)}.checkbox-group,.radio-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.checkbox-label,.radio-label{display:flex;align-items:center;cursor:pointer;font-weight:400}.form-help{font-size:.9rem;color:var(--color-text-soft);margin-top:var(--spacing-xs);display:block}.form-error{color:#d32f2f;font-size:.9rem;margin-top:var(--spacing-xs);display:block;font-weight:500}[aria-live=polite],[aria-live=assertive],.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.honeypot input{width:1px;height:1px}.honeypot label{position:absolute;left:-10000px;margin:0}.required{color:#d32f2f;font-weight:700}form button,form input[type=submit],form input[type=reset]{margin-top:var(--spacing-md)}@media(max-width:640px){fieldset{margin-left:0;margin-right:0}.form-group{margin-bottom:var(--spacing-md)}}@media(forced-colors:active){input[type=text],input[type=email],input[type=password],input[type=url],input[type=tel],input[type=number],textarea,select{border:1px solid;background-color:Canvas;color:CanvasText}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border:2px solid;border-color:Mark}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid CanvasText}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-body);color:var(--color-text);background-color:var(--color-background);transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:700;line-height:1.3;margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md);color:var(--color-text)}h1{font-size:2.5rem;margin-top:0}h2{font-size:2rem;margin-top:var(--spacing-2xl)}h3{font-size:1.5rem}h4{font-size:1.25rem}h5,h6{font-size:1rem}p{margin-bottom:var(--spacing-md);max-width:75ch}p+p{margin-top:0}ul,ol{margin-left:var(--spacing-lg);margin-bottom:var(--spacing-md);list-style-position:outside}li{margin-bottom:var(--spacing-sm);line-height:var(--line-height-body)}a{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color var(--transition-base),background-color var(--transition-base)}a:hover{color:var(--color-accent-dark)}a:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}code{font-family:var(--font-mono);background-color:var(--color-accent-soft);color:var(--color-accent-dark);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:.9em;word-break:break-word}pre{font-family:var(--font-mono);background-color:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);overflow-x:auto;line-height:1.5;font-size:.9rem}pre code{background-color:transparent;color:var(--color-text);padding:0;font-size:.9em}strong,b{font-weight:700;color:var(--color-text)}em,i{font-style:italic;color:var(--color-text-soft)}blockquote{border-left:4px solid var(--color-accent);padding-left:var(--spacing-md);margin-left:0;margin-bottom:var(--spacing-md);color:var(--color-text-soft);font-style:italic}hr{border:none;border-top:1px solid var(--color-border-subtle);margin:var(--spacing-2xl) 0}:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.skip-link{position:absolute;top:-40px;left:0;background-color:var(--color-accent);color:#fff;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;z-index:100;font-weight:700}.skip-link:focus{top:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(forced-colors:active){:focus-visible{outline:2px solid}.skip-link{border:2px solid;background-color:CanvasText;color:Canvas}a{text-decoration:underline;text-decoration-thickness:2px}button{border:1px solid CanvasText}}@media(prefers-contrast:more){:root{--focus-width: 4px;--color-border-strong: rgba(0, 0, 0, .3)}[data-theme=dark]{--color-border-strong: rgba(255, 255, 255, .3)}a{text-decoration-thickness:2px}}@media print{a[href]:after{content:" (" attr(href) ")"}a[href^="#"]:not(:where([href^="#fn"],[href^="#fnref"])):after{content:""}}.header-bar{border-bottom:1px solid var(--color-border-subtle);padding:var(--spacing-md);background-color:var(--color-background);position:relative;z-index:30}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;gap:var(--spacing-lg)}.site-title{font-size:1.25rem;margin:0;font-family:var(--font-serif);font-weight:700}.site-title a{color:var(--color-text);text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);transition:background-color var(--transition-base);display:inline-block}.site-title a:hover{background-color:var(--color-accent-soft);color:var(--color-accent-dark)}.site-title a:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.header-controls{display:flex;gap:var(--spacing-md);align-items:center}main{max-width:1200px;margin:var(--spacing-2xl) auto;padding:0 var(--spacing-md);min-height:60vh}.site-footer{margin-top:var(--spacing-2xl);border-top:1px solid var(--color-border-subtle);padding:var(--spacing-2xl) var(--spacing-md);background-color:var(--color-surface)}.footer-content{max-width:1200px;margin:0 auto var(--spacing-2xl);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.footer-section{text-align:left}.footer-section h3{margin-top:0;margin-bottom:var(--spacing-md);font-size:1rem;font-weight:600;color:var(--color-text)}.footer-section ul{list-style:none;margin:0;padding:0}.footer-section li{margin-bottom:var(--spacing-sm)}.footer-section a{color:var(--color-accent);text-decoration:none;transition:text-decoration var(--transition-base)}.footer-section a:hover{text-decoration:underline}.footer-section a:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-subtle);text-align:center}.footer-bottom p{margin:var(--spacing-sm) 0;font-size:.9rem;color:var(--color-text-soft)}.footer-note{font-style:italic}@media(max-width:768px){.site-title{font-size:1rem}.header-bar{padding:var(--spacing-sm) var(--spacing-md)}main{margin-top:var(--spacing-lg);padding:0 var(--spacing-md)}}.navigation[data-astro-cid-pux6a34n]{border-bottom:1px solid var(--color-border-subtle);padding:var(--spacing-md) 0;background-color:var(--color-background);position:sticky;top:0;z-index:40}.nav-container[data-astro-cid-pux6a34n]{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.nav-logo[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]{display:inline-flex;padding:var(--spacing-xs);border-radius:var(--radius-md);transition:background-color var(--transition-base)}.nav-logo[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]:hover{background-color:var(--color-accent-soft)}.nav-logo[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.nav-logo[data-astro-cid-pux6a34n] img[data-astro-cid-pux6a34n]{display:block;width:40px;height:40px}.nav-links[data-astro-cid-pux6a34n]{display:flex;list-style:none;gap:var(--spacing-lg);margin:0;padding:0}.nav-links[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);text-decoration:none;color:var(--color-text);font-weight:500;transition:background-color var(--transition-base),color var(--transition-base)}.nav-links[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]:hover{background-color:var(--color-accent-soft);color:var(--color-accent-dark)}.nav-links[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.nav-contact[data-astro-cid-pux6a34n]{background-color:var(--color-accent);color:#fff;border:1px solid var(--color-accent)}.nav-contact[data-astro-cid-pux6a34n]:hover{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);color:#fff}.nav-contact[data-astro-cid-pux6a34n]:focus-visible{outline:var(--focus-width) solid white;outline-offset:var(--focus-offset)}.nav-toggle[data-astro-cid-pux6a34n]{display:none;flex-direction:column;gap:4px;background:none;border:1px solid var(--color-border-subtle);padding:var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer}.nav-toggle[data-astro-cid-pux6a34n]:hover{border-color:var(--color-text)}.nav-toggle[data-astro-cid-pux6a34n]:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.hamburger-line[data-astro-cid-pux6a34n]{width:24px;height:2px;background-color:var(--color-text);border-radius:1px;transition:all var(--transition-base)}.nav-toggle[data-astro-cid-pux6a34n][aria-expanded=true] .hamburger-line[data-astro-cid-pux6a34n]:nth-child(1){transform:rotate(45deg) translate(7px,7px)}.nav-toggle[data-astro-cid-pux6a34n][aria-expanded=true] .hamburger-line[data-astro-cid-pux6a34n]:nth-child(2){opacity:0}.nav-toggle[data-astro-cid-pux6a34n][aria-expanded=true] .hamburger-line[data-astro-cid-pux6a34n]:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}@media(max-width:768px){.nav-links[data-astro-cid-pux6a34n]{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;max-height:0;overflow:hidden;background-color:var(--color-background);border-bottom:1px solid var(--color-border-subtle);transition:max-height var(--transition-base)}.nav-links[data-astro-cid-pux6a34n][data-expanded=true]{max-height:400px}.nav-links[data-astro-cid-pux6a34n] li[data-astro-cid-pux6a34n]{border-bottom:1px solid var(--color-border-subtle)}.nav-links[data-astro-cid-pux6a34n] li[data-astro-cid-pux6a34n]:last-child{border-bottom:none}.nav-links[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]{display:block;padding:var(--spacing-md);border-radius:0}.nav-toggle[data-astro-cid-pux6a34n]{display:flex}.nav-container[data-astro-cid-pux6a34n]{position:relative}}@media(forced-colors:active){.nav-contact[data-astro-cid-pux6a34n]{border:2px solid CanvasText}.nav-contact[data-astro-cid-pux6a34n]:focus-visible{outline:2px solid}.hamburger-line[data-astro-cid-pux6a34n]{background-color:CanvasText}}.theme-toggle[data-astro-cid-x3pjskd3]{background:var(--color-accent-soft);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-size:1.25rem;transition:background-color var(--transition-base),border-color var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.theme-toggle[data-astro-cid-x3pjskd3]:hover{background-color:var(--color-accent);color:#fff}.theme-toggle[data-astro-cid-x3pjskd3]:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.theme-toggle-icon[data-astro-cid-x3pjskd3]{display:inline-block}
