.author-contact { grid-column:3; grid-row:1 / span 2; width:100%; min-width:0; align-self:center; }
.author-contact .closing-rocket { max-width:260px; margin-inline:auto; }
.author-contact-actions { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:12px; }
.author-contact .contact-cta {flex: 1; max-width: 212px;}

.contact-open { overflow:hidden; }

.contact-dialog[data-contact-entry]::backdrop {animation: contact-backdrop-arrive var(--motion-dialog) var(--ease-out);}
@keyframes contact-backdrop-arrive { from { opacity:0; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .contact-dialog[data-contact-entry]::backdrop {animation: contact-backdrop-arrive var(--motion-dialog) var(--ease-out);} }
body.motion-paused .contact-dialog[data-contact-entry]::backdrop { animation:none; }

.contact-intro {color: var(--muted); font-size: var(--type-control); line-height: 1.65; margin-bottom: var(--space-3);}
.contact-required {color:var(--muted); font-size:var(--type-caption); margin-bottom:var(--space-4);}
.contact-dialog #contact-title:focus {outline:none;}
.contact-dialog.ui-dialog {max-height:calc(100vh - 32px); max-height:calc(var(--contact-viewport-height,100dvh) - 32px);}
.contact-dialog.ui-dialog[data-contact-keyboard] {inset-block-start:var(--contact-viewport-top,0px); inset-block-end:auto; margin-block:16px;}
.contact-fields {display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6) var(--space-4);}
.contact-field {display: flex; flex-direction: column; min-width: 0; gap: var(--space-2);}
.contact-field-message { grid-column:1 / -1; }
.contact-field label {color: var(--paper); font-size: var(--type-control);}
.contact-field input,.contact-field textarea {width: 100%;}
.contact-field textarea { min-height:124px; resize:vertical; }

.contact-field small {font-size: var(--type-caption); line-height: 1.5; color: var(--muted);}

.contact-honey { display:none; }
.contact-submit {display: flex; width: 100%; justify-content: center; gap: 16px; margin-top: 24px;}
.contact-submit svg {width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: var(--icon-stroke);}

.contact-status {margin-top: 12px; color: var(--muted); font-size: var(--type-control); line-height: 1.65;}
.contact-status:empty { display:none; }
.contact-success { padding:8px 0; }
.contact-success h3 { font-size:24px; font-weight:400; letter-spacing:-.025em; line-height:1.4; }
.contact-success p {margin-top: 12px; font-size: var(--type-body); color: var(--muted);}
.contact-success:focus { outline:none; }
.contact-done {width:100%; margin-top:var(--space-6);}
.contact-delivery-note {font-size: var(--type-caption); color: var(--muted); line-height: 1.6; margin-top: 12px;}
@media (min-width:1001px) {
  .author-section,.author-section.author-has-photo { grid-template-columns:minmax(200px,280px) minmax(0,1fr) minmax(200px,260px); gap:24px 48px; }
}
@media (min-width:761px) and (max-width:1000px) {
  .author-section,.author-section.author-has-photo { grid-template-columns:minmax(180px,220px) minmax(0,1fr); gap:24px 32px; }
  .author-contact { grid-column:2; grid-row:3; max-width:260px; align-self:start; }
}
@media (max-width:760px) {
  .author-contact { grid-column:auto; grid-row:auto; max-width:260px; justify-self:start; }
}
@media (max-width:600px) {
  .contact-fields {grid-template-columns: 1fr; gap: var(--space-6) var(--space-4);}
  .contact-dialog.ui-dialog {inset-block-start:var(--contact-viewport-top,0px); inset-block-end:auto; margin-block:16px;}
}
@media (max-height:500px) {
  .contact-dialog.ui-dialog {inset-block-start:var(--contact-viewport-top,0px); inset-block-end:auto; margin-block:16px;}
}
