/*
 * Speak with an Expert page (Danny's mockup, 2026-09-18).
 * Tokens: the industry stylesheet's --ind-* (live colours and type now, the
 * rebrand behind .tfp-rebrand). Navy by default; html[data-theme="light"] is
 * the grey / yellow version. Radius 4px, no shadows, no gradients.
 * Breakpoints: one column under 900px (copy, then the form), two above.
 */

.speak-hero, .speak-proof, .speak-next, .speak-band {
	--spk-ink: var(--ind-ink, #0D3556);
	--spk-ink-raise: #15426A;
	--spk-band: #1F4E79;
	--spk-line: rgba(255, 255, 255, .16);
	--spk-yellow: var(--ind-yellow, #FAC410);
	--spk-blue: var(--ind-blue, #005B97);
	--spk-text: var(--ind-text, #2B3440);
	--spk-muted: #5F6B78;
	--spk-n50: #F3F4F6; --spk-n100: #E7E9ED;
	/* full-bleed out of the content column */
	width: 100vw; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
	box-sizing: border-box;
}
.speak-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
@media (min-width: 1024px) { .speak-wrap { padding: 0 40px; } }

/* ---- hero: copy | form card ------------------------------------------- */
.speak-hero { background: var(--spk-ink); color: #fff; padding: clamp(2.5rem, 6vw, 5.5rem) 0 clamp(3rem, 6vw, 5.5rem); }
.speak-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; align-items: start; }
@media (min-width: 900px) { .speak-hero__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2.5rem, 5vw, 4.5rem); } }

.speak-crumb { margin: 0 0 1.5rem; font-size: 12px; line-height: 18px; letter-spacing: .08em; text-transform: uppercase; color: var(--spk-yellow); }
.speak-crumb a { color: inherit !important; text-decoration: none !important; }
.speak-crumb a:hover { text-decoration: underline !important; }
.speak-crumb .breadcrumb_last { color: inherit; font-weight: 400; }

.speak-hero__title { margin: 0 0 1.5rem; color: #fff; font-size: clamp(34px, 3.6vw, 50px); line-height: 1.08; letter-spacing: -.02em; text-wrap: balance; }
.speak-hero__lead { margin: 0 0 2rem; max-width: 46ch; font-size: clamp(17px, 1.3vw, 19px); line-height: 1.6; color: rgba(255, 255, 255, .82); }

.speak-benefits { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5rem; }
.speak-benefit { margin: 0; padding: 2px 0 2px 18px; border-left: 2px solid var(--spk-yellow); }
.speak-benefit::before { content: none; }
.speak-benefit__title { margin: 0 0 .35rem; color: #fff; font-size: 17px; line-height: 1.3; font-weight: 700; letter-spacing: 0; }
.speak-benefit__copy { margin: 0; max-width: 48ch; font-size: 14.5px; line-height: 1.6; color: rgba(255, 255, 255, .74); }

.speak-talk { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--spk-line); }
.speak-talk__label { margin: 0 0 .5rem; font-size: 14px; line-height: 20px; color: rgba(255, 255, 255, .74); }
.speak-talk__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 2rem; font-size: 14px; line-height: 22px; letter-spacing: .04em; text-transform: uppercase; }
.speak-talk__list li { margin: 0; padding: 0; }
.speak-talk__list li::before { content: none; }
.speak-talk__list a { color: var(--spk-yellow); font-weight: 700; }
.speak-talk__list a:hover,
.speak-talk__list a:focus-visible { color: #fff; text-decoration: underline; }

.speak-card { background: #fff; color: var(--spk-text); border: 1px solid var(--spk-n100); border-radius: 4px; padding: clamp(1.5rem, 3vw, 2.5rem); }
.speak-card__title { margin: 0 0 .5rem; font-size: 22px; line-height: 1.25; color: #0B1E32; letter-spacing: -.01em; }
.speak-card__intro { margin: 0 0 1.5rem; font-size: 14.5px; line-height: 1.6; color: var(--spk-muted); }
.speak-card__note { margin: 1rem 0 0; font-size: 12.5px; line-height: 1.55; text-align: center; color: var(--spk-muted); }
.speak-card .gform_wrapper { margin: 0; }
body .speak-card .gform_wrapper.gravity-theme[class][class][class][class] .gfield_label { color: #0B1E32; }
body .speak-card .gform_wrapper.gravity-theme[class][class][class][class] .gform_footer .gform_button.button { width: 100%; }
.speak-card .gform_confirmation_message { padding: 1rem 0; }

/* ---- proof ------------------------------------------------------------ */
.speak-proof { background: var(--spk-ink-raise); color: #fff; padding: clamp(2rem, 4vw, 3.25rem) 0; border-top: 1px solid var(--spk-line); }
.speak-proof__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1.5rem; }
@media (min-width: 900px) { .speak-proof__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.speak-proof__item { margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; }
.speak-proof__item::before { content: none; }
.speak-proof__value { font-size: clamp(34px, 3.4vw, 46px); line-height: 1; font-weight: 700; letter-spacing: -.01em; color: var(--spk-yellow); font-variant-numeric: tabular-nums; }
.speak-proof__label { font-size: 12px; line-height: 18px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .8); }

/* ---- what happens next ------------------------------------------------ */
.speak-next { background: #fff; color: var(--spk-text); padding: clamp(3rem, 6vw, 5.5rem) 0; }
.speak-next__head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin-bottom: clamp(2rem, 4vw, 3.25rem); }
@media (min-width: 900px) { .speak-next__head { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 4rem; align-items: end; } }
.speak-eyebrow { margin: 0 0 .75rem; font-size: 12px; line-height: 18px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--spk-blue); }
.speak-next__heading { margin: 0; max-width: 20ch; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.15; letter-spacing: -.015em; color: #0B1E32; text-wrap: balance; }
.speak-next__note { margin: 0; font-size: 15px; line-height: 1.65; color: var(--spk-muted); }

.speak-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; counter-reset: none; }
@media (min-width: 900px) { .speak-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; } }
.speak-step { margin: 0; padding: 1.5rem 0 0; border-top: 2px solid var(--spk-yellow); }
.speak-step::before { content: none; }
.speak-step__num { display: block; margin-bottom: .75rem; font-size: 38px; line-height: 1; font-weight: 700; color: var(--spk-blue); font-variant-numeric: tabular-nums; }
.speak-step__title { margin: 0 0 .6rem; font-size: 20px; line-height: 1.3; color: #0B1E32; letter-spacing: -.005em; }
.speak-step__copy { margin: 0; font-size: 15px; line-height: 1.65; color: var(--spk-muted); }

/* ---- compliance band --------------------------------------------------- */
.speak-band { background: var(--spk-band); color: #fff; padding: clamp(3rem, 6vw, 5rem) 0; }
.speak-band__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; align-items: center; }
@media (min-width: 900px) { .speak-band__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 5rem; } }
.speak-eyebrow--band { color: var(--spk-yellow); }
.speak-band__heading { margin: 0; max-width: 18ch; color: #fff; font-size: clamp(28px, 2.8vw, 38px); line-height: 1.15; letter-spacing: -.015em; text-wrap: balance; }
.speak-band__copy { margin: 0 0 1rem; font-size: 16px; line-height: 1.7; color: rgba(255, 255, 255, .86); }
.speak-band__more { margin: 0; }
.speak-band__more a { color: var(--spk-yellow); font-weight: 700; font-size: 15px; }
.speak-band__more a:hover,
.speak-band__more a:focus-visible { color: #fff; text-decoration: underline; }

/* ---- light version (header toggle) ------------------------------------- */
html[data-theme="light"] .speak-hero { background: #E9EBEF; color: var(--spk-text); }
html[data-theme="light"] .speak-crumb { color: var(--spk-blue); }
html[data-theme="light"] .speak-hero__title,
html[data-theme="light"] .speak-benefit__title { color: #0B1E32; }
html[data-theme="light"] .speak-hero__lead,
html[data-theme="light"] .speak-benefit__copy,
html[data-theme="light"] .speak-talk__label { color: #4A5664; }
html[data-theme="light"] .speak-talk { border-top-color: #CFD5DC; }
html[data-theme="light"] .speak-talk__list a { color: var(--spk-blue); }
html[data-theme="light"] .speak-proof { background: var(--spk-n50); color: #0B1E32; border-top-color: var(--spk-n100); }
html[data-theme="light"] .speak-proof__value { color: #0B1E32; }
html[data-theme="light"] .speak-proof__label { color: #4A5664; }
html[data-theme="light"] .speak-band { background: var(--spk-yellow); color: #0B1E32; }
html[data-theme="light"] .speak-eyebrow--band,
html[data-theme="light"] .speak-band__heading,
html[data-theme="light"] .speak-band__more a { color: #0B1E32; }
html[data-theme="light"] .speak-band__copy { color: #24303C; }
