:root{color-scheme:light;--paper:#e7dac8;--ink:#080806;--muted:#504b43;--line:#9d9384;--page-gutter:5.6vw;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-underline-offset:.22em}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
::selection{background:var(--ink);color:var(--paper)}
[hidden]{display:none!important}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:10;transform:translateY(-200%);padding:1rem;background:var(--ink);color:var(--paper)}
.skip-link:focus{transform:translateY(0)}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.75rem var(--page-gutter) 1.5rem}
.brand{font-size:1.25rem;font-weight:600;letter-spacing:-.035em;text-decoration:none}
nav{display:flex;gap:1.8rem;font-size:1rem}
nav a{text-decoration:none;padding:.4rem 0}
nav a[aria-current],nav a:hover{text-decoration:underline}
main{padding:0 var(--page-gutter)}
h1{font-weight:500;letter-spacing:-.055em;line-height:1.055;margin:0}
.home-main h1{font-size:clamp(3.2rem,10.6vw,10rem);margin:.4rem 0 3.9rem}
.home-main h1 span{display:block}
.home-copy{max-width:57rem;font-size:clamp(1.375rem,2.95vw,2.65rem);line-height:1.4;letter-spacing:-.025em}
.home-copy h2{font-size:inherit;line-height:1.2;font-weight:700;margin:0 0 2.5rem}
.home-copy p{margin:0 0 2.3rem}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:3rem;min-height:3.5rem;padding:1rem 1.4rem;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-size:1.125rem;font-weight:500;text-decoration:none;letter-spacing:0;border-radius:0}
.button:hover{background:#323029}
.button:disabled{opacity:.55;cursor:wait}
.home-contact{margin:.4rem 0 1.5rem}
.site-footer{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);margin:4rem var(--page-gutter) 0;padding:1.5rem 0 2rem;font-size:.875rem;color:var(--muted)}
.contact-main{padding-top:1.8rem}
.contact-main h1{font-size:clamp(4rem,9vw,8.5rem);max-width:65rem;margin-bottom:3.6rem}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:7vw;align-items:start;padding-bottom:1rem}
.contact-intro{max-width:26rem;font-size:1.375rem;line-height:1.45;letter-spacing:-.025em}
.contact-intro p{margin:0 0 2rem}
.direct-contact{padding-top:1.8rem;border-top:1px solid var(--line)}
.direct-contact h2{font-size:1rem;font-weight:400;margin:0 0 1rem}
.text-button{padding:.3rem 0;border:0;background:none;text-decoration:underline;text-underline-offset:.25em;color:inherit;text-align:left;font-size:1.125rem;min-height:2.75rem}
.email-link{display:inline-block;font-size:1.125rem;overflow-wrap:anywhere;padding:.5rem 0}
.email-status,.email-help{font-size:.9375rem;line-height:1.5;color:var(--muted);margin:1rem 0}
.email-status:empty{display:none}
.contact-page{min-height:100svh;display:flex;flex-direction:column}
.contact-page main{flex:1}
.contact-page .contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);padding:1rem 0 5rem}
.contact-page .direct-contact{padding-top:1.5rem}
.contact-page .email-link{font-size:clamp(1.15rem,2.6vw,2.8rem);letter-spacing:-.04em}
noscript p{padding:1rem;border:1px solid var(--line);font-size:1rem;line-height:1.5}
@media(min-width:1600px){:root{--page-gutter:max(5.6vw,calc((100vw - 1440px)/2))}}
@media(max-width:700px){:root{--page-gutter:1.5rem}.site-header{padding-top:1.25rem;padding-bottom:2rem}.brand{font-size:1.125rem}nav{gap:1rem;font-size:.9375rem}.home-main h1{font-size:clamp(2.7rem,10.25vw,4.6rem);margin:0 0 2.5rem;letter-spacing:-.06em}.home-copy{font-size:1.375rem;line-height:1.5}.home-copy h2{margin-bottom:1.6rem}.home-copy p{margin-bottom:1.6rem}.contact-main{padding-top:.5rem}.contact-main h1{font-size:clamp(3.8rem,13vw,6rem);margin-bottom:2rem}.contact-layout,.contact-page .contact-layout{grid-template-columns:1fr;gap:2.5rem;padding-bottom:1rem}.contact-intro{max-width:none;font-size:1.25rem}.contact-intro p{margin-bottom:1.5rem}.direct-contact{padding-top:1.25rem}.site-footer{margin-top:2.5rem}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .15s ease}}
