:root{--color-background:#f7f4ef;--color-text-primary:#1c1a18;--color-text-secondary:#5c574f;--color-accent:#8c2f2f;--color-border:#ddd7cc;--color-dark-alt:#1c1a18;--color-light-on-dark:#f7f4ef;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4.5rem;--space-7:6rem;--space-8:8rem;--width-outer-max:1200px;--width-hero-column:720px;--width-body-column:640px;--margin-desktop:96px;--margin-tablet:48px;--margin-mobile:24px;--font-display:"Source Serif 4", Georgia, "Times New Roman", serif;--font-body:"Libre Franklin", Arial, Helvetica, sans-serif;--text-wordmark-desktop:4.5rem;--text-tagline-desktop:2rem;--text-supporting-desktop:1.25rem;--text-company-copy-desktop:1.125rem;--text-contact-heading-desktop:1rem;--text-cta-email-desktop:1.125rem;--text-footer-desktop:.875rem;--text-wordmark-tablet:3.25rem;--text-tagline-tablet:1.625rem;--text-supporting-tablet:1.125rem;--text-company-copy-tablet:1.0625rem;--text-contact-heading-tablet:1rem;--text-cta-email-tablet:1.0625rem;--text-footer-tablet:.875rem;--text-wordmark-mobile:2.25rem;--text-tagline-mobile:1.375rem;--text-supporting-mobile:1rem;--text-company-copy-mobile:1rem;--text-contact-heading-mobile:1rem;--text-cta-email-mobile:1rem;--text-footer-mobile:.8125rem}@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-variable-roman.woff2)format("woff2");font-weight:500 600;font-style:normal;font-display:swap}@font-face{font-family:Libre Franklin;src:url(/fonts/libre-franklin-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Libre Franklin;src:url(/fonts/libre-franklin-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Libre Franklin;src:url(/fonts/libre-franklin-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--color-background);color:var(--color-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;font-weight:400;line-height:1.5}h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.05}.tagline{font-family:var(--font-display);margin:var(--space-2) 0 0;font-weight:500;line-height:1.25}h2{font-family:var(--font-body);margin:0;font-weight:600;line-height:1.3}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background-color:var(--color-background);color:var(--color-text-primary);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);z-index:100;font-weight:500;position:absolute;top:0;left:0;transform:translateY(-100%)}.skip-link:focus-visible{transform:translateY(0)}.text-link{color:var(--color-text-primary);font-family:var(--font-body);font-weight:500;font-size:var(--text-cta-email-mobile);text-underline-offset:.2em;text-decoration:underline;text-decoration-color:var(--color-accent);padding-block:var(--space-1);min-height:44px;line-height:1.5;text-decoration-thickness:1px;transition:text-decoration-thickness .15s,color .15s;display:inline-block}.text-link:hover{color:var(--color-accent);text-decoration-thickness:2px}.text-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.text-link:active{color:var(--color-accent);text-underline-offset:.15em;text-decoration-thickness:2px}.text-link:visited{color:var(--color-text-secondary);text-decoration-color:var(--color-text-secondary)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.text-link,.skip-link{transition:none}}#contact{scroll-margin-top:var(--space-4)}.email-link{overflow-wrap:break-word;word-break:break-word}.container{max-width:var(--width-outer-max);padding-inline:var(--margin-mobile);margin-inline:auto}@media (width>=768px){.container{padding-inline:var(--margin-tablet)}}@media (width>=1200px){.container{padding-inline:var(--margin-desktop)}}section{padding-block:var(--space-7)}hr{border:none;border-top:1px solid var(--color-border);margin:0}.hero-content{max-width:var(--width-hero-column)}.prose{max-width:var(--width-body-column)}.hero{padding-block:var(--space-6) var(--space-5);flex-direction:column;justify-content:flex-end;display:flex}.hero h1{font-size:var(--text-wordmark-mobile)}.hero .tagline{font-size:var(--text-tagline-mobile)}.hero .supporting{font-family:var(--font-body);font-weight:400;font-size:var(--text-supporting-mobile);margin:var(--space-3) 0 0}.hero .text-link{margin-top:var(--space-4)}@media (width>=768px){.hero{min-height:70svh}.hero h1{font-size:var(--text-wordmark-tablet)}.hero .tagline{font-size:var(--text-tagline-tablet)}.hero .supporting{font-size:var(--text-supporting-tablet)}}@media (width>=1200px){.hero{min-height:80svh}.hero h1{font-size:var(--text-wordmark-desktop)}.hero .tagline{font-size:var(--text-tagline-desktop)}.hero .supporting{font-size:var(--text-supporting-desktop)}}.about .prose p{font-family:var(--font-body);font-weight:400;font-size:var(--text-company-copy-mobile);margin:0 0 var(--space-3)}.about .prose p:last-of-type{margin-bottom:0}@media (width>=768px){.about .prose p{font-size:var(--text-company-copy-tablet)}}@media (width>=1200px){.about .prose p{font-size:var(--text-company-copy-desktop)}}.contact{padding-top:var(--space-6)}.contact h2{font-size:var(--text-contact-heading-mobile)}.contact .prose p{font-family:var(--font-body);font-weight:400;font-size:var(--text-company-copy-mobile);margin:var(--space-3) 0}.contact .text-link{margin-top:0}@media (width>=768px){.contact .prose p{font-size:var(--text-company-copy-tablet)}}@media (width>=1200px){.contact .prose p{font-size:var(--text-company-copy-desktop)}}.site-footer{color:var(--color-text-secondary);padding-block:var(--space-5) var(--space-4);gap:var(--space-1);flex-direction:column;display:flex}.site-footer p{font-size:var(--text-footer-mobile);margin:0}@media (width>=768px){.site-footer{flex-direction:row;justify-content:space-between;align-items:baseline}.site-footer p{font-size:var(--text-footer-tablet)}}
