/* Think Tanks Connect: forms. Matches the original contact form exactly. */
.tt-contact-form { display: flex; flex-direction: column; gap: 1.5rem; }
.tt-input-group { display: flex; flex-direction: column; }
.tt-input-group label, .ttcn-label { font-family: "Menlo", Monaco, "Courier New", monospace; font-size: 0.85rem; color: #666666; margin-bottom: 0.5rem; }
.tt-input-group input,
.tt-input-group textarea,
.tt-input-group select,
.ttcn-newsletter input[type="email"] {
	width: 100%; padding: 0.8rem 0; background: transparent;
	border: none; border-bottom: 1px solid #D6D6D6; border-radius: 0;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.1rem; color: #111111; box-shadow: none;
}
.tt-input-group select { cursor: pointer; }
.tt-input-group input:focus,
.tt-input-group textarea:focus,
.tt-input-group select:focus,
.ttcn-newsletter input[type="email"]:focus { outline: none; border-bottom-color: #3A5F5F; }
.ttcn-form .tt-input-group [aria-invalid="true"], .ttcn-form.ttcn-newsletter [aria-invalid="true"] { border-bottom-color: #c73a2b; }
.tt-input-group textarea { min-height: 150px; resize: vertical; }
.ttcn-form button[type="submit"] {
	background: transparent; border: 1px solid #111111; border-radius: 0; color: #111111;
	padding: 1rem 2rem; font-family: "Menlo", Monaco, "Courier New", monospace;
	font-size: 0.9rem; cursor: pointer; width: fit-content; margin-top: 1rem;
	transition: background .15s ease, color .15s ease;
}
.ttcn-form button[type="submit"]:hover, .ttcn-form button[type="submit"]:focus-visible { background: #111111; color: #F8F8F6; }
.ttcn-form button[type="submit"]:focus-visible { outline: 2px solid #3A5F5F; outline-offset: 3px; }
.ttcn-form button[disabled] { opacity: .6; cursor: wait; }
.ttcn-check { display: flex; gap: .6rem; align-items: flex-start; font-size: .95rem; color: #111111; line-height: 1.4; cursor: pointer; }
.ttcn-check input { margin-top: .2rem; accent-color: #3A5F5F; width: 16px; height: 16px; flex: none; }
.ttcn-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.ttcn-ts:empty { display: none; }
.ttcn-response { padding: 15px 18px; font-size: 1rem; line-height: 1.5; }
.ttcn-response p { margin: 0; }
.ttcn-response ul { margin: 10px 0 0 20px; padding: 0; }
.ttcn-response.is-ok { background: #3A5F5F; color: #FFFFFF; }
.ttcn-response.is-err { background: #fff0f0; color: #a3271a; border: 1px solid #c73a2b; }
.ttcn-newsletter { display: flex; flex-direction: column; gap: .5rem; }
.ttcn-newsletter .ttcn-inline { display: flex; gap: 1rem; align-items: flex-end; }
.ttcn-newsletter .ttcn-inline input { flex: 1; }
.ttcn-newsletter button[type="submit"] { margin-top: 0; padding: .8rem 1.4rem; }
.ttcn-small { font-family: "Menlo", Monaco, "Courier New", monospace; font-size: .75rem; color: #666666; margin: 0; }
.ttcn-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ttcn-form input:focus, .ttcn-form textarea:focus, .ttcn-form select:focus { box-shadow: 0 1px 0 #3A5F5F; }
/* 1.5: which project the message is about ("About 006 TasteBot · Live") */
.ttcn-context { margin: 0; padding: .7rem .9rem; border: 1px solid #D6D6D6; border-left: 2px solid #3A5F5F; background: #FFFFFF; font-family: "Menlo", Monaco, "Courier New", monospace; font-size: .8rem; letter-spacing: .03em; color: #111111; text-transform: uppercase; line-height: 1.4; }
.ttcn-context[hidden] { display: none; }

/* 1.8.1: the Privacy Policy link under forms */
.ttcn-privacy-note { margin-top: -.5rem; }
.ttcn-form .ttcn-small a, .ttcn-privacy-note a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ttcn-form .ttcn-small a:hover, .ttcn-privacy-note a:hover { color: #3A5F5F; }
