html:has(#nd-contact-dialog[open]){overflow:hidden}
.nd-contact-dialog{box-sizing:border-box;width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:1px solid oklch(0.85 0.012 75);border-radius:22px;background:oklch(0.98 0.006 85);color:oklch(0.26 0.02 55);font-family:'Hanken Grotesk',system-ui,sans-serif;box-shadow:0 30px 90px oklch(0.2 0.02 55 / .3)}
.nd-contact-dialog::backdrop{background:oklch(0.2 0.02 55 / .62);backdrop-filter:blur(6px)}
.nd-contact-dialog *{box-sizing:border-box}
.nd-contact-dialog-inner{position:relative;padding:42px}
.nd-contact-close{position:absolute;right:20px;top:18px;width:38px;height:38px;display:grid;place-items:center;border:1px solid oklch(0.85 0.012 75);border-radius:50%;background:transparent;color:oklch(0.45 0.075 55);font-family:inherit;font-size:26px;line-height:1;cursor:pointer}
.nd-contact-eyebrow{margin:0 44px 14px 0;color:oklch(0.5 0.04 55);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.nd-contact-dialog h2{margin:0;max-width:18ch;font-size:clamp(30px,5vw,42px);font-weight:800;line-height:1.08;letter-spacing:-.035em}
.nd-contact-dot{color:oklch(0.6 0.085 52)}
.nd-contact-intro{max-width:52ch;margin:16px 0 28px;color:oklch(0.42 0.02 55);font-size:16px;line-height:1.55}
.nd-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.nd-contact-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:14px;font-weight:600}
.nd-contact-field small{display:inline;color:oklch(0.5 0.03 60);font-size:12px;font-weight:400}
.nd-contact-field input,.nd-contact-field textarea{width:100%;min-width:0;border:1px solid oklch(0.83 0.012 75);border-radius:10px;background:white;padding:12px 14px;color:oklch(0.26 0.02 55);font:400 16px 'Hanken Grotesk',system-ui,sans-serif;outline:none}
.nd-contact-field input::placeholder,.nd-contact-field textarea::placeholder{color:oklch(0.6 0.02 65)}
.nd-contact-field input:focus,.nd-contact-field textarea:focus{border-color:oklch(0.45 0.075 55);box-shadow:0 0 0 3px oklch(0.6 0.085 52 / .17)}
.nd-contact-field textarea{min-height:105px;resize:vertical}
.nd-contact-wide{grid-column:1/-1}
.nd-contact-note{margin:20px 0 0;color:oklch(0.5 0.03 60);font-size:12px;line-height:1.5}
.nd-contact-note a{text-decoration:underline;text-underline-offset:2px}
.nd-contact-submit{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;margin-top:24px;padding:15px 24px;border:0;border-radius:100px;background:oklch(0.45 0.075 55);color:oklch(0.98 0.006 85);font:600 16px 'Hanken Grotesk',system-ui,sans-serif;cursor:pointer;box-shadow:0 12px 30px -14px oklch(0.45 0.075 55 / .8)}
.nd-contact-submit:hover{background:oklch(0.36 0.07 55)}
.nd-contact-submit:disabled{opacity:.6;cursor:wait}
.nd-contact-submit:focus-visible,.nd-contact-close:focus-visible,.nd-contact-note a:focus-visible{outline:2px solid oklch(0.45 0.075 55);outline-offset:3px}
.nd-contact-status{margin:14px 0 0;color:oklch(0.45 0.15 30);font-size:14px;line-height:1.5}
.nd-contact-status:empty{display:none}
.nd-contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.nd-contact-success{text-align:center;padding:16px 0 4px}
.nd-contact-success[hidden]{display:none}
.nd-contact-success p{margin:0;color:oklch(0.42 0.02 55);font-size:17px;line-height:1.55}
.nd-contact-check{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 22px;border:1px solid oklch(0.6 0.085 52 / .4);border-radius:50%;background:oklch(0.6 0.085 52 / .12);color:oklch(0.45 0.075 55);font-size:29px}
@media(max-width:560px){.nd-contact-dialog-inner{padding:34px 22px 24px}.nd-contact-dialog{border-radius:18px}.nd-contact-grid{grid-template-columns:1fr;gap:16px}.nd-contact-intro{margin-bottom:24px}}
