/* Shared messaging roles. Device illustrations keep their own internal scale. */
.ha-message-system {
  --ha-text:var(--ha-support-on-paper);
  --ha-text-strong:var(--ha-ink);
  --ha-text-meta:var(--ha-support-on-paper);
  font-family:var(--ha-font-sans);
  font-size:var(--ha-type-body);
  line-height:1.55;
  color:var(--ha-text);
  background:var(--ha-paper);
}
.ha-message-system :is(.ha-surface-dark,.depth-field,.service-approach,.service-conversation,.next-conversation,.managed-agents,.frontdoor-example) {
  --ha-text:var(--ha-vapour);
  --ha-text-strong:var(--ha-white);
  --ha-text-meta:var(--ha-meta-on-dark);
}
.ha-message-system :is(.ha-surface-paper,.service-example-card,.service-paper,.initial-understanding,.priority-card,.amp-question,.route-card) {
  --ha-text:var(--ha-support-on-paper);
  --ha-text-strong:var(--ha-ink);
  --ha-text-meta:var(--ha-support-on-paper);
}
.ha-message-system :is(.ha-surface-coral,.final-conversation) {
  --ha-text:var(--ha-ink-raised);
  --ha-text-strong:var(--ha-ink);
  --ha-text-meta:var(--ha-ink-raised);
}
.ha-message-system main > :is(section,article) { scroll-margin-top:0; }
.ha-message-system main :is(h1,h2,h3) { font-family:var(--ha-font-sans); }
.ha-message-system main h1 {
  font-size:var(--ha-type-page-title); line-height:1.08; letter-spacing:-.04em;
  color:var(--ha-text);
}
.ha-message-system main h1:has(.message-key) { color:var(--ha-text); }
.ha-message-system main h1 .message-key { color:var(--ha-text-strong); }
.ha-message-system main h2 {
  font-size:var(--ha-type-long); line-height:1.12; letter-spacing:-.03em;
  color:var(--ha-text);
}
.ha-message-system main h2 .message-key { color:var(--ha-text-strong); }
.ha-message-system main :is(.section-intro,.service-section-intro,.service-hero-copy,.service-copy,.service-feature-copy,.working-session-copy,.founder-copy) > p {
  color:var(--ha-text); font-size:var(--ha-type-body); line-height:1.55;
}
.ha-message-system main :is(.section-intro,.service-hero-copy) > p { font-size:var(--ha-type-lede); line-height:1.5; }
.ha-message-system :is(.message-key,.ha-message-key) { color:var(--ha-text-strong); }
.ha-message-system :is(.section-kicker,.service-kicker,.eyebrow,.service-hero-art figcaption,.service-feature figcaption) {
  font-family:var(--ha-font-sans); font-size:14px; line-height:1.45; letter-spacing:.01em;
}
.ha-message-system :is(.ha-note,.session-note,.prototype-note,.work-listening-note) { font-family:var(--ha-font-note); }
.ha-message-system :is(.service-hero-art,.service-feature) figcaption { transform:none; }
.ha-message-system .module { padding-block:var(--ha-space-support); }
.ha-message-system .section-intro { margin-bottom:var(--ha-space-content); }
.ha-message-system .section-intro h2 { font-size:var(--ha-type-chapter); }
.ha-message-system details { font-family:var(--ha-font-sans); }
.ha-message-system summary { min-height:44px; box-sizing:border-box; }
.ha-message-system details:focus-within { outline-color:var(--ha-bloom); }
.ha-message-system details > p { color:var(--ha-text); font-size:var(--ha-type-support); line-height:1.55; }
.ha-message-system .tagline-lead, .ha-message-hierarchy .tagline-lead { color:var(--ha-vapour); }
.ha-message-system .tagline-accent { color:var(--ha-bloom); }
.ha-message-system .tagline-tm {
  display:inline-block; font-size:.24em; font-weight:500; line-height:1;
  letter-spacing:0; vertical-align:top; margin:.16em 0 0 .16em;
}
.ha-message-system .ha-footer :is(.footer-signoff,.footer-tagline) { font-size:20px; font-weight:700; letter-spacing:-.025em; }
/* The working homepage retains its real conversation and example controls. */
.ha-message-system.frontdoor-home .hero-copy h1 { font-size:clamp(48px,5.8vw,86px); }
.ha-message-system.frontdoor-home .hero-copy h1 .tagline-lead { color:var(--ha-vapour); }
.ha-message-system.frontdoor-home .hero-copy h1 .tagline-accent { color:var(--ha-bloom); }
.ha-message-system.frontdoor-home .hero-offer { color:var(--ha-vapour); font-size:var(--ha-type-lede); line-height:1.5; }
.ha-message-system.frontdoor-home .frontdoor-example { background:var(--ha-ink); }
.ha-message-system.frontdoor-home .frontdoor-example :is(.story-steps p,.section-intro > p,.understanding-copy > p:not(.section-kicker)) { color:var(--ha-vapour); }
.ha-message-system.frontdoor-home .frontdoor-example :is(h2,h3),
.ha-message-system.frontdoor-home .factory-feature h2 { color:var(--ha-vapour); font-size:var(--ha-type-chapter); }
.ha-message-system.frontdoor-home .factory-feature p:not(.section-kicker),
.ha-message-system.frontdoor-home .custom-role-list details p { color:var(--ha-vapour); font-size:var(--ha-type-support); line-height:1.55; }
.ha-message-system.frontdoor-home .custom-role-list summary { color:var(--ha-white); font-size:20px; }
.ha-message-system.frontdoor-home .factory-sign { font-family:var(--ha-font-sans); font-size:14px; font-weight:700; letter-spacing:.04em; transform:none; }
.ha-message-system.frontdoor-home .route-card { background:var(--ha-card); }
.ha-message-system.frontdoor-home .canvas-service { background:var(--ha-card) !important; }
.ha-message-system.frontdoor-home .route-card.amp-desk h3,
.ha-message-system.frontdoor-home .canvas-service h3 { font-size:clamp(26px,2.5vw,36px) !important; line-height:1.15 !important; letter-spacing:-.03em !important; }
.ha-message-system.frontdoor-home .founder-discipline { font-size:14px; }
.ha-message-system.frontdoor-home .founder-pair article:first-child .founder-discipline { color:var(--ha-lee-text); }
.ha-message-system.frontdoor-home .founder-pair article:last-child .founder-discipline { color:var(--ha-dave); }
.ha-message-system.frontdoor-home .founder-copy > p:last-child { font-size:16px; color:var(--ha-support-on-paper); line-height:1.55; }
.ha-message-system.frontdoor-home .founder-links .text-link { font-size:15px; }
.ha-message-system.frontdoor-home .initial-understanding :is(p,dd) { color:var(--ha-support-on-paper); font-size:14px; }
.ha-message-system.frontdoor-home .priority-card :is(p,div > span) { color:var(--ha-support-on-paper); }
.ha-message-system.frontdoor-home .entry-caption { font-size:13px; }
.ha-message-system :is(.privacy-main,.not-found-main) { padding:var(--ha-space-chapter) var(--ha-gutter); }
.ha-message-system .privacy-hero { gap:var(--ha-space-content); padding-bottom:var(--ha-space-support); }
.ha-message-system .privacy-sections :is(p,li) { color:var(--ha-support-on-paper); font-size:17px; line-height:1.55; }
.ha-message-system .privacy-sections h2 { font-size:var(--ha-type-subheading); color:var(--ha-ink); }
.ha-message-system .privacy-updated { font-size:14px !important; }
.ha-message-system .not-found-main h1 { max-width:15ch; }
.ha-message-system .not-found-main p { color:var(--ha-support-on-paper); }
.ha-message-system .site-footer .footer-legal { flex-wrap:wrap; }
/* Home utilities sit outside the dedicated chat and illustrative workspace controls. */
.ha-chat-entry .chat-entry-home {
  position:fixed; z-index:1001; top:16px; left:16px; min-height:44px;
  display:inline-flex; align-items:center; padding:0 14px; border-radius:6px;
  background:var(--ha-ink-raised); color:var(--ha-vapour); font:600 14px/1.3 var(--ha-font-sans);
  text-underline-offset:4px;
}
.ha-chat-entry .chat-entry-home:focus-visible { outline:3px solid var(--ha-bloom); outline-offset:4px; }
@media (max-width:760px) {
  /* Keep the floating launcher off reading space; the header and inline prompts
     still reach Amp, who remains visible in his hero, final and chat anchors. */
  .ha-message-system .ask-amp[data-amp-mode="dock"] { visibility:hidden; pointer-events:none; }
  .ha-message-system.frontdoor-home .hero-copy h1 { font-size:clamp(42px,9.7vw,65px); }
  .ha-message-system.frontdoor-home .section-intro { margin-bottom:32px; }
  .ha-message-system.frontdoor-home .founder-pair article { grid-template-columns:1fr; align-items:start; }
  .ha-message-system.frontdoor-home .founder-pair .folded-image { width:100%; height:auto; aspect-ratio:4/3; }
  .ha-message-system .privacy-hero,.ha-message-system .privacy-sections section { grid-template-columns:1fr; }
  .ha-message-system .privacy-sections section { gap:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .ha-message-system { scroll-behavior:auto; }
  .ha-message-system :is(.review-back-link,.message-key,.tagline-lead) { transition:none; }
}

/* Persona entry pages reserve real room for Home rather than covering the identity. */
html.ask-land:is(.ask-land-lee,.ask-dave) .amp-chat-header { padding-left:96px; }
html.ask-land .amp-chat-header .amp-chat-identity { color:var(--ha-vapour); }
html.ask-land.ask-land-lee .ask-land-persona { color:var(--ha-vapour); }
html.ask-land.ask-land-lee .ask-land-persona-sep { color:var(--ha-meta-on-dark); }
@media (max-width:480px) {
  html.ask-land:is(.ask-land-lee,.ask-dave) .amp-chat-header {
    padding-top:72px; padding-left:12px; min-height:128px;
  }
}

/* Utility-page titles remain plain, clear destinations. */
.ha-message-system :is(.privacy-hero,.not-found-main) h1,
.ha-message-system.contact-page main h1 { color:var(--ha-ink); }
