/* Content structure additions. Existing fonts, palette and components retained. */
.content-update { overflow-wrap: break-word; }
.content-update [id] { scroll-margin-top: 100px; }
.content-update .content-prose p + p { margin-top: 1.1rem; }
.content-update .content-prose { line-height: 1.75; }
.hero-copy { max-width: 48ch; margin-top: 1.3rem; }
.content-update .hp-hero__lead { max-width: 40ch; }
.content-editorial { display: grid; gap: 2.5rem; }
.content-cards { display: grid; gap: 1.25rem; margin-top: 2.5rem; }
.content-cards > * { min-width: 0; }
.content-update .hp-card { display: flex; flex-direction: column; gap: 1.2rem; }
.content-update .hp-card h3, .content-update .hp-card p { margin: 0; }
.content-update .hp-card .hp-inline { margin-top: auto; padding-top: 1rem; }
.content-update .content-format { font-family: var(--font-sans); font-size: .8rem; color: var(--hp-muted); line-height: 1.5; }
.content-terms, .content-more { margin-top: 2rem; }
.content-soft { background: var(--hp-paper-soft); }
.content-secondary { padding-block: 3.5rem; }
.content-secondary h2 { font-size: 2rem; margin-bottom: 1.5rem; }
.content-secondary p + p { margin-top: 1rem; }
.content-update .hp-inline { display: inline; border-bottom: 1px solid currentColor; line-height: 1.6; }
.content-update .content-more.hp-inline { display: inline-block; }
.content-update .hp-inquiry h2 { max-width: none; }
.content-update .form-hint, .content-update .form-note { font-size: .88rem; line-height: 1.6; }
.content-update .form-hint { margin-bottom: .65rem; color: var(--hp-on-dark); }
.content-update .form-note { color: var(--hp-on-dark); margin-block: 1rem; }
.content-update .form-note a { text-decoration: underline; text-underline-offset: .2em; }
.content-update .form-input { font-size: 1rem; }
.content-update .form-status { margin-top: 1rem; font-size: 1rem; color: var(--hp-cream); }
.content-update .form-status:empty { display: none; }
.content-update .form-status[data-state="error"] { border-left: 3px solid var(--hp-sand); padding-left: 1rem; }
.content-update .form-status[data-state="success"] { border-left: 3px solid var(--hp-cream); padding-left: 1rem; }
.content-update .btn { white-space: normal; text-align: center; justify-content: center; }
.content-update button:disabled { opacity: .65; cursor: wait; }
.content-update :focus-visible { outline: 3px solid var(--hp-clay-soft); outline-offset: 5px; }
.content-update .form-input:focus-visible { outline-offset: 2px; }
.skip-link { position: fixed; left: 1rem; top: -8rem; z-index: 1000; padding: .75rem 1rem; background: #fbf8f1; color: #161510; }
.skip-link:focus { top: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.site-page.content-update .hp-card { border: 1px solid var(--hp-line); border-radius: var(--hp-r); padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--hp-card); }
.site-page.content-update .hp-card h3 { font-size: 1.8rem; line-height: 1.15; }
.site-page.content-update .hp-inline { color: var(--hp-ink); }
.site-page.content-update .page-hero-title { max-width: 20ch; }
.content-update .idea-card h3 { font-size: clamp(1.4rem, 2vw, 1.8rem); line-height: 1.2; }
.content-update .nav-logo { flex-shrink: 0; }
.content-update .nav-toggle { min-width: 44px; min-height: 44px; z-index: 102; }
.content-update .footer-links a { padding-block: .5rem; }
@media (min-width: 860px) {
  .content-editorial { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 4rem; }
  .content-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .content-cards--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* The longer contact label needs the mobile menu earlier on every page. */
@media (max-width: 1099px) {
  .content-update .nav-toggle { display: flex; }
  .content-update .nav-links {
    position: fixed; inset: 0; height: 100dvh; width: 100%; display: none;
    flex-direction: column; align-items: center; justify-content: center;
    padding: 5rem 1.25rem 2rem; gap: 1.5rem; background: var(--hp-paper); overflow-y: auto;
  }
  .content-update .nav-links.open { display: flex; }
  .content-update .nav-links a { font-family: var(--font-serif); font-size: 1.8rem; }
  .content-update .nav-links .nav-cta { font-family: var(--font-sans); font-size: .9rem !important; }
  .content-update .nav-links a::after { display: none; }
}
@media (min-width: 1100px) {
  .content-update .nav-toggle { display: none; }
  .content-update .nav-links { display: flex; position: static; flex-direction: row; background: none; gap: 1.4rem; }
}
@media (max-width: 599px) {
  .content-update .hp-hero__title { font-size: clamp(2.5rem, 11vw, 3.8rem); }
  .content-update .hp-hero__media { aspect-ratio: 4/5; }
  .content-update .nav-logo { font-size: 1.13rem; }
  .content-update .hp-inquiry .inquiry-form { padding: 1.25rem; }
  .content-update .content-cards .hp-card { padding: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .content-update *, .content-update *::before, .content-update *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

.content-update h1, .content-update h2, .content-update h3 { hyphens: none; }
.home-page.content-update .hp-inquiry .form-note { color: var(--hp-on-dark); }
