/* CMS motion controls; the default "original" keeps the existing design. */
html[data-th-menu]:not([data-th-menu="original"]) .submenu,
html[data-th-menu]:not([data-th-menu="original"]) .contact-action {
  transition: opacity var(--th-motion-duration) ease, translate var(--th-motion-duration) ease, visibility var(--th-motion-duration) !important;
  transition-delay: 0s !important;
}
@media(min-width:901px){
  html[data-th-menu]:not([data-th-menu="original"]) .nav-item:not(.has-submenu)>.submenu{transform:none!important}
  html[data-th-menu]:not([data-th-menu="original"]) .nav-item.has-submenu>.submenu{transform:translateX(-50%)!important}
  html[data-th-menu="slide"] .submenu{translate:0 12px}
  html[data-th-menu]:not([data-th-menu="original"]) .nav-item:is(:hover,:focus-within,.open)>.submenu{translate:0 0;opacity:1;visibility:visible;pointer-events:auto}
}
@media(max-width:850px){
  html[data-th-menu]:not([data-th-menu="original"]) body .header .nav{display:flex!important;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--th-motion-duration) ease,translate var(--th-motion-duration) ease,visibility var(--th-motion-duration)!important}
  html[data-th-menu="slide"] body .header .nav{translate:0 -16px}
  html[data-th-menu]:not([data-th-menu="original"]) body .header .nav.open{opacity:1;visibility:visible;pointer-events:auto;translate:0 0}
}
@media(max-width:900px){
  html[data-th-menu]:not([data-th-menu="original"]) body .has-submenu>.submenu{display:block!important;max-height:0;overflow:hidden;opacity:0;visibility:hidden;padding:0!important;border-width:0;transition:max-height var(--th-motion-duration) ease,opacity var(--th-motion-duration),visibility var(--th-motion-duration)!important}
  html[data-th-menu]:not([data-th-menu="original"]) body .has-submenu.open>.submenu{max-height:650px;opacity:1;visibility:visible}
}
html[data-th-menu]:not([data-th-menu="original"]) .contact-action{transform:none!important;visibility:hidden}
html[data-th-menu="slide"] .contact-action{translate:0 14px}
html[data-th-menu]:not([data-th-menu="original"]) .contact-dock.open .contact-action{visibility:visible;translate:0 0}
html[data-th-menu="none"] body :is(.header .nav,.submenu,.contact-action){transition:none!important}

html[data-th-popup]:not([data-th-popup="original"]) .modal-backdrop{transition:opacity var(--th-motion-duration),visibility var(--th-motion-duration)!important}
html[data-th-popup]:not([data-th-popup="original"]) .modal-window{transform:none!important;transition:translate var(--th-motion-duration)!important}
html[data-th-popup="slide"] .modal-window{translate:0 24px}
html[data-th-popup]:not([data-th-popup="original"]) .modal-backdrop.open .modal-window{translate:0 0}
html[data-th-popup="none"] :is(.modal-backdrop,.modal-window){transition:none!important}

html[data-th-reveal="fade"] .reveal{transform:none!important;filter:none!important;transition:opacity var(--th-motion-duration) ease!important}
html[data-th-reveal="slide"] .reveal{filter:none!important;transform:translateY(22px)!important;transition:opacity var(--th-motion-duration),transform var(--th-motion-duration)!important}
html[data-th-reveal="slide"] .reveal:is(.show,.visible){transform:none!important}
html[data-th-reveal="none"] .reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){
  html body :is(.header .nav,.submenu,.contact-action,.modal-backdrop,.modal-window,.reveal){transition:none!important;translate:none!important;animation:none!important}
  html body .reveal{opacity:1!important;transform:none!important;filter:none!important}
}

/* Shared header identity, matching the approved large white wordmark. */
html body .header :is(a.logo,a.official-logo){
  width:210px!important;max-width:100%!important;height:48px!important;
  flex:0 0 210px!important;
  background-image:url('/top-homes-logo-crop.png')!important;
  background-size:contain!important;background-position:center!important;
  background-repeat:no-repeat!important;
}
html body .header .nav > .nav-item > a::after,
html body .header .nav > a::after{background:#fff!important}
@media(max-width:900px){
  html body .header :is(a.logo,a.official-logo){width:160px!important;flex-basis:160px!important}
}
@media(max-width:767px){
  html body .header :is(a.logo,a.official-logo){width:150px!important;flex-basis:150px!important}
}
