/* The contact form inside Amy's dialog. This file is ours, not hers: her
   stylesheets style the dialog itself (#email-dialog, .dialog-heading,
   .close-dialog, .primary-link, .form-error) and stay byte-identical to her
   export. Her rules key on her email-only form's ids, so these repeat them
   for our four fields: each label and box is her "Email address" label and
   #baseline-email input, and the button is hers. The last rule styles the
   company sentence under her footer. */
#email-dialog{max-height:calc(100dvh - 48px)}
/* Amy dropped her "GET TO WORK" kicker (2026-10-08), so the close button no
   longer gets a row of its own: it floats beside the heading's first line,
   and a longer heading wraps around it rather than running under it. Her
   heading is clamp(36px,4vw,49px). The top margin puts the ×'s centre on the
   centre of that line's capitals: within half a pixel at 36px and 49px (up
   to 900px and from 1225px wide), and within about 1.5px in between, where
   Chrome rounds the heading's baseline to whole pixels. The -6px bottom
   margin ends the float inside that first line, so the second line keeps
   its full width (without it, "your" sat alone in the confirmation on
   320px phones). If she resizes the heading, re-measure. */
#email-dialog .dialog-heading{float:right;margin:calc(clamp(36px,4vw,49px)*.53 - 23.8px) 0 -6px 20px}
.contact-form{margin-top:28px}
.contact-field{display:block;margin-top:20px}
.contact-field:first-child{margin-top:0}
.contact-field>span{display:block;font-size:14px;margin-bottom:9px}
.contact-field em{color:var(--muted);font-style:normal}
.contact-field input,.contact-field textarea{display:block;width:100%;background:transparent;color:var(--ink);border:1px solid var(--muted);border-radius:0;padding:14px;font:16px 'IBM Plex Sans',sans-serif}
.contact-field textarea{min-height:112px;line-height:1.45;resize:vertical}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}
/* The honeypot: api/contact.js drops any submission that fills it. */
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-form .form-error a{text-decoration:underline;text-underline-offset:3px}
.contact-form .primary-link{width:100%;justify-content:space-between;margin-top:18px;border-radius:6px}
.contact-form button:disabled{opacity:.65;cursor:wait}
#contact-sent-title:focus{outline:none}
/* The company sentence under her footer (scripts/amy-patches.mjs adds it
   after her </footer>). Her footer's text: the copyright's size and spacing,
   her footer colour. It sits 16px under her row, as her phone stack spaces
   its lines, by taking 14px back from her footer's 30px bottom padding; its
   own 30px keeps the page's end where her footer left it. */
.closing .footer-about{max-width:var(--editorial-width);margin:-14px auto 0;padding-bottom:30px;font-size:11px;letter-spacing:.01em;color:#c9bbb2}
