/* WordPress integration, editable content and an accessible mobile navigation. */
body { overflow-wrap: break-word; }
img { max-width: 100%; height: auto; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #b76565;
  outline-offset: 5px;
}
.btn { border: 0; }
.btn-light { border: 1px solid #dfe5ef; }
.nav-inner { height: auto; min-height: 82px; padding-block: 10px; }
.brand { min-width: 0; overflow-wrap: anywhere; }
.brand-dot { flex-shrink: 0; }
.links { min-width: 0; }
.nav-list, .footer-menu { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; list-style: none; padding: 0; margin: 0; }
.footer-links { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
.footer-menu { gap: 14px; }
.menu-toggle { display: none; }
.menu-toggle[hidden] { display: none; }
.admin-bar .nav { top: 32px; }
.admin-bar section[id] { scroll-margin-top: 132px; }
.hero:before, .hero-art:before, .contact-box:before, .contact-box:after { pointer-events: none; }
.hero-grid > *, .about-grid > *, .offer-card { min-width: 0; }
.about-portrait { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 45% 55% 52% 48%; }
.offer-card:nth-child(even) { background: #eaf2fd; }
.offer-image { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 18px; margin-bottom: 18px; }
.offer-content { width: 100%; }
.offer-content > :last-child { margin-bottom: 20px; }
.offer-content p { max-width: none; }
.offer-link { margin-top: 20px; }
.offers-empty { text-align: center; color: var(--muted); }
.reading-width { max-width: 850px; }
.content-page { min-height: 65vh; }
.content-page h1 { font-size: clamp(2rem, 5vw, 3.6rem); }
.content-page h2 { font-size: clamp(1.6rem, 4vw, 2.3rem); }
.content-article + .content-article { margin-top: 60px; }
.entry-content a, .offer-content a { text-decoration: underline; text-underline-offset: .2em; }
.entry-content figure { max-width: 100%; margin-inline: 0; }
.entry-content iframe { max-width: 100%; }
.entry-content pre { overflow: auto; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content td, .entry-content th { border: 1px solid #dfe5ef; padding: 10px; }
.entry-content .aligncenter { display: block; margin-inline: auto; }
.wp-caption-text { font-size: .85rem; color: var(--muted); }
.search-form { display: flex; flex-wrap: wrap; gap: 16px; align-items: end; }
.search-form input { display: block; padding: 10px; border: 1px solid var(--muted); border-radius: 8px; max-width: 100%; }
.pagination { padding-block: 25px; }
.pagination .page-numbers { margin-right: 16px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 800px) {
  .nav-inner { flex-wrap: wrap; min-height: 70px; gap: 12px; }
  .brand { flex: 1; }
  .links { display: block; width: 100%; }
  .nav-list { flex-direction: column; align-items: stretch; gap: 4px; padding-block: 12px; }
  .nav-list a { display: block; padding: 10px 14px; }
  .wwk-js .menu-toggle:not([hidden]) { display: inline-flex; flex-shrink: 0; padding: 10px 16px; }
  .wwk-js .links { display: none; }
  .wwk-js .links.is-open { display: block; max-height: 65vh; overflow-y: auto; }
}
@media (max-width: 782px) {
  .admin-bar .nav { top: 46px; }
  .admin-bar section[id] { scroll-margin-top: 146px; }
}
@media (max-width: 600px) {
  .admin-bar .nav { top: 0; }
}
