@font-face{font-family:Fraunces;font-style:italic;font-weight:300 400;font-display:swap;src:url(/fonts/fraunces-latin-ext-300-400-italic.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:300 400;font-display:swap;src:url(/fonts/fraunces-latin-300-400-italic.woff2)format("woff2");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:Fraunces;font-style:normal;font-weight:300 400;font-display:swap;src:url(/fonts/fraunces-latin-ext-300-400.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:300 400;font-display:swap;src:url(/fonts/fraunces-latin-300-400.woff2)format("woff2");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:Karla;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/karla-latin-ext-400.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Karla;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/karla-latin-400.woff2)format("woff2");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{--brand-canvas:#fbf6ee;--brand-surface:#fffbf6;--brand-ink:#3e2f27;--brand-ink-soft:#75655b;--brand-primary:#5b7057;--brand-on-primary:#fcf8f1;--brand-accent:#ccdec8;--brand-on-accent:#263223;--brand-secondary:#f8ded9;--brand-muted:#f2eade;--type-scale:1.2;--radius-base:20px;--color-text:var(--brand-ink);--color-text-soft:var(--brand-ink-soft);--color-heading:var(--brand-ink);--color-primary:var(--brand-primary);--color-primary-hover:color-mix(in oklab, var(--brand-primary) 86%, #000);--color-primary-soft:color-mix(in oklab, var(--brand-primary) 10%, var(--brand-canvas));--color-on-primary:var(--brand-on-primary);--color-accent:var(--brand-accent);--color-on-accent:var(--brand-on-accent);--color-secondary:var(--brand-secondary);--surface-0:var(--brand-canvas);--surface-1:var(--brand-surface);--surface-muted:var(--brand-muted);--surface-accent:color-mix(in oklab, var(--brand-accent) 50%, var(--brand-canvas));--surface-blush:color-mix(in oklab, var(--brand-secondary) 55%, var(--brand-canvas));--color-border:color-mix(in oklab, var(--brand-ink) 10%, transparent);--color-border-strong:color-mix(in oklab, var(--brand-ink) 22%, transparent);--color-focus:var(--brand-primary);--color-danger:#a8423a;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Karla", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--step--1:calc(1rem / var(--type-scale));--step-0:1rem;--step-1:calc(var(--step-0) * var(--type-scale));--step-2:calc(var(--step-1) * var(--type-scale));--step-3:calc(var(--step-2) * var(--type-scale));--step-4:calc(var(--step-3) * var(--type-scale));--step-5:calc(var(--step-4) * var(--type-scale));--leading-tight:1.08;--leading-snug:1.35;--leading-body:1.65;--tracking-display:-.014em;--tracking-body:0;--tracking-label:.22em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-y:5rem;--radius-sm:calc(var(--radius-base) * .5);--radius-md:var(--radius-base);--radius-lg:calc(var(--radius-base) * 1.6);--radius-xl:calc(var(--radius-base) * 2);--radius-pill:999px;--shadow-soft:0 1px 3px #3e2f270f, 0 1px 2px #3e2f270a;--shadow-raised:0 10px 30px #3e2f2714;--container:1152px;--ease:cubic-bezier(.22, .61, .36, 1);--dur:.25s}@media (width>=768px){:root{--space-y:7rem}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--surface-0);color:var(--color-text);font-family:var(--font-body);font-size:var(--step-0);line-height:var(--leading-body);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word;margin:0}h1,h2,h3{font-family:var(--font-display);font-optical-sizing:auto;color:var(--color-heading);font-weight:400;line-height:var(--leading-tight);letter-spacing:var(--tracking-display);text-wrap:balance;font-variation-settings:"SOFT" 20;margin:0}h1 em,h2 em,h3 em,.quote em{font-style:italic;font-weight:300}h1{font-size:clamp(2.5rem,7.5vw,4.25rem)}h2{font-size:clamp(1.75rem,4.6vw,2.75rem);line-height:1.12}h3{letter-spacing:-.005em;font-size:1.5rem;line-height:1.3}p{text-wrap:pretty;margin:0}a{color:inherit}img{max-width:100%;height:auto;display:block}svg{max-width:100%}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:4px}.container{width:min(100% - 2 * var(--space-6), var(--container));margin-inline:auto}.section{padding-block:var(--space-y)}.section--muted{background:var(--surface-muted)}.section--accent{background:var(--surface-accent)}.section--flush-top{padding-top:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-4);z-index:100;padding:var(--space-3) var(--space-5);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-pill);transition:top var(--dur) var(--ease);text-decoration:none;position:absolute;top:-70px}.skip-link:focus{top:var(--space-4)}.label{font-family:var(--font-body);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-primary);font-size:.875rem;font-weight:400;display:inline-block}.lede{font-size:var(--step-0);color:var(--color-text-soft);max-width:46ch;line-height:1.7}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);font-family:var(--font-body);letter-spacing:.01em;cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease);border:1px solid #0000;font-size:.9375rem;font-weight:400;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover{background:var(--color-primary-hover)}.btn--outline{color:var(--color-text);border-color:var(--color-border-strong);background:0 0}.btn--outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn--link{min-height:44px;color:var(--color-primary);text-underline-offset:4px;text-decoration:underline 1px;text-decoration-color:var(--color-border-strong);background:0 0;padding-inline:0}.btn--link:hover{text-decoration-color:var(--color-primary);transform:none}.site-header{z-index:40;background:color-mix(in oklab, var(--surface-0) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid #0000;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:80px;display:flex}.brand{font-family:var(--font-display);color:var(--color-heading);letter-spacing:-.01em;font-size:1.5rem;font-style:italic;font-weight:400;line-height:1;text-decoration:none}.nav{display:none}.nav a{color:var(--color-text-soft);transition:color var(--dur) var(--ease);font-size:.9375rem;text-decoration:none}.nav a:hover{color:var(--color-primary)}.header__actions{align-items:center;gap:var(--space-3);display:flex}.header__actions .btn{min-height:44px;padding-inline:var(--space-5)}.menu{position:relative}.menu>summary{border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);cursor:pointer;width:44px;height:44px;color:var(--color-text);place-items:center;list-style:none;display:grid}.menu>summary::-webkit-details-marker{display:none}.menu__panel{right:0;top:calc(100% + var(--space-2));background:var(--surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-raised);padding:var(--space-2);z-index:50;display:grid;position:absolute}.menu__panel a{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none}.menu__panel a:hover{background:var(--color-primary-soft)}@media (width>=900px){.nav{gap:var(--space-8);display:flex}.menu{display:none}.header__actions .btn--primary{display:inline-flex}}.hero{gap:var(--space-10);padding-block:var(--space-12) var(--space-y);align-items:center;display:grid}.hero__title{margin-block:var(--space-4) var(--space-5)}.hero__text{color:var(--color-text-soft);max-width:42ch}.hero__actions{gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.figure{border-radius:var(--radius-xl);background:radial-gradient(120% 90% at 70% 15%, color-mix(in oklab, var(--brand-accent) 70%, #fff) 0%, transparent 60%), linear-gradient(160deg, var(--surface-muted), color-mix(in oklab, var(--brand-accent) 60%, var(--surface-muted)));aspect-ratio:4/5;text-align:center;padding:var(--space-6);color:color-mix(in oklab, var(--brand-ink) 45%, transparent);letter-spacing:.16em;text-transform:uppercase;place-items:center;font-size:.75rem;display:grid;position:relative;overflow:hidden}.figure img{object-fit:cover;object-position:50% 35%;width:100%;height:100%}.figure picture{display:contents}.figure--photo{background:0 0;padding:0}.figure--square{aspect-ratio:1}@media (width>=900px){.hero{gap:var(--space-16);grid-template-columns:1.05fr .95fr}}.quote{font-family:var(--font-display);letter-spacing:-.005em;text-align:center;max-width:46rem;color:var(--color-heading);text-wrap:balance;margin-inline:auto;font-size:clamp(1.35rem,3.4vw,1.9rem);font-style:italic;font-weight:300;line-height:1.38}.about{gap:var(--space-10);display:grid}.about__body{gap:var(--space-4);color:var(--color-text-soft);display:grid}.about__title{margin-top:var(--space-3)}@media (width>=900px){.about{gap:var(--space-16);grid-template-columns:1fr 1.3fr;align-items:start}}.services__head{gap:var(--space-4);margin-bottom:var(--space-10);display:grid}.services__grid{gap:var(--space-4);display:grid}.service{background:var(--surface-1);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-soft);gap:var(--space-2);align-content:start;display:grid}.service h3{color:var(--color-heading)}.service p{color:var(--color-text-soft);font-size:.9375rem}@media (width>=640px){.services__grid{gap:var(--space-5);grid-template-columns:1fr 1fr}}.steps__head{gap:var(--space-4);margin-bottom:var(--space-10);display:grid}.steps__grid{gap:var(--space-8);display:grid}.step__number{font-family:var(--font-display);color:var(--color-primary);margin-bottom:var(--space-3);font-variant-numeric:lining-nums;font-size:3rem;line-height:1;display:block}.step h3{margin-bottom:var(--space-2)}.step p{color:var(--color-text-soft);max-width:34ch;font-size:.9375rem}@media (width>=768px){.steps__grid{gap:var(--space-10);grid-template-columns:repeat(3,1fr)}}.faq{max-width:48rem}.faq__title{margin-block:var(--space-3) var(--space-6)}.faq details{border-bottom:1px solid var(--color-border)}.faq details:first-of-type{border-top:1px solid var(--color-border)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:64px;font-family:var(--font-display);font-size:var(--step-1);color:var(--color-heading);font-weight:400;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--color-primary);transition:transform var(--dur) var(--ease);flex:none;font-size:1.25rem;line-height:1}.faq details[open] summary:after{content:"−"}.faq p{color:var(--color-text-soft);padding-bottom:var(--space-5);max-width:60ch}.contact{text-align:center;justify-items:center;gap:var(--space-5);display:grid}.contact__title{max-width:20ch}.contact p{color:var(--color-text-soft);max-width:44ch}.contact__form{width:100%;max-width:34rem;margin-top:var(--space-6);text-align:left}.contact__form>summary{cursor:pointer;text-align:center;color:var(--color-text-soft);text-underline-offset:4px;text-decoration:underline;text-decoration-color:var(--color-border-strong);padding-block:var(--space-3);font-size:.9375rem;list-style:none}.contact__form>summary::-webkit-details-marker{display:none}.form{gap:var(--space-4);margin-top:var(--space-4);display:grid}.field{gap:var(--space-2);display:grid}.field label{color:var(--color-text-soft);font-size:.875rem}.field input,.field textarea{font:inherit;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--surface-1);min-height:48px;color:var(--color-text);width:100%;transition:border-color var(--dur) var(--ease);font-size:max(16px,1rem)}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--color-danger)}.consent{gap:var(--space-3);color:var(--color-text-soft);grid-template-columns:22px 1fr;align-items:start;font-size:.875rem;display:grid}.consent input{width:18px;height:18px;accent-color:var(--color-primary);margin-top:3px}.consent a{color:var(--color-primary)}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form__status{min-height:1.2em;color:var(--color-text-soft);font-size:.875rem}.form__status[data-state=error]{color:var(--color-danger)}.form__status[data-state=ok]{color:var(--color-primary)}.site-footer{border-top:1px solid var(--color-border);padding-block:var(--space-8);color:var(--color-text-soft);font-size:.875rem}.site-footer__inner{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.site-footer__brand{font-family:var(--font-display);color:var(--color-heading);font-size:1.125rem;font-style:italic}.site-footer a{color:inherit;border-bottom:1px solid var(--color-border-strong);text-decoration:none}.site-footer a:hover{color:var(--color-primary)}@media (width>=768px){.site-footer__inner{text-align:left;flex-direction:row;justify-content:space-between}}.wa-float{right:max(var(--space-4), env(safe-area-inset-right));bottom:max(var(--space-4), env(safe-area-inset-bottom));border-radius:var(--radius-pill);background:var(--color-primary);width:52px;height:52px;color:var(--color-on-primary);box-shadow:var(--shadow-raised);z-index:30;transition:transform var(--dur) var(--ease), background var(--dur) var(--ease);place-items:center;display:grid;position:fixed}.wa-float:hover{background:var(--color-primary-hover);transform:scale(1.05)}.wa-float svg{width:24px;height:24px}.prose{gap:var(--space-4);max-width:72ch;color:var(--color-text-soft);display:grid}.prose h1,.prose h2{color:var(--color-heading)}.prose h2{margin-top:var(--space-6);font-size:var(--step-1)}.prose strong{color:var(--color-text);font-weight:400}.admin{padding-block:var(--space-8);gap:var(--space-8);display:grid}.admin__title{font-size:var(--step-2)}.admin__section-title{font-size:var(--step-1);margin-bottom:var(--space-3)}.admin__cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.admin__card{background:var(--surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5)}.admin__card b{font-size:var(--step-2);font-family:var(--font-display);font-weight:400;display:block}.admin__card span{font-size:var(--step--1);color:var(--color-text-soft)}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--surface-1);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--step--1)}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);white-space:nowrap}th{color:var(--color-text-soft);font-weight:400}tbody tr:last-child td{border-bottom:0}td.wrap{white-space:normal;min-width:240px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{.site-header,.wa-float,.menu{display:none}}
