.ihp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.ihp-form label { display: block; font-weight: 600; margin-bottom: .35rem; }
.ihp-form label span { font-weight: 400; opacity: .7; }
.ihp-form input[type=text], .ihp-form textarea, .ihp-form select {
	width: 100%; box-sizing: border-box; font: inherit; padding: .65rem .8rem;
	border: 2px solid var(--wp--preset--color--ink, #111); border-radius: 0; background: #fff; color: #111;
}
.ihp-form textarea { resize: vertical; }
.ihp-form input:focus, .ihp-form textarea:focus, .ihp-form select:focus { outline: 3px solid var(--wp--preset--color--signal, #C4361B); outline-offset: 1px; }
.ihp-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .ihp-form__row { grid-template-columns: 1fr; } }
.ihp-form__consent label { font-weight: 400; display: flex; gap: .6rem; align-items: flex-start; }
.ihp-form__consent input { margin-top: .3rem; flex: none; }
.ihp-form__msg { font-weight: 600; min-height: 1.5em; }
.ihp-form.is-done button { display: none; }
.ihp-pledge { border: 3px solid var(--wp--preset--color--ink, #111); padding: 1.5rem; background: var(--wp--preset--color--label, #F3F1EC); max-width: 40rem; }
.ihp-pledge__count { font-size: 1.4rem; margin: 0 0 .25rem; }
.ihp-pledge__count strong { font-size: 3rem; line-height: 1; color: var(--wp--preset--color--signal, #C4361B); display: block; font-stretch: 70%; font-weight: 900; }
.ihp-pledge__names { font-family: var(--wp--preset--font-family--plex-mono, monospace); font-size: .85rem; margin-top: 0; overflow-wrap: anywhere; }
.ihp-form__pledge { font-weight: 700; font-size: 1.15rem; }
.ihp-pledge__by { font-family: var(--wp--preset--font-family--plex-mono, monospace); font-size: .85rem; margin: 0 0 .25rem; }
.ihp-pledge__by:empty { display: none; }
.ihp-pledge__asks { border: 0; padding: 0; margin: 0 0 1rem; display: grid; gap: .4rem; }
.ihp-pledge__asks legend { padding: 0; margin-bottom: .6rem; }
.ihp-pledge__asks label { display: flex; gap: .6rem; align-items: flex-start; min-height: 44px; align-items: center; }
.ihp-pledge__asks input { width: 1.25rem; height: 1.25rem; flex: none; accent-color: var(--wp--preset--color--signal, #C4361B); }
.ihp-stories { columns: 2 20rem; column-gap: 2rem; }
.ihp-story { break-inside: avoid; margin: 0 0 2rem; border-top: 4px solid var(--wp--preset--color--signal, #C4361B); padding-top: .75rem; }
.ihp-story__where { font-family: var(--wp--preset--font-family--plex-mono, monospace); font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; margin: 0 0 .5rem; }
.ihp-story blockquote { margin: 0; padding: 0; border: 0; }
.ihp-story blockquote p { font-size: 1.15rem; line-height: 1.5; margin: 0 0 .75em; font-style: normal; }
.ihp-story figcaption { font-weight: 700; margin-top: .5rem; }
.ihp-story figcaption::before { content: "— "; }

.ihp-pledge-strip { font-size: 1.1rem; margin: 1.25rem 0 0; }
.ihp-pledge-strip strong { color: var(--wp--preset--color--signal-light, #FF8A6E); font-size: 1.6rem; font-weight: 900; font-stretch: 70%; }
.ihp-stories-teaser { margin-block: 3rem; }

/* Letter builder */
.ihp-letters fieldset { border: 0; padding: 0; margin: 0 0 1.5rem; }
.ihp-letters legend { font-weight: 900; font-stretch: 75%; text-transform: uppercase; font-size: 1.25rem; margin-bottom: .6rem; }
.ihp-letters__choices { display: grid; gap: .35rem; }
.ihp-letters__choices--grid { grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
.ihp-letters__choices label { font-weight: 400 !important; display: flex !important; gap: .55rem; align-items: flex-start; min-height: 36px; }
.ihp-letters__choices input { margin-top: .3rem; flex: none; width: 1.1rem; height: 1.1rem; accent-color: var(--wp--preset--color--signal, #C4361B); }
.ihp-letters__result { border: 3px solid var(--wp--preset--color--ink, #111); background: var(--wp--preset--color--label, #F3F1EC); padding: 1.25rem; }
.ihp-letters__label { font-family: var(--wp--preset--font-family--plex-mono, monospace); font-size: .85rem; margin: 0 0 .5rem; overflow-wrap: anywhere; }
.ihp-letters__label span { opacity: .7; }
.ihp-letters__out { width: 100%; box-sizing: border-box; font: 1rem/1.5 var(--wp--preset--font-family--plex-mono, monospace); padding: .9rem; border: 2px solid #111; background: #fff; resize: vertical; }
.ihp-letters__actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 .25rem; }
.ihp-letters__actions .is-secondary { background: #fff; color: #111; box-shadow: inset 0 0 0 2px #111; }
.ihp-letters__actions .is-secondary:hover, .ihp-letters__actions .is-secondary:focus-visible { background: #111; color: #fff; }
.ihp-letters__privacy { font-size: .85rem; margin: .5rem 0 0; }
@media print {
	body.ihp-printing-letter * { visibility: hidden !important; }
	body.ihp-printing-letter .ihp-letters__out, body.ihp-printing-letter .ihp-letters__out * { visibility: visible !important; }
	body.ihp-printing-letter .ihp-letters__out { position: absolute; left: 0; top: 0; width: 100%; height: auto; border: 0; font: 12pt/1.5 Georgia, serif; overflow: visible; }
}
