/* ==========================================================================================
   Turnkey · Contact page (page 11, /contact/). Direction v2 "The Open House", restraint pass.
   Two bands on paper: a type-only title ("Let's talk.") and one band with the direct details as a
   ruled list (left) and Contact form 1 in a linen panel (right). Square corners everywhere.
   Everything is scoped to body.page-id-11 so nothing leaks to other pages.
   Built by tools/tk-build-contact.php.
   ========================================================================================== */

/* ── Title band ── */
body.page-id-11 .ct2-hero-type .ct2-ht { padding-top: clamp(40px, 6vw, 100px) !important; padding-bottom: clamp(56px, 6vw, 96px) !important; }
body.page-id-11 .ct2-hero-type .ct2-hero-title { font-size: clamp(64px, 8.4vw, 144px) !important; line-height: .92 !important; letter-spacing: -0.02em; margin: 0 !important; color: var(--tk-slate); }
body.page-id-11 .ct2-hero-type .ct2-hero-sentence { margin: clamp(20px, 2vw, 32px) 0 0 !important; max-width: 34em; font-size: clamp(17px, 1.35vw, 20px) !important; line-height: 1.6 !important; color: var(--tk-body) !important; }

body.page-id-11 .ct2-hero-type .ct2-hero-title em { line-height: inherit; vertical-align: baseline; }
/* no key ornament under the title (direction v2: no key ornament) */
body.page-id-11 .ct2-hero-type .ct2-hero-title::after { display: none !important; content: none !important; }

/* ── Photo title band: the key hand-off (shared photo band rules in screen.css) ── */
body.page-id-11 .ct2-hero-action .ct2-ha-img { object-position: 60% 40%; }

/* ── Two-column band ── */
body.page-id-11 .tk-contact .div-within-section > .relative { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(48px, 7vw, 128px); align-items: start; }
body.page-id-11 .tk-contact .div-within-section > .relative > .left,
body.page-id-11 .tk-contact .div-within-section > .relative > .right { float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
body.page-id-11 .tk-contact .push { display: none !important; }

/* Details: a ruled list */
body.page-id-11 .tk-contact .wysiwyg { margin: 0 !important; }
body.page-id-11 .tk-cd { border-top: 1px solid var(--tk-line); }
body.page-id-11 .tk-cd .tk-cd-row { display: flex; flex-direction: column; gap: 10px; margin: 0 !important; padding: 26px 0 !important; border-bottom: 1px solid var(--tk-line); font-size: 18px !important; line-height: 1.6 !important; color: var(--tk-body); }
body.page-id-11 .tk-cd .tk-cd-label { font-family: var(--tk-sans); font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--tk-muted); line-height: 1.2; }
body.page-id-11 .tk-cd a { color: var(--tk-slate) !important; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: rgba(43, 58, 74, .35); transition: text-decoration-color .2s ease; overflow-wrap: anywhere; }
body.page-id-11 .tk-cd a:hover { text-decoration-color: var(--tk-slate); }
body.page-id-11 .tk-cd a:focus-visible { outline: 2px solid var(--tk-slate); outline-offset: 4px; }
body.page-id-11 .tk-cd .tk-cd-phone { padding-top: 30px !important; }
body.page-id-11 .tk-cd .tk-cd-phone a { font-family: var(--tk-serif); font-weight: 300; font-size: clamp(44px, 4.2vw, 68px); line-height: 1; letter-spacing: -0.01em; text-decoration: none; font-variant-numeric: lining-nums; white-space: nowrap; }
body.page-id-11 .tk-cd .tk-cd-phone a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 8px; }
body.page-id-11 .tk-cd .tk-cd-note { font-size: 16px; line-height: 1.55; color: var(--tk-muted); max-width: 26em; }

/* ── The form panel ── */
body.page-id-11 #main-content .tk-contact .gform_wrapper { box-sizing: border-box; width: 100% !important; max-width: none !important; margin: 0 !important; padding: clamp(28px, 3.6vw, 56px) !important; background-color: var(--tk-linen) !important; background-image: var(--tk-grain) !important; background-size: 200px 200px !important; background-blend-mode: multiply; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
body.page-id-11 #main-content .tk-contact .gform_wrapper form, body.page-id-11 #main-content .tk-contact .gform_body { width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.page-id-11 #main-content .tk-contact .gform_heading { margin: 0 0 28px !important; padding: 0 !important; }
body.page-id-11 #main-content .tk-contact .gform_required_legend { margin: 0 !important; font-size: 13px !important; color: var(--tk-muted) !important; }
body.page-id-11 #main-content .tk-contact .gform_fields { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 28px !important; row-gap: 34px !important; margin: 0 !important; padding: 0 !important; width: 100% !important; }
body.page-id-11 #main-content .tk-contact .gfield { grid-column: span 1 !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; border: 0; min-width: 0; }
body.page-id-11 #main-content .tk-contact .gfield--type-name,
body.page-id-11 #main-content .tk-contact .gfield--type-radio,
body.page-id-11 #main-content .tk-contact .gfield--type-textarea,
body.page-id-11 #main-content .tk-contact .gfield--type-captcha { grid-column: 1 / -1 !important; }
body.page-id-11 #main-content .tk-contact .gform_validation_container { display: none !important; }
body.page-id-11 #main-content .tk-contact .ginput_container { width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.page-id-11 #main-content .tk-contact .ginput_complex { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; row-gap: 22px; margin: 0 !important; }
body.page-id-11 #main-content .tk-contact .ginput_complex > span { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; float: none !important; display: flex; flex-direction: column-reverse; }

/* Labels: small spaced caps */
body.page-id-11 #main-content .tk-contact .gfield_label,
body.page-id-11 #main-content .tk-contact legend.gfield_label { display: flex !important; align-items: baseline; gap: 4px; margin: 0 0 10px !important; padding: 0 !important; font-family: var(--tk-sans) !important; font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: .14em; text-transform: uppercase; color: var(--tk-slate) !important; line-height: 1.3 !important; }
body.page-id-11 #main-content .tk-contact .gfield_required { color: var(--tk-muted) !important; font-size: 13px !important; margin: 0 !important; padding: 0 !important; }
/* Sub-labels (First/Last) sit above their line, quietly */
body.page-id-11 #main-content .tk-contact .ginput_complex label { display: block; margin: 0 0 2px !important; padding: 0 !important; font-size: 12px !important; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; color: var(--tk-muted) !important; }

/* Fields: underline only */
body.page-id-11 #main-content .tk-contact input[type=text],
body.page-id-11 #main-content .tk-contact input[type=email],
body.page-id-11 #main-content .tk-contact input[type=tel],
body.page-id-11 #main-content .tk-contact textarea {
	box-sizing: border-box; width: 100% !important; max-width: none !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 12px 0 11px !important;
	background: transparent !important; border: 0 !important; border-bottom: 1px solid rgba(43, 58, 74, .4) !important; border-radius: 0 !important; box-shadow: none !important;
	font-family: var(--tk-sans) !important; font-size: 18px !important; line-height: 1.4 !important; color: var(--tk-slate) !important; transition: border-color .2s ease; -webkit-appearance: none; appearance: none; }
body.page-id-11 #main-content .tk-contact textarea { height: 128px !important; resize: vertical; }
body.page-id-11 #main-content .tk-contact input::placeholder, body.page-id-11 #main-content .tk-contact textarea::placeholder { color: rgba(43, 58, 74, .45) !important; opacity: 1; }
body.page-id-11 #main-content .tk-contact input[type=text]:hover, body.page-id-11 #main-content .tk-contact input[type=email]:hover, body.page-id-11 #main-content .tk-contact input[type=tel]:hover, body.page-id-11 #main-content .tk-contact textarea:hover { border-bottom-color: var(--tk-slate) !important; }
body.page-id-11 #main-content .tk-contact input[type=text]:focus, body.page-id-11 #main-content .tk-contact input[type=email]:focus, body.page-id-11 #main-content .tk-contact input[type=tel]:focus, body.page-id-11 #main-content .tk-contact textarea:focus { outline: none !important; border-bottom-color: var(--tk-slate) !important; box-shadow: 0 1px 0 0 var(--tk-slate) !important; }

/* "What can I help with?" as square tiles; the radios stay in the DOM (keyboard + screen readers) */
body.page-id-11 #main-content .tk-contact .tk-choices .gfield_radio { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px !important; margin: 6px 0 0 !important; padding: 0 !important; }
body.page-id-11 #main-content .tk-contact .tk-choices .gchoice { position: relative; display: block !important; margin: 0 !important; padding: 0 !important; width: auto !important; }
body.page-id-11 #main-content .tk-contact .tk-choices input[type=radio] { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; margin: 0 !important; opacity: 0; cursor: pointer; z-index: 2; -webkit-appearance: none; appearance: none; border: 0 !important; background: none !important; }
body.page-id-11 #main-content .tk-contact .tk-choices label { display: flex !important; align-items: center; gap: 12px; box-sizing: border-box; width: 100% !important; max-width: none !important; min-height: 56px; margin: 0 !important; padding: 12px 14px !important; border: 1px solid rgba(43, 58, 74, .3); border-radius: 0; background: transparent; font-family: var(--tk-sans) !important; font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; line-height: 1.25 !important; color: var(--tk-slate) !important; transition: border-color .2s ease, background-color .2s ease; }
body.page-id-11 #main-content .tk-contact .tk-choices label::before { content: ""; flex: 0 0 14px; width: 14px; height: 14px; box-sizing: border-box; border: 1.5px solid rgba(43, 58, 74, .6); transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
body.page-id-11 #main-content .tk-contact .tk-choices .gchoice:hover label { border-color: var(--tk-slate); }
body.page-id-11 #main-content .tk-contact .tk-choices input[type=radio]:checked + label { border-color: var(--tk-slate); background: var(--tk-warm); }
body.page-id-11 #main-content .tk-contact .tk-choices input[type=radio]:checked + label::before { border-color: var(--tk-slate); background: var(--tk-slate); box-shadow: inset 0 0 0 3px var(--tk-warm); }
body.page-id-11 #main-content .tk-contact .tk-choices input[type=radio]:focus-visible + label { outline: 2px solid var(--tk-slate); outline-offset: 3px; }

/* reCAPTCHA (v2 checkbox, its own iframe): left-aligned, no stray box, never wider than the panel */
body.page-id-11 #main-content .tk-contact .gfield--type-captcha .gfield_label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.page-id-11 #main-content .tk-contact .ginput_recaptcha { min-height: 78px; line-height: 0; }
body.page-id-11 #main-content .tk-contact .ginput_recaptcha > div { margin: 0 !important; }

/* Button inside the panel: ink with paper text, full width */
body.page-id-11 #main-content .tk-contact .gform_footer { display: block !important; margin: 36px 0 0 !important; padding: 0 !important; width: 100% !important; }
body.page-id-11 #main-content .tk-contact .gform_footer .gform_button { float: none !important; display: block !important; width: 100% !important; margin: 0 !important; padding: 20px 28px !important; height: auto !important; line-height: 1.2 !important; background: var(--tk-slate) !important; border: 1px solid var(--tk-slate) !important; border-radius: 0 !important; color: var(--tk-warm) !important; font-family: var(--tk-sans) !important; font-size: 14px !important; font-weight: 600 !important; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: background-color .2s ease; }
body.page-id-11 #main-content .tk-contact .gform_footer .gform_button:hover { background: var(--tk-slate-d) !important; border-color: var(--tk-slate-d) !important; color: var(--tk-warm) !important; }
body.page-id-11 #main-content .tk-contact .gform_footer .gform_button:focus-visible { outline: 2px solid var(--tk-slate) !important; outline-offset: 3px; }
body.page-id-11 #main-content .tk-contact .gform_ajax_spinner { margin: 12px 0 0; }

/* Validation: calm, readable, no pink boxes */
body.page-id-11 #main-content .tk-contact .gform_validation_errors { margin: 0 0 30px !important; padding: 14px 16px !important; background: transparent !important; border: 0 !important; border-left: 3px solid #a3341f !important; border-radius: 0 !important; box-shadow: none !important; }
body.page-id-11 #main-content .tk-contact .gform_validation_errors h2,
body.page-id-11 #main-content .tk-contact .gform_validation_errors * { font-family: var(--tk-sans) !important; font-size: 15px !important; font-weight: 500 !important; line-height: 1.5 !important; color: var(--tk-slate) !important; margin: 0 !important; }
body.page-id-11 #main-content .tk-contact .gform_validation_errors .gform-icon { display: none !important; }
body.page-id-11 #main-content .tk-contact .gfield_error { background: none !important; border: 0 !important; }
body.page-id-11 #main-content .tk-contact .gfield_error .gfield_label { color: #a3341f !important; }
body.page-id-11 #main-content .tk-contact .gfield_error input, body.page-id-11 #main-content .tk-contact .gfield_error textarea { border-bottom-color: #a3341f !important; }
body.page-id-11 #main-content .tk-contact .gfield_error .tk-choices label, body.page-id-11 #main-content .tk-contact .gfield_error.tk-choices label { border-color: #a3341f; }
body.page-id-11 #main-content .tk-contact .validation_message { display: block !important; margin: 8px 0 0 !important; padding: 0 !important; background: none !important; border: 0 !important; font-size: 14px !important; line-height: 1.4 !important; color: #a3341f !important; }

/* Confirmation */
body.page-id-11 #main-content .tk-contact .gform_confirmation_wrapper { box-sizing: border-box; padding: clamp(28px, 3.6vw, 56px); background-color: var(--tk-linen); background-image: var(--tk-grain); background-size: 200px 200px; background-blend-mode: multiply; }
body.page-id-11 #main-content .tk-contact .gform_confirmation_message { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; font-family: var(--tk-serif) !important; font-weight: 400; font-size: clamp(28px, 2.4vw, 36px) !important; line-height: 1.3 !important; color: var(--tk-slate) !important; }
body.page-id-11 #main-content .tk-contact .gform_confirmation_message p { font: inherit !important; color: inherit !important; margin: 0 !important; }

/* ── Tablet ── */
@media (max-width: 1100px) {
	body.page-id-11 .tk-contact .div-within-section > .relative { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); column-gap: 48px; }
}
@media (max-width: 860px) {
	body.page-id-11 .tk-contact .div-within-section > .relative { grid-template-columns: minmax(0, 1fr); row-gap: 56px; }
}
/* ── Phone ── */
@media (max-width: 600px) {
	body.page-id-11 .tk-contact .section { padding-bottom: 88px !important; }
	body.page-id-11 #main-content .tk-contact .gform_wrapper, body.page-id-11 #main-content .tk-contact .gform_confirmation_wrapper { padding: 24px !important; }
	body.page-id-11 #main-content .tk-contact .gform_fields { grid-template-columns: minmax(0, 1fr) !important; row-gap: 28px !important; }
	body.page-id-11 #main-content .tk-contact .gfield { grid-column: 1 / -1 !important; }
	body.page-id-11 #main-content .tk-contact .ginput_complex { grid-template-columns: minmax(0, 1fr); }
	body.page-id-11 .tk-cd .tk-cd-row { padding: 22px 0 !important; }
	body.page-id-11 #main-content .tk-contact .tk-choices .gfield_radio { gap: 8px !important; }
	body.page-id-11 #main-content .tk-contact .tk-choices label { gap: 10px; padding: 12px !important; white-space: nowrap; }
}
/* the 304px reCAPTCHA widget on the narrowest phones */
@media (max-width: 360px) {
	body.page-id-11 #main-content .tk-contact .ginput_recaptcha { transform: scale(.88); transform-origin: 0 0; }
}
@media (prefers-reduced-motion: reduce) {
	body.page-id-11 .tk-contact *, body.page-id-11 .tk-contact *::before { transition: none !important; }
}
