/* Share the homepage photo, typography and question bar; adapt the reading page. */
.ai-search-page .page { max-width: none; margin: 0; padding: 0; }
.ai-search-page .ai-search-hero {
  height: auto;
  min-height: clamp(660px, calc(100svh - 76px), 860px);
  max-height: none;
  padding-bottom: 240px;
}
.ai-search-page .hero-content { max-width: 960px; padding: clamp(44px, 6vh, 72px) 24px 0; }
.ai-search-page .hero .eyebrow { font-size: 11px; text-transform: none; }
.ai-search-page .hero h1 { font-size: clamp(42px, 5.3vw, 76px); margin: 20px 0 22px; }
.ai-search-page .hero-intro { max-width: 660px; margin: 0 auto; font-size: 17px; line-height: 1.65; }
.ai-search-page .ask-form { width: min(760px, 100%); margin-top: 30px; }
.ai-search-page .ask-entry { min-height: 78px; padding: 9px 10px 9px 22px; gap: 16px; box-shadow: 0 0 0 3px #ffffff55, 0 10px 34px #12242f29; }
.ai-search-page .ask-entry input { height: 34px; font-size: 18px; }
.ai-search-page .ask-privacy-note { font-size: 12px; line-height: 1.5; white-space: normal; overflow: visible; text-overflow: clip; }
.ai-search-page #ask-submit { min-height: 56px; padding: 0 24px; font-size: 15px; }
.ai-search-page .question-prompts { width: min(480px, 100%); margin-top: 14px; gap: 8px; padding: 0; }
.ai-search-page .question-prompts button { min-height: 44px; font-size: 13px; background: #173a4b99; }
.ai-search-page .ask-status { width: fit-content; max-width: 640px; margin: 18px auto 0; padding: 10px 16px; border-radius: 10px; background: #173a4bd9; font-size: 14px; line-height: 1.6; }
.ai-search-page .ask-status:empty { margin: 0; padding: 0; }
.ai-search-page .hero-credit { display: inline-flex; align-items: center; min-height: 44px; bottom: 0; font-size: 10px; opacity: 1; text-shadow: 0 1px 3px #172d30; }
.ai-search-page .ai-script-note { margin: 20px auto 0; max-width: 480px; font-size: 14px; }
.ai-search-page .ai-script-note a { text-decoration: underline; text-underline-offset: 3px; }
.ai-search-page .ai-results:has(.answer:not([hidden])) { padding: 40px 24px; }
.ai-search-page .page .answer { margin: 0 auto; scroll-margin-top: 24px; }
.ai-search-page .ai-library-status { display: flex; align-items: center; justify-content: space-between; gap: 12px 32px; padding: 20px clamp(24px, 5vw, 88px); border-top: 1px solid var(--line); }
.ai-search-page .status { display: flex; align-items: baseline; gap: 9px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.ai-search-page .dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #8a651f; }
.ai-search-page .dot.ready { background: #408255; }
.ai-search-page .ai-library-status > a { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; flex-shrink: 0; color: var(--green); font-size: 13px; }
.ai-search-page .ai-library-status > a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ai-search-page .ask-entry input:focus-visible { outline: none; }
.ai-search-page .ask-form:focus-within .ask-entry { outline: 2px solid #b7842c; outline-offset: 4px; transform: none; }
.ai-search-page .hero button:focus-visible,
.ai-search-page .hero a:focus-visible { outline-color: #e5bc75; }
@media (max-width: 800px) {
  .ai-search-page .hero-content { padding-top: 40px; }
  .ai-search-page .hero-intro { font-size: 16px; max-width: 550px; }
  .ai-search-page .ai-library-status { align-items: flex-start; flex-direction: column; gap: 8px; }
}
@media (max-width: 540px) {
  .ai-search-page .ai-search-hero { min-height: max(660px, calc(100svh - 76px)); padding-bottom: 290px; }
  .ai-search-page .hero-content { padding: 36px 24px 0; }
  .ai-search-page .hero h1 { max-width: 330px; margin: 16px auto; font-size: 44px; }
  .ai-search-page .hero-intro { max-width: 310px; font-size: 14px; }
  .ai-search-page .ask-form { margin-top: 24px; }
  .ai-search-page .ask-entry { min-height: 72px; padding: 8px 8px 8px 14px; gap: 8px; border-radius: 36px; }
  .ai-search-page .ask-spark { flex-basis: 20px; width: 20px; height: 20px; }
  .ai-search-page .ask-entry input { height: 30px; font-size: 16px; }
  .ai-search-page .ask-privacy-note { font-size: 11px; line-height: 1.45; }
  .ai-search-page #ask-submit { width: 46px; min-height: 46px; padding: 0; }
  .ai-search-page .question-prompts { gap: 6px; margin-top: 12px; }
  .ai-search-page .question-prompts button { padding: 7px 5px; font-size: 11px; }
  .ai-search-page .ask-status { font-size: 13px; }
  .ai-search-page .hero-photo { height: 500px; object-position: 40% 68%; }
  .ai-search-page .hero-shade { background: linear-gradient(180deg, #28465b 0%, #3b617c 35%, #507792 44%, transparent 62%, transparent 73%, #10222280 100%); }
  .ai-search-page .ai-results:has(.answer:not([hidden])) { padding: 24px 16px; }
  .ai-search-page .page .answer { padding: 24px 18px; }
}
@media (max-width: 380px) {
  .ai-search-page .hero-content { padding-left: 16px; padding-right: 16px; }
  .ai-search-page .hero h1 { font-size: 39px; }
  .ai-search-page .ai-library-status { padding-left: 16px; padding-right: 16px; }
}
