.idea-page { width: min(820px, calc(100% - 40px)); margin: 24px auto 72px; }
.idea-intro { position: relative; padding: 18px 240px 30px 0; }
.eyebrow { font-size: 12px; font-weight: 800; margin-bottom: 18px; }
.idea-intro h1 { font-size: 58px; line-height: 1.02; margin-bottom: 24px; font-weight: 900; }
.idea-intro h1 > span { color: #e5ad00; }
.idea-intro > p:not(.eyebrow) { font-size: 18px; margin-top: 12px; }
.idea-illustration { position: absolute; width: 230px; height: auto; right: -8px; top: 44px; transform: rotate(5deg); }
.form-note { color: var(--muted); font-size: 14px; margin: 22px 0; }
.idea-section { border-top: 2px solid var(--ink); }
.idea-section:last-of-type { border-bottom: 2px solid var(--ink); }
.idea-section > summary { display: flex; align-items: center; gap: 16px; min-height: 82px; padding: 18px 4px; cursor: pointer; list-style: none; font-size: 23px; font-weight: 700; }
.section-number { font-size: 14px; min-width: 30px; border-bottom: 3px solid var(--yellow); }
.section-toggle { margin-left: auto; font-size: 30px; font-weight: 400; }
.idea-section[open] .section-toggle { transform: rotate(45deg); }
.section-fields { padding: 8px 4px 36px; display: grid; gap: 28px; }
.field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.field-pair .idea-field { display: flex; flex-direction: column; }
.field-pair .idea-field > input { order: 1; }
.field-pair .field-help { order: 2; margin: 8px 0 0; }
.idea-field { min-width: 0; }
.idea-field > label, .idea-field > legend { font-weight: 700; display: block; margin-bottom: 10px; font-size: 17px; }
.idea-field small { font-size: 12px; font-weight: 400; color: var(--muted); }
.field-help { font-size: 14px; color: var(--muted); margin: -2px 0 12px; }
.idea-field > input, .idea-field > textarea, .idea-field > select { display: block; width: 100%; min-width: 0; min-height: 52px; border: 2px solid #333; border-radius: 5px 3px 6px 4px; background: #fff; color: var(--ink); padding: 12px 14px; font-size: 16px; line-height: 1.5; }
.idea-field > textarea { resize: vertical; }
.idea-field > select { padding-right: 32px; white-space: normal; }
.idea-field > :focus { border-color: #a97700; }
.choices { border: 0; }
.choices legend { padding: 0; }
.choice-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; row-gap: 4px; }
.choice-list > label { min-height: 44px; display: flex; align-items: flex-start; gap: 12px; padding: 9px 0; font-size: 16px; cursor: pointer; }
.choice-list input { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 2px; accent-color: #111; }
[data-when]:not([hidden]) { padding-left: 18px; border-left: 3px solid var(--yellow); }
.idea-finish { padding: 40px 0 12px; }
.idea-finish h2, .idea-result h2 { font-size: 27px; line-height: 1.25; margin-bottom: 12px; }
.idea-finish > p { max-width: 630px; }
.ink-button { min-height: 52px; border: 2px solid var(--ink); border-radius: 4px 7px 3px 6px; background: var(--yellow); color: var(--ink); font-size: 14px; font-weight: 800; padding: 14px 20px; display: inline-flex; justify-content: center; align-items: center; gap: 12px; cursor: pointer; text-align: center; }
.ink-button:hover { box-shadow: 3px 3px 0 var(--ink); }
.ink-button:disabled { opacity: .5; cursor: default; }
.idea-finish .ink-button { margin-top: 24px; }
.privacy-note { font-size: 13px; color: var(--muted); margin-top: 16px; }
.idea-result { border-top: 4px solid var(--yellow); padding: 24px 0; margin-top: 20px; }
.message-preview { margin: 20px 0; }
.message-preview summary { cursor: pointer; padding: 12px 0; }
.message-preview textarea { width: 100%; padding: 14px; border: 2px solid var(--ink); font-size: 16px; }
.result-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ink-button-secondary { background: #fff; }
.direct-contact { margin-top: 30px; font-size: 15px; }
.direct-contact a, .form-note a { text-decoration: underline; text-underline-offset: 4px; }
#copy-status { margin-top: 12px; font-size: 14px; }
@media (max-width: 600px) {
    .idea-page { margin-top: 12px; }
    .idea-intro { padding: 12px 0 18px; }
    .idea-intro h1 { font-size: 42px; padding-right: 90px; }
    .idea-intro > p:not(.eyebrow) { font-size: 17px; }
    .idea-illustration { width: 126px; right: -8px; top: 38px; }
    .field-pair, .choice-list { grid-template-columns: 1fr; }
    .idea-section > summary { font-size: 20px; gap: 12px; }
    .idea-finish .ink-button { width: 100%; }
    .result-actions > * { width: 100%; }
}
