.contact{--contact-column:47.5rem;--contact-card-bg:var(--brand-olive);--contact-on-card:var(--color-on-primary);--contact-on-card-large:var(--color-surface);--contact-radius:14px;--contact-card-shadow:0 1px 2px color-mix(in srgb, var(--color-rule) 12%, transparent), 0 18px 40px -16px color-mix(in srgb, var(--color-rule) 45%, transparent);--contact-field-bg:var(--color-surface);--contact-field-border:color-mix(in srgb, var(--color-rule) 45%, var(--color-surface));--contact-ring:var(--color-surface);--contact-submit-hover-bg:color-mix(in srgb, var(--brand-olive) 65%, var(--brand-cocoa))}.contact-intro{padding-block:calc(2.5rem + var(--overlay-offset,0px)) 2.25rem;background-color:var(--color-surface-alt);background-image:linear-gradient(color-mix(in srgb, var(--color-surface) 65%, transparent), color-mix(in srgb, var(--color-surface) 65%, transparent)), var(--contact-hero-image,none);border-top:2px solid var(--color-rule);border-bottom:2px solid var(--color-rule);background-position:30%;background-repeat:no-repeat;background-size:cover}.contact-intro-inner{max-width:var(--contact-column)}.contact-eyebrow{font-family:var(--font-ui);letter-spacing:.29em;text-transform:uppercase;color:var(--color-heading);margin:0 0 .75rem;font-size:.74rem;font-weight:600;line-height:1.3}.contact-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-heading);margin:0;font-size:clamp(2.75rem,11vw,4.25rem);font-weight:400;line-height:1.02}.contact-lede{max-width:34rem;color:var(--color-text);margin:.9rem 0 0;font-size:clamp(1.05rem,2.8vw,1.25rem);line-height:1.55}.contact-column{max-width:var(--contact-column);margin-inline:auto;padding-block:2.5rem 4rem}.contact-card{color:var(--contact-on-card);background:var(--contact-card-bg);border:2px solid var(--color-rule);border-radius:var(--contact-radius);box-shadow:var(--contact-card-shadow);padding:2rem 1.25rem 1.75rem}.contact-card-heading{font-family:var(--font-display);letter-spacing:-.01em;text-align:center;color:var(--contact-on-card-large);margin:0;font-size:clamp(2rem,7.5vw,2.6rem);font-weight:400;line-height:1.1}.contact-card-heading:after{content:"";background:var(--contact-on-card-large);border-radius:1px;width:56px;height:2px;margin:1rem auto 0;display:block}.contact-status{font-family:var(--font-ui);color:var(--color-text);background:var(--color-surface-alt);border-left:3px solid var(--color-accent-1);border-radius:6px;margin:0;padding:.85rem 1rem;font-size:.9rem;line-height:1.5}.contact-status:empty{display:none}.contact-status[data-state=success]{border-left-color:var(--color-primary)}.contact-status[data-state=error]{border-left-color:var(--color-accent-2)}.contact-gotcha{display:none}.contact-form{gap:1.35rem;margin-top:1.75rem;display:grid}.field{border:0;gap:.45rem;min-width:0;margin:0;padding:0;display:grid}.field label,.field legend{font-family:var(--font-ui);color:var(--contact-on-card);text-underline-offset:.35em;padding:0;font-size:.95rem;font-weight:600;text-decoration:underline 2px #0000}.field-req,.field-opt{font-weight:400}.field-hint{font-family:var(--font-ui);color:var(--contact-on-card);margin:0;font-size:.875rem;line-height:1.45}.field input:not([type=radio]),.field select,.field textarea{width:100%;min-height:48px;font-family:var(--font-ui);color:var(--color-text);background:var(--contact-field-bg);border:1px solid var(--contact-field-border);border-radius:8px;padding:.75rem .9rem;font-size:1rem}.field textarea{resize:vertical;min-height:8rem;line-height:1.5}.field input:not([type=radio]):hover,.field select:hover,.field textarea:hover{border-color:var(--color-rule);box-shadow:0 2px 6px -3px color-mix(in srgb, var(--color-rule) 40%, transparent)}.field input:not([type=radio]):focus,.field select:focus,.field textarea:focus{border-color:var(--color-rule);outline:2px solid var(--color-rule);outline-offset:0;box-shadow:0 0 0 5px color-mix(in srgb, var(--contact-ring) 60%, transparent)}.field input:not([type=radio])[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--color-accent-2);box-shadow:inset 0 0 0 1px var(--color-accent-2)}.field input:not([type=radio])[aria-invalid=true]:focus,.field select[aria-invalid=true]:focus,.field textarea[aria-invalid=true]:focus{box-shadow:inset 0 0 0 1px var(--color-accent-2), 0 0 0 5px color-mix(in srgb, var(--contact-ring) 60%, transparent)}.field-error{font-family:var(--font-ui);color:var(--color-text);background:var(--color-surface-alt);border-left:3px solid var(--color-accent-2);border-radius:6px;margin:0;padding:.45rem .75rem;font-size:.875rem;font-weight:600;line-height:1.4}.field-error[hidden]{display:none}.field:focus-within>label,.field-choice:focus-within>legend{text-decoration-color:var(--contact-on-card-large)}.field-choice legend{margin-bottom:.35rem}.choice-row{flex-wrap:wrap;gap:.25rem 2rem;display:flex}.field .choice{min-height:44px;color:var(--contact-on-card);cursor:pointer;align-items:center;gap:.6rem;font-weight:400;text-decoration:none;display:inline-flex}.choice input{width:1.25rem;height:1.25rem;accent-color:var(--color-rule);cursor:pointer;margin:0}.choice input:focus-visible{outline:3px solid var(--contact-ring);outline-offset:2px}.contact-submit{width:100%;min-height:52px;font-family:var(--font-ui);letter-spacing:.02em;color:var(--color-rule);background:var(--color-surface);cursor:pointer;border:0;border-radius:8px;margin-top:.25rem;padding:.85rem 2.5rem;font-size:1rem;font-weight:600}.contact-submit:not([aria-disabled=true]):hover{color:var(--color-surface);background:var(--contact-submit-hover-bg);box-shadow:0 6px 14px -8px color-mix(in srgb, var(--color-rule) 60%, transparent)}.contact-submit[aria-disabled=true]{opacity:.6;cursor:not-allowed}.contact-submit:focus-visible{outline:3px solid var(--contact-ring);outline-offset:3px}html.contact-modal-open{scrollbar-gutter:stable;overflow:hidden}.contact-modal{--contact-modal-bg:#fffcf5;text-align:center;width:min(30rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--brand-cocoa);background:var(--contact-modal-bg);border:2px solid var(--color-rule);border-radius:var(--contact-radius);box-shadow:0 24px 60px -20px color-mix(in srgb, var(--brand-cocoa) 55%, transparent);padding:2.5rem 1.75rem 2rem;overflow-y:auto}.contact-modal::backdrop{background:#382f2d99}.contact-modal-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--brand-cocoa);margin:0;font-size:clamp(2.25rem,8vw,2.75rem);font-weight:400;line-height:1.1}.contact-modal-accent{background:var(--color-primary);width:52px;height:4px;margin:.9rem auto 0;display:block}.contact-modal-text{font-family:var(--font-body);margin:1.1rem 0 0;font-size:1.15rem;line-height:1.55}.contact-modal-ok{cursor:pointer;margin-top:1.75rem}.contact-modal-ok:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.contact-notes{background:var(--color-surface);border:2px solid var(--color-rule);border-radius:var(--contact-radius);box-shadow:0 1px 2px color-mix(in srgb, var(--color-rule) 8%, transparent), 0 12px 28px -18px color-mix(in srgb, var(--color-rule) 35%, transparent);margin-top:2rem;padding:1.25rem 1.25rem 1.1rem}.contact-notes-heading{font-family:var(--font-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--color-heading);margin:0 0 .6rem;font-size:.74rem;font-weight:600}.contact-notes-list{color:var(--color-text);margin:0;padding-left:1.1rem;font-size:.92rem;line-height:1.5}.contact-notes-list li+li{margin-top:.4rem}@media (prefers-reduced-motion:no-preference){.field input:not([type=radio]),.field select,.field textarea,.field label,.field legend{transition:border-color .15s,box-shadow .15s,text-decoration-color .15s}.contact-submit{transition:background-color .18s,color .18s,box-shadow .18s}.contact-modal[open],.contact-modal[open]::backdrop{animation:.2s ease-out contact-modal-in}}@keyframes contact-modal-in{0%{opacity:0}}@media (width>=48rem){.contact-intro{padding-block:calc(3.25rem + var(--overlay-offset,0px)) 3rem}.contact-intro-inner{margin-inline:auto}.contact-column{padding-block:3.5rem 5rem}.contact-card{padding:2.75rem 2.25rem 2.25rem}.contact-notes{padding:1.4rem 2.25rem 1.25rem}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.25rem}.field:has(#cf-name),.field:has(#cf-requester),.field:has(#cf-service),.field:has(#cf-message),.field-choice,.contact-status,.contact-submit{grid-column:1/-1}.contact-submit{justify-self:center;width:auto;min-width:12rem}}@media (width>=64rem){.contact-intro{padding-block:calc(3.75rem + var(--overlay-offset,0px)) 3.5rem}.contact-column{padding-block:4rem 5.5rem}.contact-card{padding:3rem 2.75rem 2.5rem}.contact-notes{padding-inline:2.75rem}}
