.contact-main{display:grid;grid-template-columns:2.5fr 1fr;justify-items:center;align-items:center;gap:var(--spacing-xl);margin:var(--spacing-xl) var(--spacing-l) var(--spacing-xxl) var(--spacing-xl);padding:var(--spacing-l)}.contact-form-wrapper{width:fit-content}.contact-form{max-width:90vw;padding:var(--spacing-ml) var(--spacing-ml);border:var(--border-width-m) solid var(--secondary-300);border-radius:var(--radius-l);background-color:var(--secondary-100);box-shadow:var(--shadow-2);overflow:hidden}:is(.contact-important-fieldset,.contact-extra-fieldset) label{display:inline-block;padding:0 var(--spacing-m) var(--spacing-s);font-size:var(--fz-m);border:none}:is(.contact-important-fieldset,.contact-extra-fieldset) :is(input,textarea,select){width:min(100%,90vw);margin-block-end:var(--spacing-ml);font-size:var(--fz-m);border:var(--border-width-m) solid var(--secondary-500);border-radius:var(--radius-m);background-color:var(--bkg-clr);padding:.5em .75em;caret-color:var(--secondary-500);transition:border-color var(--trs-m) .33s,caret-color var(--trs-m) .33s}:is(.contact-important-fieldset,.contact-extra-fieldset) :is(input,textarea,select):focus{border-color:var(--primary-601-shared);caret-color:var(--primary-601-shared);outline:none}:is(.contact-important-fieldset,.contact-extra-fieldset) select{cursor:pointer}#email{margin-block-end:0}#email,#phone{scroll-margin-block:8.75rem}.and-or-para{margin-block:var(--spacing-m) var(--spacing-s);font-family:var(--ff-italics);text-align:center;text-decoration:underline;text-underline-offset:.35lh;text-decoration-color:transparent;transition:color var(--trs-m) .33s,text-decoration-color var(--trs-m) .33s}.and-or-para.yellow{color:var(--primary-601-shared);text-decoration-color:var(--primary-601-shared)}.contact-important-fieldset label[for=name]:after,.contact-important-fieldset label[for=message]:after,.contact-important-fieldset label[for=phone]:after,.contact-important-fieldset label[for=email]:after{content:"*";vertical-align:middle;padding-inline-start:1ex;font-size:var(--fz-l);color:var(--primary-601-shared)}.contact-extra-fieldset{max-height:0;overflow:hidden;opacity:0;transition:max-height var(--trs-m),opacity var(--trs-m)}.contact-extra-fieldset input[type=datetime-local]{color-scheme:var(--color-scheme)}.contact-extra-fieldset input[type=checkbox]{display:inline-block;height:23px;width:23px;margin:0 0 0 .1875rem;vertical-align:text-bottom;accent-color:var(--primary-601-shared);color-scheme:var(--color-scheme)}.contact-extra-fieldset input[type=checkbox]:after{content:"";position:absolute;inset:-.25lh auto auto -.75cap;width:calc(100% + 1.5cap);height:calc(100% + .5lh);border:1px solid var(--secondary-500);border-radius:var(--radius-m);cursor:pointer}.checkboxes-description{font-size:var(--fz-m);padding:.25em .375em .5em;line-height:var(--ff-heading-lh);text-align:center;padding:0 var(--spacing-m) var(--spacing-m)}.checkbox-wrapper{display:flex;justify-content:center;flex-wrap:wrap;gap:2cap;margin:0 var(--spacing-m) var(--spacing-ml);font-family:var(--ff-medium)}.checkbox-wrapper label{padding:0 var(--spacing-m) 0 var(--spacing-s)}.checkboxes{display:inline-block;position:relative;z-index:1}.checkboxes:after{content:"";position:absolute;z-index:-1;inset:-.25lh auto auto -.75cap;width:calc(100% + 1.5cap);height:calc(100% + .5lh);border-radius:var(--radius-m);background-image:linear-gradient(var(--bkg-clr-shared),var(--secondary-100-shared))}.checkboxes:has(input:focus-visible):after{outline:var(--border-width-s) solid var(--accent-500);outline-offset:2px}.checkboxes:active:after{background-image:linear-gradient(var(--secondary-100-shared),var(--bkg-clr-shared))}.form-buttons-wrapper{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-l);margin-block-start:var(--spacing-ml)}.form-button{position:relative;border:none;background:transparent;padding:0;cursor:pointer;outline-offset:4px;transition:filter .6s cubic-bezier(.3,.7,.4,1);-webkit-user-select:none;user-select:none;touch-action:manipulation}.form-button .shadow{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:var(--radius-m);background:hsl(var(--shadow-color) / .28);will-change:transform;transform:translateY(2px);transition:transform .54s cubic-bezier(.3,.7,.4,1)}.form-button .edge{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:var(--radius-m);background:linear-gradient(to left,var(--form-button-edge-1) 0%,var(--form-button-edge-2) 8%,var(--form-button-edge-3) 92%,var(--form-button-edge-4) 100%)}.form-button .front{display:block;position:relative;padding:12px 25px;border-radius:var(--radius-m);font-family:var(--ff-extra);font-size:var(--fz-m);background:var(--accent-302-shared);color:#fff;will-change:transform;transform:translateY(-4px);transition:transform .6s cubic-bezier(.3,.7,.4,1)}.form-button:hover{filter:brightness(107%)}.form-button:hover .front,.form-button:focus-visible .front{transform:translateY(-6px);transition:transform .25s cubic-bezier(.3,.7,.4,1.5)}.form-button:active .front{transform:translateY(-2px);transition:transform 36ms}.form-button:hover .shadow,.form-button:focus .shadow{transform:translateY(4px);transition:transform .25s cubic-bezier(.3,.7,.4,1.5)}.form-button:active .shadow{transform:translateY(1px);transition:transform 36ms}.form-button:focus:not(:focus-visible){outline:none}.form-button[disabled]{filter:grayscale(55%)}.contact-aside{position:sticky;inset:auto auto 9dvh;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-ms)}.map-embed-wrapper{height:fit-content;width:fit-content;padding:1px;outline:var(--border-width-m) solid var(--accent-301-shared);outline-offset:-1px;border-radius:var(--radius-s);box-shadow:var(--shadow-3)}.where-para,.clear-para{text-align:center}.where-para{font-size:var(--fz-l);font-family:var(--ff-italics)}.clear-para{font-size:var(--fz-ml)}.map-embed{height:350px;width:300px;filter:var(--calendar-brightness)}.loader{display:none;opacity:0;max-width:50%;height:5px;flex:1 0 0%;--c: no-repeat linear-gradient(var(--accent-500) 0 0);background:var(--c),var(--c),var(--secondary-200);background-size:60% 100%;transition:opacity .17s;animation:loader-fill 3.3s infinite}.loader.dev{margin-inline-start:var(--spacing-m)}.loader.shown{display:inline-block;opacity:1}@starting-style{.loader.shown{opacity:0}}.loader.failed{background:#d22d2d}.form-modal{position:fixed;z-index:50;inset:auto auto 10dvh 3.5vw;max-width:33ch;padding:var(--spacing-ml);color:var(--text-900) hsl(49,33%,10%);font-size:var(--fz-m);text-align:center;background-color:var(--secondary-150);border-color:var(--primary-500);border-radius:var(--radius-m);box-shadow:var(--shadow-4);translate:-35vw 0;opacity:0;transition:translate var(--trs-l),opacity var(--trs-l)}.form-modal button{position:absolute;inset:0 0 auto auto;border:none;border-radius:var(--radius-m);outline:var(--border-width-s) solid var(--primary-500);box-shadow:var(--inner-shadow-1)}.form-modal p{margin-block-start:var(--spacing-ms)}.form-modal[open]{translate:0 0;opacity:1}@starting-style{.form-modal[open]{opacity:0;translate:-35vw 0}}.form-modal.failed{border-color:#d22d2d}.form-modal.failed button{outline-color:#d22d2d}.contact-form-modal{--modal-opacity: 1;--modal-translate: 0 0;position:fixed;inset:0;margin:auto;max-width:90vw;max-height:90dvh;padding:var(--spacing-ml);border:var(--border-width-m) solid var(--secondary-300);border-radius:var(--radius-l) 0 0 var(--radius-l);background-color:var(--secondary-100);box-shadow:0 3px 43px -17px hsl(var(--shadow-color));z-index:100;overflow:auto;opacity:var(--modal-opacity);translate:var(--modal-translate);transition:opacity var(--trs-m) .23s,translate var(--trs-l) .23s}.contact-form-modal[open]{opacity:var(--modal-opacity);translate:var(--modal-translate)}@starting-style{.contact-form-modal[open]{opacity:0;translation:0 2.25rem}}.contact-form-modal::backdrop{background:#1a1a1a4d;-webkit-backdrop-filter:blur(.7px) saturate(.39);backdrop-filter:blur(.7px) saturate(.39);transition:backdrop-filter var(--trs-l) .35s,opacity var(--trs-l);opacity:var(--modal-opacity)}@starting-style{.contact-form-modal::backdrop{opacity:0;-webkit-backdrop-filter:blur(0px) saturate(1);backdrop-filter:blur(0px) saturate(1)}}#close-dev-modal-button{position:absolute;inset:var(--spacing-s) var(--spacing-s) auto auto;border:none;border-radius:var(--radius-m) 0 var(--radius-m) var(--radius-m);outline:var(--border-width-m) solid var(--secondary-300);box-shadow:var(--inner-shadow-1);font-size:var(--fz-l);line-height:1;background-color:var(--secondary-100)}#dev-contact-form{max-width:58ch;border-radius:var(--radius-m);margin:auto;padding:0;border:none;background-color:transparent;box-shadow:none}.dev-notice-para{margin-block:var(--spacing-xl) var(--spacing-ms);font-family:var(--ff-extra);font-size:var(--fz-ml);text-align:center;opacity:.83}.dev-notice-para a{font-family:var(--ff-extra-bold);text-decoration:underline;text-decoration-color:var(--accent-301-shared);transition:text-decoration-color var(--trs-s)}.dev-notice-para a:hover{text-decoration-color:var(--accent-500)}.dev-form-hr{width:94%;margin-block-end:var(--spacing-ml);border-color:var(--secondary-300)}.contact-important-fieldset label[for=dev-name]:after,.contact-important-fieldset label[for=dev-email]:after,.contact-important-fieldset label[for=dev-message]:after{content:"*";vertical-align:middle;padding-inline-start:1ex;font-size:var(--fz-l);color:var(--primary-601-shared)}#dev-submit-button{margin-inline-start:auto}.dev-contact{width:fit-content;margin:0 1cap var(--spacing-xl) auto;padding-block:calc(var(--spacing-l) - 12px) var(--spacing-xl);padding-inline:var(--spacing-m);font-size:var(--fz-ml);text-align:right;opacity:.88}.dev-contact a{font-family:var(--ff-extra);font-size:var(--fz-m);text-decoration:underline;text-decoration-color:var(--accent-301-shared);transition:text-decoration-color var(--trs-s)}.dev-contact a:hover{text-decoration-color:var(--accent-500)}@media screen and (max-width: 1000px){.form-buttons-wrapper{justify-content:center}.contact-main{grid-template-columns:1fr;margin:var(--spacing-l) 0;padding:var(--spacing-m)}.contact-aside{position:static;inset:unset}}@media only screen and (min-height: 900px){.contact-form-modal{border-radius:var(--radius-l)}#close-dev-modal-button{inset:0 0 auto auto;border-radius:var(--radius-m);outline:var(--border-width-m) solid var(--secondary-300)}.dev-notice-para{margin-block:var(--spacing-l) var(--spacing-ms)}}@media screen and (max-width: 700px){:is(.contact-important-fieldset,.contact-extra-fieldset) label{font-size:var(--fz-s)}:is(.contact-important-fieldset,.contact-extra-fieldset) :is(input,textarea,select){font-size:var(--fz-ms)}.checkboxes-description{font-size:var(--fz-ms)}.clear-para{font-size:var(--fz-m)}.dev-contact{font-size:var(--fz-m)}.dev-contact a{font-size:var(--fz-ms)}}@media screen and (max-width: 500px){.dev-contact{width:fit-content;margin:0 1cap var(--spacing-xxl) auto}#close-dev-modal-button{inset:var(--spacing-s) calc(var(--spacing-s) + 4px) auto auto}.form-button .front{font-size:var(--fz-s)}.dev-notice-para{margin-block:var(--spacing-l) var(--spacing-ms);font-size:var(--fz-m)}.contact-important-fieldset label[for=name]:after,.contact-important-fieldset label[for=message]:after,.contact-important-fieldset label[for=phone]:after,.contact-important-fieldset label[for=email]:after,.contact-important-fieldset label[for=dev-name]:after,.contact-important-fieldset label[for=dev-email]:after,.contact-important-fieldset label[for=dev-message]:after{font-size:var(--fz-ml)}}@media only screen and (max-width: 350px){.where-para{font-size:var(--fz-mll)}.clear-para{font-size:var(--fz-ms)}.dev-contact{font-size:var(--fz-ms)}.dev-contact a{font-size:var(--fz-s)}}@keyframes loader-fill{0%{background-position:-150% 0,-150% 0}66%{background-position:250% 0,-150% 0}to{background-position:250% 0,250% 0}}
