/* =====================================================
   CHATEAU CORE RESET (SAFE + MINIMAL)
===================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: Arial, sans-serif;
  color: #222;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* =====================================================
   TOP BAR (STATIC)
===================================================== */



/* =====================================================
   HEADER (STICKY NAV SYSTEM)
===================================================== */

#chateauHeader {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  color: #fff !important;
}



/* =====================================================
   INNER LAYOUT (SHARED)
===================================================== */

.chateau-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 20px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.chateau-topbar {
  width: 100%;
  position: relative;
  z-index: 1;
  background: #499FAF;
  color: #ffffff;
  min-height: 140px;
  display: flex;
  align-items: center;
}

.chateau-left,
.chateau-center,
.chateau-right {
  display: flex;
  align-items: center;
}

/* =====================================================
   LOGO
===================================================== */

.chateau-left img {
  height: 55px;
}

/* =====================================================
   TRUST / CENTER AREA
===================================================== */

.chateau-center {
  text-align: center;
  font-size: 13px;
  line-height: 1.4;
}

.trust-line {
  margin: 0;
}

.topbar-phone {
  display: block;
  margin-top: 4px;
  text-decoration: none;
  color: inherit;
}

/* =====================================================
   CTA (TOP BAR RIGHT)
===================================================== */

.chateau-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.chateau-cta {
  background: #499FAF;
  color: #fff;
  padding: 8px 14px;
  border-radius: 4px;
  text-decoration: none;
  font-size: 14px;
}

/* =====================================================
   NAVIGATION
===================================================== */

.chateau-menu {
  border-top: 1px solid #eee;
  display: block;
}

.chateau-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 26px;

  list-style: none;
  margin: 0;
  padding: 12px 20px;
}

.chateau-list a {
  text-decoration: none;
  color: #222;
  font-size: 15px;
  padding: 8px 6px;
  display: block;
  transition: color 0.2s ease;
}

.chateau-list a:hover {
  color: #499FAF;
}

.chateau-list a.active {
  border-bottom: 2px solid #222;
}

/* =====================================================
   DROPDOWNS
===================================================== */

.has-dd {
  position: relative;
}

.dd {
  position: absolute;
  top: 100%;
  left: 0;

  display: none;
  flex-direction: column;

  min-width: 220px;
  background: #fff;

  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 12px 28px rgba(0,0,0,0.12);

  padding: 8px 0;
  z-index: 9999;
}

.dd li {
  list-style: none;
}

.dd a {
  padding: 10px 14px;
  font-size: 14px;
}

.has-dd:hover > .dd {
  display: flex;
}

/* =====================================================
   MOBILE
===================================================== */

.chateau-toggle {
  display: none;
  font-size: 26px;
  background: none;
  border: none;
  cursor: pointer;
}

@media (max-width: 900px) {

  .chateau-center {
    display: none;
  }

  .chateau-toggle {
    display: block;
  }

  .chateau-menu {
    display: none;
    background: #fff;
  }

  #chateauHeader.open .chateau-menu {
    display: block;
  }

  .chateau-list {
    flex-direction: column;
    gap: 0;
    padding: 0;
  }

  .chateau-list li {
    border-bottom: 1px solid rgba(0,0,0,0.06);
  }

  .chateau-list a {
    padding: 14px 20px;
  }

  .dd {
    position: static;
    display: none;
    box-shadow: none;
    border: none;
    padding-left: 15px;
  }

  .has-dd.open > .dd {
    display: flex;
  }
}

/* =====================================================
   SCROLLED STATE (OPTIONAL JS CLASS)
===================================================== */

#chateauHeader.scrolled {
  background: #000;
  color: #fff;
}

#chateauHeader.scrolled a {
  color: #fff;
}

/* =====================================================
   FOOTER
===================================================== */

.site-footer {
  background: #111;
  color: #ddd;
  padding-top: 60px;
  font-size: 15px;
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 50px;

  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}

.footer-col h4 {
  color: #fff;
  font-size: 14px;
  margin-bottom: 14px;
}

.footer-col a {
  display: block;
  color: #bbb;
  text-decoration: none;
  margin-bottom: 8px;
}

.footer-col a:hover {
  color: #fff;
}

.footer-sub {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 18px 24px;

  display: flex;
  justify-content: space-between;

  max-width: 1200px;
  margin: 0 auto;
  font-size: 13px;
  color: #888;
}

@media (max-width: 900px) {
  .footer-inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .footer-inner {
    grid-template-columns: 1fr;
  }

  .footer-sub {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }
    body {
  min-height: 200vh;
}
html, body {
  overflow: visible !important;
}

#page-topbody {
  overflow: visible !important;
  display: block !important;
    height: auto;
}
  .chateau-left img {
  height: 55px;
  display: block;
} 
    
.chateau-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
    .chateau-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
    }
.chateau-left {
  flex: 0 0 auto;
}

.chateau-left img {
  display: block;
  height: 55px;
}




/*
--------------------------------------------------------
 Sticky elements. Sticky elements act like elements
 that are "position: fixed" when they are full-width.
 When an element is not full-width, and has an adjacent
 element that is not set to "sticky", the sticky
 element will stick in view until a taller sibling
 element has been scrolled its full height. 
--------------------------------------------------------
*/
/*
-------------------------------------------------------------
 Harmony custom and exception rules. Where you see a
 class name in front or after the Harmony element, such as:
 ".logo .hmy-content" or ".hmy-content-wrapper.full-height", 
 it indicates a User Class assignment in the Harmony UI.
 ************************************************************
 NOTE: position: sticky will cease to work if the element
 or one of its parents is also set to overflow: hidden.
-------------------------------------------------------------
*/
.header {
	position: -webkit-sticky;
	position: sticky;
	top: 0px;
	z-index: 10;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.75);
}
.sticky .hmy-content {
	position: -webkit-sticky;
	position: sticky;
	top: 80px;
}

