:root{--ink:#2d1f28;--ink-soft:#65545e;--cream:#fbf7f3;--line:#2d1f2833;--sans:"Avenir Next", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:#f4ece7;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{display:block}::selection{color:var(--ink);background:#c9adb9}.skip-link{z-index:50;background:var(--ink);color:var(--cream);padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:4px;outline:2px solid #624657}.button{cursor:pointer;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-size:.84rem;font-weight:650;transition:transform .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(1px)}.button-dark{background:var(--ink);color:var(--cream)}.button-dark:hover{background:#624657}.contact-form{background:var(--cream);padding:42px}.field-row{gap:7px;margin-bottom:18px;display:grid}.field-row label{font-size:.76rem;font-weight:650}.field-help{color:var(--ink-soft);font-size:.7rem;line-height:1.45}.field-row input,.field-row textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;border-radius:0;outline:none}.field-row input{min-height:42px}.field-row textarea{resize:vertical;padding:8px 0}.field-row input:focus,.field-row textarea:focus{border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink)}.contact-form .button{width:100%;margin-top:6px}.contact-form .button:disabled{cursor:wait;opacity:.62;transform:none}.form-honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.turnstile-widget{min-height:65px;margin:4px 0 14px}.form-note,.form-status{color:var(--ink-soft);margin:10px 0 0;font-size:.72rem;line-height:1.5}.form-status{color:var(--ink);font-weight:650}.form-status-success{color:#6a4860}.form-status-error{color:#7a3028}@media (max-width:760px){.contact-form{padding:28px 22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
