.contact-link{cursor:pointer;text-decoration:none}
.landing-footer{position:fixed;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:5;display:flex;align-items:center;justify-content:center;gap:24px;color:#e1e3e1;font:400 13px/1.4 "IBM Plex Sans",sans-serif;letter-spacing:.025em;text-shadow:0 1px 10px #000}
.landing-footer nav{display:flex;align-items:center;gap:24px}
.landing-footer a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:6px 0;color:inherit;text-decoration:none}
.landing-footer a:hover{color:#fff}
.landing-footer a:focus-visible{outline:2px solid #a0d9d3;outline-offset:4px}
.landing-copyright{font-size:12px;color:#acb3b0;white-space:nowrap}
.contact-link:focus-visible{outline:2px solid #a0d9d3;outline-offset:6px}
.footer-links{grid-column:2;grid-row:1;display:flex;gap:25px;align-items:center;font-size:12px}
.footer-links a{text-decoration:none}
.contact-dialog{--contact-line:#ffffff26;box-sizing:border-box;width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:36px;border:1px solid #ffffff35;border-radius:4px;background:#101415;color:#eeeee8;box-shadow:0 28px 120px #0009;font:400 16px/1.5 "IBM Plex Sans",Arial,sans-serif;overflow:auto;overscroll-behavior:contain;color-scheme:dark}
.contact-dialog *{box-sizing:border-box}
.contact-dialog::backdrop{background:#000b;backdrop-filter:blur(10px)}
.contact-dialog [hidden]{display:none!important}
.contact-dialog h2{font:400 44px/1.08 "IBM Plex Sans",Arial,sans-serif;letter-spacing:-.035em;margin:12px 0 14px}
.contact-dialog h2:focus{outline:none}
.contact-dialog p{color:#b7bdbc;margin:0 0 24px;font-size:15px;line-height:1.55}
.contact-dialog .contact-eyebrow{color:#a0d9d3;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin:0;padding-right:40px}
.contact-close{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:40px;height:40px;border:1px solid transparent;border-radius:2px;color:#cbd3cf;background:transparent;cursor:pointer;font-size:27px;font-weight:300;line-height:1}
.contact-close:hover{background:#ffffff0a;border-color:var(--contact-line)}
.contact-dialog :is(input,textarea,select,button,a):focus-visible{outline:2px solid #a0d9d3;outline-offset:3px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.contact-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.contact-field-wide{grid-column:1/-1}
.contact-field label{font-size:12px;color:#d4dbd7;letter-spacing:.015em}
.contact-field input,.contact-field select,.contact-field textarea{appearance:auto;width:100%;min-width:0;border:1px solid var(--contact-line);border-radius:2px;background:#0a0d0e;color:#eeeee8;padding:11px 12px;font:400 16px/1.4 "IBM Plex Sans",Arial,sans-serif}
.contact-field select{appearance:none;-webkit-appearance:none;padding-inline-end:44px;background-image:url("chevron-down.svg");background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px;cursor:pointer}
.contact-field textarea{resize:vertical;min-height:108px;max-height:250px}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#788380}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:#a0d9d3}
.contact-submit{display:block;width:100%;margin-top:22px;min-height:46px;padding:12px 16px;border:1px solid #a0d9d3;border-radius:2px;background:#a0d9d3;color:#10201f;font:500 14px/1.4 "IBM Plex Sans",Arial,sans-serif;cursor:pointer}
.contact-submit:hover{background:#b9e7e2}
.contact-submit:disabled{opacity:.65;cursor:wait}
.contact-dialog .contact-status{margin:16px 0 0;font-size:13px;color:#f1baa5}
.contact-dialog .contact-direct{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--contact-line);font-size:12px;color:#97a5a0}
.contact-direct a{color:#c7d4ce;text-underline-offset:4px}
.contact-success h3{font-size:26px;font-weight:400;letter-spacing:-.025em;margin:14px 0}
.contact-success p{margin-bottom:24px}
@media(forced-colors:active){.contact-field select{appearance:auto;-webkit-appearance:auto;background-image:none;padding-inline-end:12px}}
@media(max-width:700px){.footer-links{gap:20px}.landing-footer,.landing-footer nav{gap:20px}.contact-dialog{padding:28px 22px}.contact-dialog h2{font-size:36px}.contact-fields{grid-template-columns:1fr;gap:15px}.contact-field-wide{grid-column:auto}.contact-dialog p{font-size:14px}.contact-close{top:12px;right:12px}.contact-direct a{display:inline-block}}
