/* Air House: AZ font/color/layout settings remain the source of truth.
   Banner .72×H1, section .8×H2, article .8×H3, project .95×Body, footer .95×Body. */
.az-child-airhouse-site { --az-child-airhouse-green: var(--az-color-primary, #88ad70); }
.az-child-airhouse { background: var(--az-color-surface, #fff); color: var(--az-color-text, #424242); }
.az-child-airhouse__section { padding-block: 34px 44px; scroll-margin-top: 100px; }
.az-child-airhouse .az-child-panda__heading { margin: 0 0 28px; text-align: center; color: var(--az-child-airhouse-green); font-size: calc(var(--az-h2-size, 34px) * .8); }
.az-child-airhouse .az-child-panda__heading::after { content: ''; display: block; width: 96px; height: 3px; border-radius: 2px; margin: 12px auto 0; background: currentColor; }
.az-child-airhouse__features { display: grid; gap: 28px; }
.az-child-airhouse__feature { display: grid; grid-template-columns: 2fr 1fr; min-width: 0; box-shadow: 0 1px 3px #0003; }
.az-child-airhouse__feature-image { min-width: 0; }
.az-child-airhouse__feature-image a { display: block; height: 100%; }
.az-child-airhouse__feature-image img { width: 100%; height: 100%; aspect-ratio: 2; object-fit: cover; }
.az-child-airhouse__feature-copy { min-width: 0; padding: 18px 20px 28px; }
.az-child-airhouse .az-child-airhouse__feature-copy h3 { margin: 0 0 20px; font-size: calc(var(--az-h3-size, 26px) * .8); color: var(--az-child-airhouse-green); }
.az-child-airhouse__feature-copy p { margin: 0 0 26px; font-size: .875em; line-height: var(--az-body-line-height, 1.7); }
.az-child-airhouse a.az-child-airhouse__read { display: inline-block; color: var(--az-child-airhouse-green); font-size: .95em; font-weight: var(--az-heading-weight, 600); }
.az-child-airhouse__read::after { content: ''; display: block; width: 50px; height: 2px; background: currentColor; opacity: .35; margin: 8px auto 0; transition: width .2s ease; }
.az-child-airhouse__read:hover::after { width: 100%; }
.az-child-airhouse__feature--text { grid-template-columns: 1fr; }
.az-child-airhouse__projects-section { padding-top: 44px; padding-bottom: 32px; }
.az-child-airhouse__projects { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
.az-child-airhouse__project { position: relative; min-width: 0; aspect-ratio: 1; overflow: hidden; background: #302621; color: #fff; }
.az-child-airhouse__project > a { display: block; height: 100%; color: inherit; }
.az-child-airhouse__project img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.az-child-airhouse__project::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 25%, #30100cdb 100%); pointer-events: none; }
.az-child-airhouse .az-child-airhouse__project h3 { position: absolute; z-index: 1; bottom: 22px; inset-inline: 14px; margin: 0; text-align: center; font-size: calc(var(--az-body-size, 16px) * .95); line-height: var(--az-heading-line-height, 1.4); color: #fff; pointer-events: none; }
.az-child-airhouse__project a:is(:hover,:focus-visible) img { transform: scale(1.045); }
.az-child-airhouse__project a:focus-visible { outline-offset: -4px; outline-color: #fff; }
/* Same existing Banner trang renderer, IDs and slider controller. */
.az-child-airhouse .az-child-panda__banner-copy { text-align: center; }
.az-child-airhouse .az-child-panda__banner-copy h2 { max-width: none; margin: 0 0 20px; font-size: calc(var(--az-h1-size, 48px) * .72); }
.az-child-airhouse .az-child-panda__banner-copy p { max-width: none; margin: 0; font-size: 1em; }
.az-child-airhouse .az-child-panda__banner-copy .az-child-panda__button { margin-top: 22px; }
/* Shared header; matching DOM keeps AZ logo, menus, mobile and sticky contracts. */
#page.az-child-airhouse-site .az-shared-header { --az-header-blue-dark: var(--az-child-airhouse-green); background: var(--az-menu-background, #fff); color: var(--az-menu-text, #333); }
#page.az-child-airhouse-site .az-shared-header .az-shared-brandbar { width: min(calc(100% - 2 * var(--az-gutter, 24px)), var(--az-container, 1110px)); max-width: var(--az-container, 1110px); gap: 24px; flex-wrap: wrap; }
#page.az-child-airhouse-site .az-shared-header .az-steel-logo { flex: 0 1 var(--az-child-logo-width, 214px); margin-right: auto; }
#page.az-child-airhouse-site .az-shared-header .az-steel-logo img { width: var(--az-child-logo-width, 214px); max-height: calc(var(--az-header-main-height, 100px) - 12px); }
#page.az-child-airhouse-site .az-shared-header .az-steel-primary { flex: 0 1 auto; min-width: 0; }
#page.az-child-airhouse-site .az-shared-header .az-steel-menu { display: flex; gap: 12px; align-items: center; justify-content: flex-end; }
#page.az-child-airhouse-site .az-shared-header .az-steel-menu > li > a { padding: 14px 12px; text-transform: uppercase; border-radius: 3px; }
#page.az-child-airhouse-site .az-shared-header .az-steel-topbar { background: transparent; color: inherit; }
#page.az-child-airhouse-site .az-shared-header .az-shared-topbar { justify-content: flex-start; gap: 16px; padding-block: 8px; font-size: .875em; }
#page.az-child-airhouse-site .az-shared-header .az-shared-topbar > .az-steel-social { margin: 0; }
#page.az-child-airhouse-site .az-shared-header .az-shared-topbar > .az-steel-social a { color: inherit; }
.az-child-airhouse-header__navigation { display: flex; align-items: center; justify-content: flex-end; gap: 20px; min-width: 0; flex: 0 1 auto; }
.az-child-airhouse-header__navigation > :is(.az-child-language,.az-lang-switcher) { flex-shrink: 0; }
.az-child-airhouse-header__tools { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.az-child-airhouse-header__search { position: relative; }
.az-child-airhouse-header__search > summary { display: grid; place-items: center; width: 32px; height: 32px; cursor: pointer; list-style: none; }
.az-child-airhouse-header__search > summary::-webkit-details-marker { display: none; }
.az-child-airhouse-header__search > summary svg { width: 22px; height: 22px; }
.az-child-airhouse-header__search > div { position: absolute; z-index: 90; right: 0; top: calc(100% + 10px); width: min(340px, calc(100vw - 48px)); padding: 14px; background: var(--az-color-surface, #fff); box-shadow: var(--az-shadow-card, 0 4px 20px #0003); }
.az-child-airhouse-header__tools .az-steel-search { color: var(--az-color-text, #333); }
#page.az-child-airhouse-site .az-shared-header:is(.az-child-home-overlay,.az-child-about-overlay) { color: var(--az-child-airhouse-overlay-text, #fff); }
#page.az-child-airhouse-site .az-shared-header:is(.az-child-home-overlay,.az-child-about-overlay) .az-steel-menu > li > a { color: var(--az-child-airhouse-overlay-text, #fff); }
#page.az-child-airhouse-site .az-shared-header .az-steel-menu > li:is(.current-menu-item,.current-menu-ancestor) > a { background: var(--az-menu-active-background, var(--az-child-airhouse-green)); color: var(--az-menu-active-text, #fff); }
/* Footer consumes shared AZ contacts/settings on every page. */
.az-child-airhouse-footer { position: relative; background: #20282d center/cover no-repeat; color: #e8e8e8; font-size: calc(var(--az-body-size, 16px) * .95); }
.az-child-airhouse-footer::before { content: ''; position: absolute; inset: 0; background: #11191fe3; }
.az-child-airhouse-footer__grid { position: relative; display: grid; grid-template-columns: 1fr 1.9fr 1fr; gap: 36px; min-height: 310px; padding-block: 36px 65px; }
.az-child-airhouse-footer__grid > * { min-width: 0; }
.az-child-airhouse-footer h2 { margin: 0 0 14px; color: var(--az-child-airhouse-green); font-family: var(--az-font-heading, sans-serif); font-size: calc(var(--az-h3-size, 26px) * .65); font-weight: var(--az-heading-weight, 600); line-height: var(--az-heading-line-height, 1.3); letter-spacing: var(--az-heading-letter-spacing, 0); }
.az-child-airhouse-footer h2::after { content: ''; display: block; width: 34px; height: 3px; background: currentColor; margin-top: 8px; }
.az-child-airhouse-footer p { margin: 0 0 16px; }
.az-child-airhouse-footer a { color: inherit; text-decoration: none; }
.az-child-airhouse-footer a:hover { text-decoration: underline; }
.az-child-airhouse-footer a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.az-child-airhouse-footer .az-footer-contact-list { list-style: none; padding: 0; margin: 0; }
.az-child-airhouse-footer .az-footer-contact-row { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 8px; margin-bottom: 16px; overflow-wrap: anywhere; }
.az-child-airhouse-footer .az-footer-contact-row svg { width: 18px; height: 18px; margin-top: .2em; }
.az-child-airhouse-footer .az-steel-social { margin-top: 24px; }
.az-child-airhouse-footer__links { padding: 0; list-style: none; }
.az-child-airhouse-footer__links li { margin-top: 8px; }
.az-child-airhouse-footer__copyright { position: relative; padding: 14px 24px; background: #111; text-align: center; font-size: .875em; }
@media (max-width: 1100px) and (min-width: 783px) {
  .az-child-airhouse-header__navigation { order: 3; width: 100%; }
  #page.az-child-airhouse-site .az-shared-header .az-child-airhouse-header__navigation .az-steel-primary { order: 0; width: auto; flex: 1 1 auto; }
  #page.az-child-airhouse-site .az-shared-header .az-steel-menu { justify-content: center; gap: 4px; }
}
@media (max-width: 960px) {
  .az-child-airhouse__feature { grid-template-columns: 1.5fr 1fr; }
  .az-child-airhouse__feature-copy { padding: 18px; }
  .az-child-airhouse-footer__grid { grid-template-columns: 1fr 1.5fr; }
  .az-child-airhouse-footer__note { grid-column: 1 / -1; }
}
@media (max-width: 782px) {
  .az-child-airhouse-header__navigation { display: none; }
  #page.az-child-airhouse-site .az-shared-header:is(.az-child-home-overlay,.az-child-about-overlay) { position: relative; color: var(--az-menu-text, #333); background: var(--az-menu-background, #fff); }
  #page.az-child-airhouse-site .az-shared-header .az-steel-primary { display: none; }
  #page.az-child-airhouse-site .az-shared-header .az-shared-topbar { flex-wrap: wrap; gap: 6px 12px; }
  #page.az-child-airhouse-site .az-shared-header .az-shared-brandbar { min-height: 75px; }
  #page.az-child-airhouse-site .az-shared-header .az-steel-logo img { max-height: 65px; width: var(--az-child-logo-width-mobile, 160px); }
  .az-child-airhouse__feature { grid-template-columns: 1fr; }
  .az-child-airhouse__feature-image img { aspect-ratio: 1.65; }
  .az-child-airhouse__section { padding-block: 28px; }
  .az-child-airhouse__projects { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .az-child-airhouse .az-child-airhouse__project h3 { font-size: .875em; bottom: 14px; inset-inline: 10px; }
  .az-child-airhouse-footer__grid { grid-template-columns: 1fr; gap: 26px; padding-block: 32px 44px; }
  .az-child-airhouse-footer__note { grid-column: auto; }
}
@media (max-width: 480px) {
  #page.az-child-airhouse-site .az-shared-header .az-child-panda__top-contacts { gap: 6px; font-size: .85em; }
  #page.az-child-airhouse-site .az-shared-header .az-child-panda__top-contacts a:first-child:not(:last-child) { max-width: 190px; overflow-wrap: anywhere; }
  .az-child-airhouse .az-child-panda__banner-copy h2 { font-size: calc(var(--az-h1-size, 32px) * .68); }
  .az-child-airhouse .az-child-panda__banner-copy p { font-size: .875em; }
}
@media (prefers-reduced-motion: reduce) {
  .az-child-airhouse__project img, .az-child-airhouse__read::after { transition: none; }
}
