.next-steps { list-style:none; counter-reset:step; display:grid; gap:1.25rem; padding:0; margin:2rem 0; max-width:850px; }
.next-steps li { counter-increment:step; display:flex; gap:1rem; align-items:flex-start; line-height:1.7; }
.next-steps li::before { content:counter(step, decimal-leading-zero); flex:0 0 2.7rem; width:2.7rem; height:2.7rem; display:grid; place-items:center; border:1.5px solid currentColor; border-radius:48% 55% 44% 51%; font-weight:700; transform:rotate(-5deg); }
.source-panel { background:#fffaf6; border:1px solid #d9bdc7; border-left:4px solid #60203b; border-radius:4px 20px 7px 15px; padding:1.5rem; margin:2rem 0; color:#482234; }
.source-panel h3 { margin-top:0; font-size:1.15rem; }
.source-panel li { margin:.6rem 0; }
.source-panel a { color:inherit; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.source-panel p,.document-date { font-size:.82rem; line-height:1.5; }
.download-formats,.draft-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; margin:1.2rem 0 .7rem; }
.format-link { display:inline-flex; align-items:center; justify-content:center; border:1px solid #60203b; border-radius:5px 10px 5px 8px; padding:.6rem .8rem; font:inherit; font-weight:600; background:#fffaf7; color:#60203b; text-decoration:none; cursor:pointer; }
.format-link:hover { background:#60203b; color:#fff; }
.message-draft { padding:1.5rem; background:#fffaf6; border:1px dashed #60203b; border-radius:12px; margin-top:1.5rem; }
.message-draft label { display:block; font-weight:700; margin-bottom:.75rem; }
.message-draft textarea { width:100%; background:white; color:#382532; }
.message-draft[hidden] { display:none; }
.copy-status { font-size:.9rem; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media (min-width:1001px) and (max-width:1250px) { .header-inner { gap:16px; } .site-header nav { gap:14px; font-size:14px; } .brand { gap:12px; font-size:14px; } .contact-button { min-width:0; padding-inline:18px; } }
@media (max-width:650px) { .filter-controls { grid-template-columns:1fr; } .message-draft { padding:1rem; } .draft-actions>* { width:100%; } .next-steps li { gap:.7rem; } .source-panel { padding:1rem; } }
@media print { .site-header,.site-footer,.journey-background,.section-flourish,.hero-team-link,.next-section-hint,.filter-controls,.hand-note,.button,.message-draft,.content-form,.skip-link { display:none!important; } .section,.page-hero { background:white!important; color:black!important; padding:1rem 0!important; } .container,.narrow { width:100%!important; max-width:none!important; } .source-panel { break-inside:avoid; } .hero-copy h1 { font-size:26pt!important; } }
.header-inner { gap:26px; }
.site-header nav { gap:22px; }
.site-header nav a { white-space:nowrap; }
.filter-controls { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; max-width:none; }
.filter-controls .field { margin:0; min-width:0; }
.hero-illustration { margin:0; width:100%; }
.hero-illustration img { width:100%; height:auto; max-height:440px; object-fit:contain; }
.hero-illustration figcaption { margin-top:12px; color:var(--wine); font:19px/1.5 var(--handwriting); text-align:center; transform:rotate(-2deg); }
.contact-form { max-width:920px; margin-top:32px; }
.contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:0; margin:0; border:0; min-width:0; }
.contact-fields .field { margin:0; min-width:0; }
.contact-fields .field-message { grid-column:1/-1; }
.contact-fields textarea { min-height:180px; resize:vertical; }
.form-recipient { display:flex; align-items:center; gap:12px; color:var(--wine); font-weight:600; margin-bottom:28px; }
.form-recipient .doodle { width:28px; height:28px; }
.contact-privacy { font-size:13px; line-height:1.6; margin:24px 0; }
.contact-privacy a { color:var(--wine); text-decoration:underline; }
.contact-delivery { font-size:13px; line-height:1.6; margin:16px 0; max-width:600px; }
.contact-fallback { margin-top:10px; font-size:14px; }
.contact-form .form-feedback { margin-top:20px; padding:16px; border-radius:10px; background:var(--lime); color:var(--wine-dark); }
.contact-form .form-feedback.is-error { background:var(--rose); }
.contact-form button:disabled { cursor:wait; opacity:.65; transform:none; }
.contact-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@media (max-width:650px) {
  .contact-fields { grid-template-columns:1fr; gap:20px; }
  .contact-form { padding:24px; }
  .form-recipient { align-items:flex-start; font-size:14px; }
  .hero-illustration img { max-height:320px; }
}
