/* Responsive refinements for the selected facility-management page. */
html.contact-open { overflow: hidden; }
html.standalone-page { scroll-padding-top: 24px; }
.home *, .home *::before, .home *::after { min-width: 0; }
.home .hero-layout { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
.home .overview-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); }
.home .header-links a { display: flex; align-items: center; min-height: 44px; }
.home .btn { min-height: 48px; }
.home .home-example-log > div { grid-template-columns: 44px minmax(0, 1fr); font-size: 12px; }
.home .home-example-log time { font-size: 12px; }
.home .home-example-log h4 { font-size: 14px; }
.home .home-example-log h4 span { font-size: 12px; }
.home .management-desk .task-line strong { font-size: 14px; }
.home .management-desk .task-line .mini-number { font-size: 22px; }
.home .overview .quiet-label { font-size: 12px; }
.home .home-contact-note { font-size: 14px; }
.home .closing { padding-inline:24px; }
.home .contact-dialog { max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); padding:24px; overflow: hidden; }
.home .contact-dialog[open] { display: flex; flex-direction: column; }
.home .contact-dialog-header { position: relative; flex: 0 0 auto; }
.home .contact-dialog .dialog-close { top: -16px; right: -16px; }
.home .contact-dialog .eyebrow { padding-right:32px; font-size: 12px; }
.home .contact-dialog h2 { margin-top:8px; font-size: 2rem; }
.home .contact-dialog #contact-description { margin-bottom:16px; }
.home #contact-form { overflow-y: auto; overscroll-behavior: contain; padding:0; margin:0; min-height: 0; scrollbar-gutter: stable; }
.home .contact-fields { gap:16px; }
.home .contact-dialog .contact-required { margin-bottom:16px; }
.home .contact-dialog .contact-privacy { margin:16px 0; }
.home .contact-field input, .home .contact-field textarea { font-size: 16px; }
.home #contact-title:focus { outline: none; }
.home .contact-field input:read-only, .home .contact-field textarea:read-only { background: #f5f1e9; }
@media (max-width: 1024px) {
  .home .site-header { flex-wrap: wrap; gap:8px 16px; padding-top:16px; padding-bottom:8px; }
  .home .site-header .brand { margin-right:auto; }
  .home .site-header .header-links { display: flex; order: 3; flex: 1 0 100%; justify-content: space-between; gap:8px; }
  .home .header-links a { justify-content: center; flex: 1; padding:8px 0; min-height: 48px; font-size: 14px; line-height: 1.4; text-align: center; border-top: 1px solid var(--line); }
}
@media (max-width: 800px) {
  .home .hero-layout, .home .overview-grid { grid-template-columns: minmax(0, 1fr); }
  .home .site-header > .btn { font-size: 14px; min-height: 48px; }
  .home .hero-copy .eyebrow { font-size: 12px; }
  .home .footer { flex-wrap: wrap; }
}
@media (max-width: 600px) {
  .home .management-grid { grid-template-columns: minmax(0, 1fr); }
  .home .footer { flex-direction: column; gap:8px; }
  .home .footer-meta { text-align: left; font-size: 13px; }
  .home .home-photo { height: auto; aspect-ratio: 4 / 3; object-position: 62% 44%; border-radius: 24% 24% 6px 6px; }
  .home .photo-caption { left: 0; bottom: 12px; padding:8px 16px; max-width: min(280px, 86%); }
  .home .photo-caption strong { font-size: 17px; }
  .home .contact-dialog { width: calc(100% - 24px); padding:24px 16px; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); }
  .home .contact-fields { grid-template-columns: minmax(0, 1fr); }
  .home .contact-dialog .dialog-close { top: -12px; right: -12px; }
  .home .contact-dialog #contact-description { font-size: 14px; line-height: 1.5; }
}
@media (max-width: 480px) {
  .home .site-header { padding-inline:16px; gap:8px 8px; }
  .home .site-header .brand .brand-logo { width: clamp(150px, 43vw, 200px); height: auto; }
  .home .site-header > .btn { padding:8px 16px; }
  .home .site-header > .btn svg { display: none; }
  .home .hero h1 { font-size: clamp(2.5rem, 11.2vw, 3rem); letter-spacing: -.035em; }
  .home .hero-actions > .btn { width: 100%; }
  .home .hero-actions > .text-link { min-height: 44px; }
  .home .management-feature h3 { font-size: 20px; }
  .home .home-compliance-list li { gap:8px; }
}
@media (max-height: 540px) {
  .home .contact-dialog { padding-block:16px; }
  .home .contact-dialog .eyebrow { display: none; }
  .home .contact-dialog h2 { font-size: 1.625rem; margin:0 32px 8px 0; }
  .home .contact-dialog #contact-description { margin-bottom:8px; }
}
