/* Update 14 (Oct 4, 2026) — the Contact form as a full-screen note to fill in (design III). Loaded after update13.css. */
.cdlg { position: fixed; inset: 0; z-index: 90; background: var(--paper); color: var(--ink); overflow-y: auto; -webkit-overflow-scrolling: touch; animation: fade .9s var(--ease) both; }
.cdlg-in { min-height: 100%; max-width: var(--max); margin: 0 auto; box-sizing: border-box; display: flex; flex-direction: column;
  padding: calc(clamp(18px, 3vw, 40px) + env(safe-area-inset-top, 0px)) var(--gutter) calc(clamp(28px, 4vw, 48px) + env(safe-area-inset-bottom, 0px)); }
.cdlg-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.cdlg .mark { gap: 18px; }
.cdlg .mark .n { font-size: clamp(26px, 2.6vw, 34px); font-variation-settings: "opsz" 96; }
.cdlg .mark .p { font-size: 12px; letter-spacing: .32em; text-transform: uppercase; opacity: .85; }
.cdlg-x { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; }

.cdlg-form { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: clamp(22px, 4vh, 40px); max-width: 1080px; padding-block: clamp(28px, 5vh, 56px); }
.cdlg-k { margin: 0; font-size: 12px; font-weight: 400; letter-spacing: .28em; text-transform: uppercase; color: var(--mute); }
.cdlg-letter { margin: 0; font-family: var(--display); font-size: clamp(26px, 3.4vw, 44px); line-height: 1.75; font-variation-settings: "opsz" 48; }
.cdlg-letter input, .cdlg-letter select {
  font: inherit; font-style: italic; font-size: .92em; line-height: 1.2; color: var(--ink); background: none;
  border: 0; border-bottom: 1px solid var(--frame); border-radius: 0; padding: 0 4px; margin: 0; max-width: 100%; vertical-align: baseline; }
.cdlg-letter input::placeholder { color: #85847f; opacity: 1; }
.cdlg-letter input:focus, .cdlg-letter select:focus, .cdlg-more textarea:focus { outline: none; border-bottom: 2px solid var(--ink); }
.cdlg-letter select { -webkit-appearance: none; appearance: none; padding-right: 1.1em; cursor: pointer;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%231c1c1b' stroke-width='1.2'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right .1em center / .5em auto; }
.cdlg-letter [name="name"] { width: 7.4em; }
.cdlg-letter [name="company"] { width: 6.4em; }
.cdlg-letter [name="when"] { width: 7.4em; }
.cdlg-letter .nw { white-space: nowrap; }
.cdlg-letter select { field-sizing: content; }
.cdlg-letter [name="email"] { width: 10.5em; }
.cdlg-more { display: flex; flex-direction: column; gap: 8px; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--mute); }
.cdlg-more textarea { font-family: var(--display); font-size: clamp(18px, 1.8vw, 22px); letter-spacing: 0; text-transform: none; color: var(--ink);
  background: none; border: 0; border-bottom: 1px solid var(--frame); border-radius: 0; padding: 4px 0; resize: vertical; min-height: 2.8em; }
.cdlg-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cdlg-msg { margin: 0; min-height: 1.5em; font-size: 15px; color: #8a2b1d; }
.cdlg-msg a { text-decoration: underline; text-underline-offset: 4px; }
.cdlg-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px 32px; flex-wrap: wrap; }
.cdlg-alt { font-size: 13px; color: var(--mute); }
.cdlg-alt a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; }
.cdlg-send {
  display: inline-flex; align-items: center; gap: clamp(14px, 1.6vw, 22px); min-height: 44px; padding-bottom: 12px;
  border-bottom: 1px solid var(--frame); font-family: var(--display); font-style: italic; font-size: clamp(28px, 3.2vw, 44px); line-height: 1; color: var(--ink);
  font-variation-settings: "opsz" 48; white-space: nowrap; transition: gap 1.2s var(--ease), opacity .6s; }
.cdlg-send::after {
  content: ""; flex: none; width: clamp(56px, 6.5vw, 96px); aspect-ratio: 4 / 1; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 24' fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M0 12h93M83 3l10 9-10 9'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 24' fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M0 12h93M83 3l10 9-10 9'/%3E%3C/svg%3E") no-repeat center / 100% 100%; }
.cdlg-send:hover, .cdlg-send:focus-visible { gap: clamp(24px, 2.6vw, 36px); }
.cdlg-send[disabled] { opacity: .5; cursor: default; }

.cdlg-done { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 26px; max-width: 900px; outline: none; }
.cdlg-done h2 { margin: 0; font-family: var(--display); font-weight: 400; font-size: clamp(54px, 9vw, 140px); line-height: .95; letter-spacing: -.02em; font-variation-settings: "opsz" 96; }
.cdlg-done p { margin: 0 0 12px; font-family: var(--display); font-size: clamp(22px, 2.2vw, 30px); line-height: 1.4; }

@media (max-width: 760px) {
  .cdlg .mark .p { display: none; }
  .cdlg-letter { line-height: 1.95; }
  .cdlg-letter [name="email"] { width: calc(100% - .5em); }
  .cdlg-letter .nw:has([name="email"]) { display: inline-block; width: 100%; }
  .cdlg-letter [name="name"], .cdlg-letter [name="company"] { width: 8em; }
  .cdlg-foot { flex-direction: column-reverse; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .cdlg { animation: none; }
  .cdlg-send { transition: none; }
}
