/* NORZAR V196 — final cross-page consistency layer */
html{scroll-padding-top:96px;}
body{overflow-x:hidden;}
img{max-width:100%;}

/* Shared desktop header geometry + typography. */
@media (min-width:1101px){
  .site-header .container.nav,
  .site-header .nav{
    width:min(1180px,calc(100% - 36px))!important;
    max-width:1180px!important;
    height:90px!important;
    min-height:90px!important;
    margin-inline:auto!important;
    display:grid!important;
    grid-template-columns:285px minmax(0,1fr) auto!important;
    column-gap:20px!important;
    align-items:center!important;
    padding:0!important;
  }
  .site-header .brand{
    grid-column:1!important;
    width:285px!important;
    min-width:285px!important;
    max-width:285px!important;
    margin:0!important;
    justify-self:start!important;
  }
  .site-header .brand img{flex:0 0 auto!important;}
  .site-header .navlinks,
  .site-header .nav-links{
    grid-column:2!important;
    display:flex!important;
    align-items:center!important;
    justify-self:end!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
    gap:18px!important;
  }
  .site-header .navlinks>a,
  .site-header .nav-links>a,
  .site-header .owner-nav-link{
    margin:0!important;
    padding:10px 0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    color:#fff!important;
    font-size:.86rem!important;
    font-weight:760!important;
    line-height:1.15!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    text-decoration:none!important;
  }
  .site-header .owner-nav-group{gap:3px!important;}
  .site-header .langs{
    grid-column:3!important;
    justify-self:end!important;
    margin:0!important;
  }
  .site-header .menu,
  .site-header .menu-btn,
  .site-header #menu{display:none!important;}

  /* Contact Us is a normal navigation link, not a CTA. */
  .site-header .navlinks>a.nav-contact,
  .site-header .nav-links>a.nav-contact{
    padding:10px 0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    color:#fff!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
  }
  .site-header .navlinks>a>span,
  .site-header .nav-links>a>span,
  .site-header .owner-nav-link>span{position:relative!important;display:inline-block!important;}
  .site-header .navlinks>a.active,
  .site-header .nav-links>a.active,
  .site-header .navlinks>a[aria-current="page"],
  .site-header .nav-links>a[aria-current="page"],
  .site-header .owner-nav-link.active,
  .site-header .owner-nav-group.owner-section-active>.owner-nav-link{color:#dfb85e!important;}
  .site-header .navlinks>a.active>span::after,
  .site-header .nav-links>a.active>span::after,
  .site-header .navlinks>a[aria-current="page"]>span::after,
  .site-header .nav-links>a[aria-current="page"]>span::after,
  .site-header .owner-nav-link.active>span::after,
  .site-header .owner-nav-group.owner-section-active>.owner-nav-link>span::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:-9px!important;
    height:2px!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,#c99335,#dfb85e,#f0ca72)!important;
    opacity:1!important;
    transform:none!important;
    display:block!important;
  }
  @media (hover:hover) and (pointer:fine){
    .site-header .navlinks>a:hover,
    .site-header .nav-links>a:hover,
    .site-header .owner-nav-link:hover{color:#dfb85e!important;}
  }
}
/* One mobile/tablet header breakpoint on every page. */
@media (max-width:1100px){
  .site-header .container.nav,
  .site-header .nav{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    height:72px!important;
    min-height:72px!important;
    margin-inline:auto!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }
  .site-header .brand{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
  .site-header .brand img{width:52px!important;height:52px!important;object-fit:contain!important;}
  .site-header .brand-division{display:none!important;}
  .site-header .langs{
    position:static!important;
    margin-left:auto!important;
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    flex:0 0 auto!important;
  }
  .site-header .lang,
  .site-header .lang-btn{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;}
  .site-header #menu,
  .site-header .menu,
  .site-header .menu-btn{
    display:grid!important;
    place-items:center!important;
    position:relative!important;
    inset:auto!important;
    margin:0!important;
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:0!important;
    color:#fff!important;
    background:transparent!important;
    border:0!important;
    border-radius:10px!important;
    font-size:1.55rem!important;
    line-height:1!important;
    z-index:1202!important;
  }
  .site-header .navlinks,
  .site-header .nav-links{
    position:fixed!important;
    top:72px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:12px!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    background:rgba(6,25,45,.995)!important;
    border:1px solid rgba(223,184,94,.18)!important;
    border-top:0!important;
    border-radius:0 0 18px 18px!important;
    box-shadow:0 18px 38px rgba(0,0,0,.24)!important;
    z-index:1200!important;
  }
  .site-header .navlinks.open,
  .site-header .nav-links.open{display:flex!important;}
  .site-header .navlinks>a,
  .site-header .nav-links>a,
  .site-header .owner-nav-link{
    width:100%!important;
    min-height:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    color:#fff!important;
    background:transparent!important;
    border:0!important;
    border-radius:10px!important;
    box-shadow:none!important;
    font-size:.94rem!important;
    font-weight:760!important;
    line-height:1.15!important;
    text-decoration:none!important;
  }
  .site-header .navlinks>a.nav-contact,
  .site-header .nav-links>a.nav-contact{margin:0!important;padding:0 14px!important;color:#fff!important;background:transparent!important;}
  .site-header .owner-nav-group{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;gap:0!important;width:100%!important;}
  .site-header .owner-nav-toggle{width:44px!important;height:44px!important;}
  .site-header .owner-dropdown{grid-column:1/-1!important;position:static!important;transform:none!important;width:100%!important;margin:0!important;display:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;box-shadow:none!important;}
  .site-header .owner-nav-group.is-open .owner-dropdown,
  .site-header .owner-nav-group:focus-within .owner-dropdown{display:block!important;}
  .site-header .navlinks>a.active,
  .site-header .nav-links>a.active,
  .site-header .navlinks>a[aria-current="page"],
  .site-header .nav-links>a[aria-current="page"],
  .site-header .owner-nav-link.active,
  .site-header .owner-nav-group.owner-section-active>.owner-nav-link{color:#dfb85e!important;}
  .site-header .navlinks>a>span::after,
  .site-header .nav-links>a>span::after,
  .site-header .owner-nav-link>span::after{content:none!important;display:none!important;}
}


/* Small usability consistency. */
.site-header a:focus-visible,.site-header button:focus-visible,a.btn:focus-visible,button.btn:focus-visible{outline:3px solid rgba(223,184,94,.58)!important;outline-offset:3px!important;}
#guest-reviews{scroll-margin-top:110px;}

/* NORZAR V195 — mobile header: move Home out of the opened navigation and into the top bar. */
.mobile-home-top{display:none!important;}
@media (max-width:1100px){
  .site-header .nav-home-link{display:none!important;}
  .site-header .mobile-home-top{
    display:grid!important;
    place-items:center!important;
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    margin:0 0 0 1px!important;
    padding:0!important;
    color:#fff!important;
    background:rgba(255,255,255,.035)!important;
    border:1px solid rgba(223,184,94,.20)!important;
    border-radius:10px!important;
    text-decoration:none!important;
    box-shadow:none!important;
    position:relative!important;
    z-index:1202!important;
  }
  .site-header .mobile-home-top::before{
    content:"";
    display:block;
    width:19px;
    height:19px;
    background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.7 2.2 11.3l1.7 1.9 1.5-1.3v8.5h5.1v-5.7h3v5.7h5.1v-8.5l1.5 1.3 1.7-1.9L12 2.7Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.7 2.2 11.3l1.7 1.9 1.5-1.3v8.5h5.1v-5.7h3v5.7h5.1v-8.5l1.5 1.3 1.7-1.9L12 2.7Z'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .site-header .mobile-home-top[aria-current="page"]{color:#dfb85e!important;border-color:rgba(223,184,94,.46)!important;background:rgba(223,184,94,.08)!important;}
  .site-header .mobile-home-top:active{transform:translateY(1px);}
}
@media (max-width:360px){
  .site-header .container.nav,.site-header .nav{gap:7px!important;}
  .site-header .mobile-home-top{flex-basis:36px!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;}
  .site-header .lang,.site-header .lang-btn{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;}
  .site-header #menu,.site-header .menu,.site-header .menu-btn{flex-basis:42px!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;}
}

/* V195.1 — ensure Home is removed from the opened mobile drawer (higher specificity than drawer link rules). */
@media (max-width:1100px){
  .site-header .navlinks > a.nav-home-link,
  .site-header .nav-links > a.nav-home-link{
    display:none!important;
  }
}


/* NORZAR V196 — responsive polish, mobile drawer backdrop and touch targets. */
:where(section,main,div)[id]{scroll-margin-top:108px;}
.norzar-nav-backdrop{display:none;}
.qr-item .ux-whatsapp-number,.contact-channel-block .ux-whatsapp-number{
  display:block!important;margin-top:5px!important;color:inherit!important;opacity:.78!important;
  font-size:.69rem!important;line-height:1.25!important;font-weight:760!important;letter-spacing:.01em!important;
}
@media(max-width:1100px){
  body.norzar-nav-open{overflow:hidden!important;}
  .site-header .norzar-nav-backdrop{
    display:block;position:fixed;inset:72px 0 0 0;background:rgba(2,12,22,.52);
    -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;visibility:hidden;
    transition:opacity .18s ease,visibility .18s ease;z-index:1190;pointer-events:none;
  }
  .site-header .norzar-nav-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto;}
  .site-header .mobile-home-top,.site-header .lang,.site-header .lang-btn,.site-header #menu,.site-header .menu,.site-header .menu-btn{touch-action:manipulation;}
  .site-header .mobile-home-top{box-shadow:0 6px 18px rgba(0,0,0,.08)!important;}
}
@media(min-width:361px) and (max-width:1100px){
  .site-header .lang,.site-header .lang-btn{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;}
}
@media(max-width:620px){
  :where(section,main,div)[id]{scroll-margin-top:88px;}
}
@media(prefers-reduced-motion:reduce){
  .site-header .norzar-nav-backdrop{transition:none!important;}
}

/* V199 — readable, consistent interaction and responsive finishing. */
.norzar-skip-link{position:fixed;left:16px;top:12px;z-index:2147483100;padding:12px 18px;background:#fff;color:#06192d;border:2px solid #8c631e;border-radius:8px;transform:translateY(-160%);font:700 1rem/1.3 system-ui;text-decoration:none;}
.norzar-skip-link:focus{transform:translateY(0);}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #a46f1b;outline-offset:4px;}
main:focus{outline:none;}
html{scroll-padding-top:104px;}
/* Use a single anchor offset: scroll-padding and scroll-margin otherwise add up. */
:where(section,main,div,form)[id],#guest-reviews{scroll-margin-top:12px!important;}
h1,h2{text-wrap:balance;}p{text-wrap:pretty;}
main p{overflow-wrap:break-word;}
.norzar-consent{width:min(560px,100%);padding:24px;max-height:calc(100dvh - 32px);}
.norzar-consent p{font-size:.9rem;line-height:1.6;}
.norzar-consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.norzar-consent-actions button:last-child:nth-child(3){grid-column:1/-1;}
.norzar-consent-btn{line-height:1.3;}
.norzar-consent-actions:has(button:only-child){grid-template-columns:1fr;}
.norzar-consent-backdrop{overscroll-behavior:contain;}
body:has(.norzar-consent-backdrop){overflow:hidden;}
.page-home .home-services{background:#f7f4ed!important;}
.page-home .home-service-card{border-color:#dfd7c8!important;}
.page-home .home-service-card:hover{border-color:#b8832f!important;}
.page-home .hero-services-link{border:1px solid rgba(255,255,255,.6)!important;background:rgba(6,25,45,.3)!important;color:#fff!important;}
.page-home .hero-copy p{max-width:58ch!important;}
.page-home .home-reviews{padding-top:48px!important;padding-bottom:64px!important;}
.page-home #about{background:#faf9f6;}
.page-home .owner-commitment{padding-top:64px!important;padding-bottom:64px!important;}
@media(min-width:1101px) and (max-width:1250px){
 .site-header .container.nav,.site-header .nav{grid-template-columns:220px minmax(0,1fr) auto!important;column-gap:14px!important;}
 .site-header .brand{width:220px!important;min-width:220px!important;max-width:220px!important;}
 .site-header .navlinks,.site-header .nav-links{gap:14px!important;}
 .site-header .navlinks>a,.site-header .owner-nav-link{font-size:.8rem!important;}
}
@media(max-width:1100px){
 html{scroll-padding-top:84px;}
 .site-header .navlinks,.site-header .nav-links{max-height:calc(100dvh - 84px)!important;overflow-y:auto!important;overscroll-behavior:contain;}
 .site-header .navlinks>a,.site-header .nav-links>a,.site-header .owner-nav-link{min-height:48px!important;height:auto!important;padding:12px 14px!important;}
 .site-header .owner-nav-toggle{height:48px!important;}
 .site-header .owner-dropdown a{min-height:44px!important;display:flex!important;align-items:center!important;}
 .site-header .owner-nav-group:focus-within:not(.is-open):not(.hover-open) .owner-dropdown{display:none!important;}
}
@media(min-width:361px) and (max-width:1100px){
 .site-header .lang,.site-header .lang-btn{width:40px!important;min-width:40px!important;height:44px!important;min-height:44px!important;}
}
@media(max-width:760px){
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;}
 .page-home .hero-copy h1{font-size:clamp(2rem,7.8vw,3.1rem)!important;line-height:1.12!important;}
 .page-home .hero-copy p{font-size:1rem!important;line-height:1.65!important;}
 .page-home .hero-copy .cta-row{gap:10px!important;}
 .page-home .hero-copy .cta-row .btn{min-height:48px!important;}
 .page-home .section{padding-block:48px!important;}
 .page-home .home-section-head h2,.page-home .about-copy h2{font-size:clamp(1.8rem,6.5vw,2.45rem)!important;line-height:1.16!important;}
 .page-home .owner-commit-grid{gap:14px!important;}
 .ux-mobile-conversion{padding-bottom:max(10px,env(safe-area-inset-bottom))!important;}
 .footer-v117-meta{overflow-wrap:anywhere;}
 .norzar-consent{padding:20px;}
 .norzar-consent-actions{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important;}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}
/* The previous mobile rules hid the service disclosure button completely. */
@media(max-width:1100px){
 .site-header .owner-nav-toggle{display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(223,184,94,.25)!important;}
 .site-header .owner-nav-toggle svg{width:16px!important;height:16px!important;}
 .site-header .owner-nav-group.is-open .owner-dropdown{display:block!important;padding:5px 0 8px 14px!important;margin:4px 0 6px!important;border-left:2px solid #b8832f!important;border-radius:0!important;}
}
@media(max-width:620px){
 .page-home .photo-stack{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
 .page-home .photo-stack .large{grid-column:1/-1!important;grid-row:auto!important;min-height:0!important;height:240px!important;}
 .page-home .photo-stack .small{height:130px!important;min-height:0!important;}
}
/* Restore a clear primary action on the desktop hero as well as on mobile. */
.page-home .main-hero .cta-row a.btn-gold{padding:13px 20px!important;background:#d2a442!important;border:1px solid #d2a442!important;color:#06192d!important;min-height:48px!important;}
.page-home .main-hero .cta-row a.btn-gold::after{color:inherit!important;}
@media(max-width:620px){
 .home-contact-card>*,.home-realestate-inner>*{min-width:0!important;}
 .home-contact-actions .btn{white-space:normal!important;overflow-wrap:anywhere;max-width:100%;text-align:center;}
 .holiday-jump-nav{flex-wrap:wrap!important;justify-content:center!important;overflow:visible!important;}
}
@media(max-width:1100px){
 .site-header .owner-nav-group{height:auto!important;min-height:48px!important;flex:0 0 auto!important;grid-template-rows:48px auto!important;align-items:start!important;}
 .site-header .owner-dropdown{height:auto!important;max-height:none!important;left:auto!important;right:auto!important;top:auto!important;}
 .site-header .navlinks>a,.site-header .nav-links>a{flex-shrink:0!important;}
}
.page-home .main-hero .cta-row a.btn-gold{border-radius:999px!important;}
/* Self-hosted Chinese glyphs avoid dependence on the visitor's installed fonts. */
@font-face{font-family:'Norzar Chinese';src:url('norzar-chinese-v199.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;}
html:lang(zh) body,html:lang(zh) h1,html:lang(zh) h2,html:lang(zh) h3,html:lang(zh) button,html:lang(zh) input,html:lang(zh) select,html:lang(zh) textarea,html:lang(zh) .norzar-consent-btn{font-family:'Norzar Chinese',system-ui,-apple-system,'PingFang SC','Microsoft YaHei',sans-serif!important;}
html:lang(zh) h1,html:lang(zh) h2{line-height:1.35!important;}
html:lang(zh) .hero-copy p{line-height:1.8!important;}
html:lang(zh) body.page-home .hero-card h2.hero-card-title,
html:lang(zh) body.page-realestate .re-feature-card h2.re-feature-title{font-family:'Norzar Chinese',system-ui,'PingFang SC','Microsoft YaHei',sans-serif!important;line-height:1.5!important;}
