/* GMAP V960 — original round-cropped clickable logo.
   Actions sit above a connected navigation bar. Both rows stay centered on the
   same axis, the original logo is clipped to its circular badge, and scrolling
   does not resize the header. Tablet and phone behavior remains in the existing CSS. */

body .page>.header.v774-luxury-header .logo-crop {
  position:relative !important;
  display:block !important;
  width:64px !important;
  height:64px !important;
  min-width:64px !important;
  min-height:64px !important;
  max-width:64px !important;
  max-height:64px !important;
  flex:0 0 64px !important;
  margin:0 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:50% !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

body .page>.header.v774-luxury-header .logo-crop .logo {
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  flex:none !important;
  margin:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  border:0 !important;
  border-radius:50% !important;
  outline:0 !important;
  box-shadow:none !important;
  transform:none !important;
  transition:none !important;
  cursor:zoom-in !important;
}
body .page>.header.v774-luxury-header .logo-crop .logo:focus-visible {
  outline:3px solid #f4d97d !important;
  outline-offset:-3px !important;
}

@media (min-width:1241px) and (max-width:1699px) {
  body .page>.header.v774-luxury-header .logo-crop {
    width:100px !important;
    height:100px !important;
    min-width:100px !important;
    min-height:100px !important;
    max-width:100px !important;
    max-height:100px !important;
    flex-basis:100px !important;
  }
}

@media (max-width:650px) {
  body .page>.header.v774-luxury-header .logo-crop {
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
    flex-basis:48px !important;
  }
}

.logo-preview-clip {
  display:block;
  width:min(86vw, 780px);
  aspect-ratio:1 / 1;
  margin:0 auto;
  overflow:hidden;
  border:0;
  border-radius:50%;
  background:transparent;
}
.logo-preview-clip img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border:0;
  border-radius:50%;
  box-shadow:none;
}

@media (min-width:1700px) {
  :root { --gmap-home-header-space:136px !important; }

  body .page {
    padding-top:136px !important;
    overflow:visible !important;
  }

  body .page>.header.v774-luxury-header,
  body .page>.header.v774-luxury-header.v957-scrolled {
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:auto !important;
    inset-inline-start:0 !important;
    inset-inline-end:auto !important;
    transform:none !important;
    translate:none !important;
    width:100vw !important;
    min-width:100vw !important;
    max-width:100vw !important;
    height:136px !important;
    min-height:136px !important;
    max-height:136px !important;
    margin:0 !important;
    padding:10px clamp(18px, 1.48vw, 28px) !important;
    box-sizing:border-box !important;
    display:grid !important;
    grid-template-columns:minmax(400px, 440px) minmax(0, 1fr) !important;
    grid-template-areas:"brand right" !important;
    align-items:center !important;
    align-content:center !important;
    gap:clamp(16px, 1.26vw, 24px) !important;
    overflow:visible !important;
    transition:none !important;
  }

  body .page>.header.v774-luxury-header .brand,
  body .page>.header.v774-luxury-header.v957-scrolled .brand {
    grid-area:brand !important;
    display:grid !important;
    grid-template-columns:126px 1px minmax(0, 1fr) !important;
    align-items:center !important;
    align-self:center !important;
    gap:16px !important;
    width:100% !important;
    max-width:440px !important;
    min-width:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    transition:none !important;
  }

  body .page>.header.v774-luxury-header .logo-crop,
  body .page>.header.v774-luxury-header.v957-scrolled .logo-crop {
    position:relative !important;
    display:block !important;
    width:126px !important;
    height:126px !important;
    min-width:126px !important;
    min-height:126px !important;
    max-width:126px !important;
    max-height:126px !important;
    flex:0 0 126px !important;
    margin:0 !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:50% !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    transition:none !important;
  }

  body .page>.header.v774-luxury-header .logo-crop .logo,
  body .page>.header.v774-luxury-header.v957-scrolled .logo-crop .logo {
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
    flex:none !important;
    margin:0 !important;
    object-fit:cover !important;
    object-position:center !important;
    border:0 !important;
    border-radius:50% !important;
    outline:0 !important;
    box-shadow:none !important;
    transform:none !important;
    cursor:zoom-in !important;
    transition:none !important;
  }

  body .page>.header.v774-luxury-header .logo:hover,
  body .page>.header.v774-luxury-header.v957-scrolled .logo:hover {
    transform:none !important;
    filter:none !important;
  }

  body .page>.header.v774-luxury-header .v774-brand-divider,
  body .page>.header.v774-luxury-header.v957-scrolled .v774-brand-divider {
    display:block !important;
    width:1px !important;
    height:88px !important;
    align-self:center !important;
    background:linear-gradient(180deg, transparent, #d7ae43 13%, #f0cf73 50%, #d7ae43 87%, transparent) !important;
    box-shadow:0 0 7px rgba(229,191,88,.34) !important;
    transition:none !important;
  }

  body .page>.header.v774-luxury-header .brand-copy,
  body .page>.header.v774-luxury-header.v957-scrolled .brand-copy {
    display:block !important;
    min-width:0 !important;
    align-self:center !important;
    overflow:visible !important;
  }

  body .page>.header.v774-luxury-header .brand-copy strong,
  body .page>.header.v774-luxury-header.v957-scrolled .brand-copy strong {
    display:block !important;
    margin:0 0 5px !important;
    font-size:clamp(43px, 2.8vw, 54px) !important;
    line-height:.92 !important;
    letter-spacing:.025em !important;
    color:#e8c763 !important;
    background:linear-gradient(180deg, #fff0a7 0%, #e4bd55 53%, #b47b18 100%) !important;
    -webkit-background-clip:text !important;
    background-clip:text !important;
    -webkit-text-fill-color:transparent !important;
    text-shadow:0 2px 16px rgba(227,187,73,.10) !important;
    transition:none !important;
  }

  body .page>.header.v774-luxury-header .brand-copy span,
  body .page>.header.v774-luxury-header.v957-scrolled .brand-copy span {
    display:block !important;
    max-width:275px !important;
    color:#faf7ec !important;
    font-size:clamp(17px, .98vw, 19px) !important;
    line-height:1.12 !important;
    letter-spacing:.005em !important;
    white-space:normal !important;
    text-shadow:0 2px 8px rgba(0,0,0,.32) !important;
    transition:none !important;
  }

  body .page>.header.v774-luxury-header .header-right-stack,
  body .page>.header.v774-luxury-header.v957-scrolled .header-right-stack {
    grid-area:right !important;
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) max-content 132px minmax(0, 1fr) !important;
    grid-template-rows:42px 42px !important;
    grid-template-areas:none !important;
    align-content:center !important;
    justify-content:stretch !important;
    align-self:center !important;
    gap:8px 10px !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    transition:none !important;
  }

  body .page>.header.v774-luxury-header .actions,
  body .page>.header.v774-luxury-header.v957-scrolled .actions {
    grid-area:auto !important;
    grid-row:1 !important;
    grid-column:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex-wrap:nowrap !important;
    gap:11px !important;
    width:max-content !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  body .page>.header.v774-luxury-header .header-lang,
  body .page>.header.v774-luxury-header.v957-scrolled .header-lang {
    grid-area:auto !important;
    grid-row:1 !important;
    grid-column:3 !important;
    display:block !important;
    position:relative !important;
    align-self:center !important;
    justify-self:start !important;
    box-sizing:border-box !important;
    width:132px !important;
    min-width:132px !important;
    max-width:132px !important;
    height:42px !important;
    margin:0 !important;
    padding:0 !important;
  }

  body .page>.header.v774-luxury-header .header-lang::before,
  body .page>.header.v774-luxury-header.v957-scrolled .header-lang::before {
    left:14px !important;
    top:50% !important;
    width:17px !important;
    height:17px !important;
  }

  body .page>.header.v774-luxury-header .lang-label,
  body .page>.header.v774-luxury-header .mobile-contact-link,
  body .page>.header.v774-luxury-header.v957-scrolled .lang-label,
  body .page>.header.v774-luxury-header.v957-scrolled .mobile-contact-link {
    display:none !important;
  }

  body .page>.header.v774-luxury-header .lang-select,
  body .page>.header.v774-luxury-header.v957-scrolled .lang-select {
    display:block !important;
    width:132px !important;
    min-width:132px !important;
    max-width:132px !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:7px 29px 7px 39px !important;
    border:1px solid rgba(231,193,84,.88) !important;
    border-radius:999px !important;
    background-color:rgba(0,19,15,.18) !important;
    color:#f7f1df !important;
    font-size:13px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025), 0 5px 12px rgba(0,0,0,.12) !important;
    transition:none !important;
  }

  body .page>.header.v774-luxury-header .nav,
  body .page>.header.v774-luxury-header.v957-scrolled .nav {
    grid-area:auto !important;
    grid-row:2 !important;
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:repeat(7, minmax(0, 1fr)) !important;
    align-items:stretch !important;
    justify-self:center !important;
    width:min(1218px, 100%) !important;
    min-width:0 !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:1px solid rgba(231,193,84,.82) !important;
    border-radius:16px !important;
    background:rgba(43,129,103,.56) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 4px 12px rgba(0,0,0,.12) !important;
  }

  body .page>.header.v774-luxury-header .nav a,
  body .page>.header.v774-luxury-header.v957-scrolled .nav a {
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:0 !important;
    width:100% !important;
    min-height:40px !important;
    height:40px !important;
    margin:0 !important;
    padding:5px 6px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#f7f2e4 !important;
    font-size:clamp(12.5px, .9vw, 17px) !important;
    line-height:1.05 !important;
    font-weight:600 !important;
    white-space:nowrap !important;
    text-align:center !important;
    text-decoration:none !important;
    text-shadow:0 1px 5px rgba(0,0,0,.30) !important;
    box-shadow:none !important;
    transition:background .18s ease, color .18s ease !important;
  }

  body .page>.header.v774-luxury-header .nav a:not(:last-child)::after,
  body .page>.header.v774-luxury-header.v957-scrolled .nav a:not(:last-child)::after {
    content:"" !important;
    position:absolute !important;
    top:20% !important;
    right:0 !important;
    width:1px !important;
    height:60% !important;
    background:rgba(238,190,64,.55) !important;
  }

  body .page>.header.v774-luxury-header .nav a:last-child::after,
  body .page>.header.v774-luxury-header.v957-scrolled .nav a:last-child::after {
    content:none !important;
  }

  body .page>.header.v774-luxury-header .nav a.active,
  body .page>.header.v774-luxury-header.v957-scrolled .nav a.active {
    color:#113d30 !important;
    font-weight:700 !important;
    background:linear-gradient(180deg, #ffdf79 0%, #dca52f 100%) !important;
    text-shadow:none !important;
  }

  body .page>.header.v774-luxury-header .nav a.active::before,
  body .page>.header.v774-luxury-header.v957-scrolled .nav a.active::before {
    content:none !important;
  }

  body .page>.header.v774-luxury-header .nav a:hover,
  body .page>.header.v774-luxury-header .nav a:focus-visible,
  body .page>.header.v774-luxury-header.v957-scrolled .nav a:hover,
  body .page>.header.v774-luxury-header.v957-scrolled .nav a:focus-visible {
    color:#ffe8a0 !important;
    background:rgba(255,255,255,.08) !important;
    outline:none !important;
  }

  body .page>.header.v774-luxury-header .nav a.active:hover,
  body .page>.header.v774-luxury-header.v957-scrolled .nav a.active:hover {
    color:#113d30 !important;
    background:linear-gradient(180deg, #ffea9d 0%, #edbd4b 100%) !important;
  }

  body .page>.header.v774-luxury-header .actions .btn,
  body .page>.header.v774-luxury-header .member-login-link,
  body .page>.header.v774-luxury-header.v957-scrolled .actions .btn,
  body .page>.header.v774-luxury-header.v957-scrolled .member-login-link {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    min-height:42px !important;
    height:42px !important;
    margin:0 !important;
    padding:8px 14px !important;
    border:1px solid rgba(231,193,84,.88) !important;
    border-radius:999px !important;
    background:rgba(0,19,15,.18) !important;
    color:#f7f1df !important;
    font-size:clamp(13px, .89vw, 16px) !important;
    line-height:1.05 !important;
    font-weight:600 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025), 0 5px 12px rgba(0,0,0,.12) !important;
    transition:background .18s ease, border-color .18s ease, transform .18s ease !important;
  }

  body .page>.header.v774-luxury-header .actions .btn:hover,
  body .page>.header.v774-luxury-header .member-login-link:hover,
  body .page>.header.v774-luxury-header.v957-scrolled .actions .btn:hover,
  body .page>.header.v774-luxury-header.v957-scrolled .member-login-link:hover {
    transform:translateY(-1px) !important;
    border-color:#f4d97d !important;
    background:rgba(255,255,255,.06) !important;
  }

  body .page>.header.v774-luxury-header .btn.gold,
  body .page>.header.v774-luxury-header.v957-scrolled .btn.gold {
    color:#17362b !important;
    background:linear-gradient(180deg, #ffe69a 0%, #e8bd4f 61%, #c99124 100%) !important;
    border-color:#f3d472 !important;
    font-weight:800 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.66), 0 5px 13px rgba(0,0,0,.20) !important;
  }

  body .page>.header.v774-luxury-header .actions .btn:focus-visible,
  body .page>.header.v774-luxury-header .member-login-link:focus-visible,
  body .page>.header.v774-luxury-header .lang-select:focus-visible,
  body .page>.header.v774-luxury-header.v957-scrolled .actions .btn:focus-visible,
  body .page>.header.v774-luxury-header.v957-scrolled .member-login-link:focus-visible,
  body .page>.header.v774-luxury-header.v957-scrolled .lang-select:focus-visible {
    outline:3px solid #f4d97d !important;
    outline-offset:3px !important;
  }
}

/* Retain a steady desktop header if a cached V957 scroll script adds its old class. */
@media (min-width:1241px) and (max-width:1699px) {
  body .page>.header.v774-luxury-header.v957-scrolled {
    transition:none !important;
    min-height:136px !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
    gap:clamp(18px, 2vw, 32px) !important;
  }
  body .page>.header.v774-luxury-header.v957-scrolled .brand {
    grid-template-columns:126px 1px minmax(0, 1fr) !important;
    gap:17px !important;
  }
  body .page>.header.v774-luxury-header.v957-scrolled .logo-crop {
    width:126px !important;
    height:126px !important;
    min-width:126px !important;
    min-height:126px !important;
    max-width:126px !important;
    max-height:126px !important;
    flex-basis:126px !important;
  }
  body .page>.header.v774-luxury-header.v957-scrolled .v774-brand-divider { height:76px !important; }
  body .page>.header.v774-luxury-header.v957-scrolled .brand-copy strong {
    font-size:clamp(43px, 3.25vw, 56px) !important;
    margin-bottom:5px !important;
  }
  body .page>.header.v774-luxury-header.v957-scrolled .brand-copy span {
    font-size:clamp(16px, 1.13vw, 20px) !important;
    max-width:275px !important;
  }
}
