/* AI & DX consultation page */
.consultation-page { background: #f4f8f9; }
.consultation-shell { width: min(100% - 40px, 1080px); margin: 0 auto; }
.consultation-hero { padding: clamp(64px, 7vw, 88px) 0; background: linear-gradient(90deg, #1e1e1e 0%, #202020 100%); color: #fff; }
.consultation-hero__inner { position: relative; top: -8px; max-width: 760px; text-align: center; }
.consultation-kicker { margin: 0 0 16px; color: #245966; font-size: .72rem; font-weight: 700; letter-spacing: .16em; }
.consultation-hero .consultation-kicker, .consultation-section--dark .consultation-kicker { color: #8ce0d9; }
.consultation-hero h1, .consultation-section h2 { margin: 0; font-weight: 400; letter-spacing: .035em; line-height: 1.35; }
.consultation-hero h1 { font-size: clamp(2.65rem, 4.5vw, 4.1rem); }
.consultation-hero__mobile-break { display: none; }
.consultation-section__mobile-break { display: none; }
.consultation-for-you__compact-break { display: none; }
.consultation-results__compact-break { display: none; }
.consultation-faq__compact-line { display: inline; }
.consultation-keep-together { white-space: nowrap; }
.consultation-hero__inner > p:not(.consultation-kicker) { margin: 20px 0 0; color: rgba(255,255,255,.78); line-height: 1.9; }
.consultation-hero .ai-hero__button { margin-top: 24px; }
.consultation-section { padding: clamp(65px, 7.7vw, 99px) 0 clamp(76px, 9vw, 116px); background: #fff; }
.consultation-page #flow { background: #fff; color: #102a43; }
.consultation-page #faq { background: #fff; color: #102a43; }
.consultation-section--soft { background: #eaf2f5; }
.consultation-section--dark { background: #102a43; color: #fff; }
.consultation-section--pricing { background: #f1f6f8; color: #102a43; }
.consultation-section--contact { border-top: 1px solid #d3e1e6; background: #e3edf0; color: #102a43; text-align: center; }
.consultation-section--contact .consultation-kicker { color: #245966; }
.consultation-section h2 { max-width: 760px; margin-right: auto; margin-left: auto; color: #102a43; text-align: center; font-size: clamp(1.8rem, 3.5vw, 2.65rem); }
.consultation-section--dark h2 { color: #fff; }
.consultation-section--contact h2 { color: #102a43; }
.consultation-section > .consultation-shell > .consultation-kicker { text-align: center; }
.consultation-section--pricing .consultation-pricing .consultation-kicker { color: #245966; }
.consultation-section-lead { max-width: 720px; margin: 18px auto 0; color: #526d7c; text-align: center; line-height: 1.85; }
.consultation-audience { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 860px; margin: 44px auto 0; }
.consultation-audience article { padding: 30px; border: 1px solid #d3e1e6; background: rgba(255,255,255,.74); }
.consultation-audience h3, .consultation-topic-grid h3, .consultation-results h3, .consultation-flow h3 { margin: 0; color: #102a43; font-size: 1.08rem; font-weight: 500; }
.consultation-audience p, .consultation-topic-grid p, .consultation-results p, .consultation-flow p { margin: 12px 0 0; color: #30475f; line-height: 1.8; }
.consultation-topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 1080px; margin: 42px auto 0; }
.consultation-topic-grid article { padding: 28px; border: 1px solid #d3e1e6; background: #f8fcfd; }
.consultation-topic-grid > article > span, .consultation-results > article > span, .consultation-flow > article > span { display: block; margin-bottom: 18px; color: #2b7a82; font-size: .76rem; font-weight: 700; letter-spacing: .12em; }
.consultation-results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 44px; }
.consultation-results article { padding: 30px; border: 1px solid #e1e9ed; background: #fff; box-shadow: 0 2px 8px rgba(16,42,67,.025); }
.consultation-results h3 { color: #102a43; }
.consultation-results p { color: #30475f; }
.consultation-flow { max-width: 820px; margin: 42px auto 0; }
.consultation-flow article { display: grid; grid-template-columns: 54px 1fr; gap: 24px; padding: 26px 0; border-top: 1px solid #d3e1e6; }
.consultation-flow article:last-child { border-bottom: 1px solid #d3e1e6; }
.consultation-flow > article > span { margin: 3px 0 0; }
.consultation-flow-note { max-width: 820px; margin: 28px auto 0; color: #526d7c; text-align: center; font-size: .92rem; line-height: 1.8; }
.consultation-pricing { max-width: 700px; text-align: center; }
.consultation-pricing .consultation-kicker { text-align: center; }
.consultation-price { box-sizing: border-box; width: min(100%, 440px); margin: 34px auto 0; padding: 28px 18px; border: 1px solid #d3e1e6; background: #f8fcfd; color: #102a43; }
.consultation-price p { margin: 0; }
.consultation-price__title { font-size: 1.15rem; font-weight: 500; }
.consultation-price__format { margin-top: 8px !important; color: #526d7c; font-size: .92rem; }
.consultation-price strong { display: block; margin-top: 8px; font-size: clamp(1.45rem, 2.5vw, 1.85rem); font-weight: 400; letter-spacing: .03em; white-space: nowrap; }
.consultation-price__tax { font-size: calc(1em - 9px); }
.consultation-section--pricing .consultation-price { border-color: #d3e1e6; background: #fff; color: #102a43; }
.consultation-section--pricing .consultation-pricing > p { color: #526d7c; }
.consultation-faq { display: grid; max-width: 820px; margin: 42px auto 0; }
.consultation-faq details { border-top: 1px solid #d3e1e6; }
.consultation-faq details:last-child { border-bottom: 1px solid #d3e1e6; }
.consultation-faq summary { cursor: pointer; padding: 20px 0; color: #102a43; font-weight: 600; line-height: 1.7; }
.consultation-faq p { margin: 0; padding: 0 0 20px; color: #526d7c; line-height: 1.85; }
.consultation-contact > p:not(.consultation-kicker) { margin: 22px auto 0; color: #526d7c; line-height: 1.9; }
.consultation-contact .tk-button { margin-top: 30px; border-color: #222222; background: #222222; color: #fff; }
@media (hover: hover) and (pointer: fine) { .consultation-contact .tk-button:hover { border-color: #333333; background: #333333; color: #fff; transform: none; } }
@media (min-width: 760px) {
  .consultation-hero__inner { width: min(100%, 720px); margin: 0 auto; }
  #topics h2 { max-width: 920px; }
  #results h2 { max-width: 920px; }
}
@media (min-width: 760px) and (max-width: 919px) {
  .consultation-topic-grid, .consultation-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consultation-topic-grid article:last-child, .consultation-results article:last-child { grid-column: 1 / -1; width: calc((100% - 16px) / 2); justify-self: center; }
}
@media (max-width: 759px) {
  .consultation-hero { padding: 42px 0 46px; }
  .consultation-hero h1 { font-size: clamp(2rem, 9vw, 2.45rem); }
  .consultation-hero__mobile-break { display: inline; }
  .consultation-section__mobile-break { display: inline; }
  .consultation-hero__inner > p:not(.consultation-kicker) br { display: none; }
  .consultation-section { padding: 61px 0 72px; }
  .consultation-section h2 { font-size: clamp(1.55rem, 7vw, 1.85rem); }
  .consultation-audience, .consultation-topic-grid, .consultation-results { grid-template-columns: 1fr; }
  .consultation-audience article, .consultation-topic-grid article, .consultation-results article { padding: 24px; }
  .consultation-flow article { grid-template-columns: 40px 1fr; gap: 14px; }
  .consultation-faq { margin-top: 32px; }
  .consultation-price { margin-top: 28px; padding: 22px 14px; }
}
@media (max-width: 409px) {
  .consultation-faq details:nth-child(1) .consultation-faq__compact-line,
  .consultation-faq details:nth-child(2) .consultation-faq__compact-line { display: block; }
}
@media (max-width: 359px) {
  .consultation-for-you__compact-break { display: inline; }
  .consultation-results__compact-break { display: inline; }
  .consultation-audience h3 { font-size: 1rem; }
  .consultation-audience p { font-size: .94rem; letter-spacing: -.01em; }
  .consultation-topic-grid article, .consultation-results article { padding: 20px; }
  .consultation-topic-grid p, .consultation-results p { font-size: .94rem; letter-spacing: -.03em; }
  .consultation-flow p { font-size: .94rem; letter-spacing: -.025em; }
  .consultation-flow article { grid-template-columns: 30px 1fr; gap: 8px; }
  .consultation-price__consultation-time { white-space: nowrap; }
  .consultation-faq__compact-line--narrow { display: block; }
}

/* Consultation Contact follows the AI home Contact palette without being overridden by the shared AI selector. */
.consultation-page.site-ai #contact {
  border-top: 1px solid #d3e1e6;
  background: #e3edf0;
  color: #102a43;
}

.consultation-page.site-ai #contact .consultation-kicker {
  color: #245966;
}

.consultation-page.site-ai #contact .consultation-contact > p:not(.consultation-kicker) {
  color: #526d7c;
}

.consultation-page.site-ai #contact .tk-button {
  border-color: #222222;
  background: #222222;
  color: #fff;
}

@media (hover: hover) and (pointer: fine) {
  .consultation-page.site-ai #contact .tk-button:hover {
    border-color: #333333;
    background: #333333;
    color: #fff;
  }
}
