/* Treasure Home — unified full-width site header geometry, V181.
   Landing, consultation, listing, detail and administration pages use the
   same wide shell. The separate treasurehome.jp site is not modified here.
   All pages use the native 556 x 118 horizontal logo without stretching.
*/
:root {
  --th-header-height: 89px;
  --th-header-gutter: clamp(16px,2.8vw,44px);
  --th-header-logo-width: 278px;
  --th-header-nav-size: 13px;
  --th-header-nav-gap: 0px;
  --th-header-nav-padding: 10px;
}
.site-header .header-inner,
.th-public-header .th-public-header-inner,
.contact-header .contact-header-inner {
  width:100%;
  max-width:none;
  min-height: var(--th-header-height);
  margin:0;
  padding-left:var(--th-header-gutter);
  padding-right:var(--th-header-gutter);
  display:flex;
  align-items:center;
  box-sizing:border-box;
  gap:24px;
}
.th-public-header { min-height:var(--th-header-height); }
.site-header .header-inner .brand,
.th-public-header .th-public-header-inner .th-public-brand,
.contact-header .contact-header-inner .contact-brand {
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  min-width:0;
  padding:0;
  margin:0;
  line-height:1;
}
.site-header .header-inner .brand img.logo-zh,
.site-header .header-inner .brand img.logo-en,
.th-public-header .th-public-header-inner .th-public-brand img,
.contact-header .contact-header-inner .contact-brand img {
  display:block;
  width:var(--th-header-logo-width)!important;
  max-width:var(--th-header-logo-width)!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:556 / 118;
  object-fit:contain;
  object-position:left center;
  margin:0;
  padding:0;
  border:0;
}

/* Keep each header's native controls while sharing one navigation rhythm. */
.site-header .nav,
.th-public-header .th-public-nav,
.contact-header .contact-nav {
  min-width:0;
  margin:0;
  margin-left:auto;
  align-items:center;
  justify-content:flex-end;
  gap:var(--th-header-nav-gap);
  color:#4a4a4a;
  font-size:var(--th-header-nav-size);
  font-weight:400;
  line-height:1.5;
  letter-spacing:.08em;
}
.site-header .nav > a,
.th-public-header .th-site-links > a,
.th-public-header .th-favorites-link,
.th-public-header .th-header-contact,
.contact-header .contact-nav > a {
  min-height:40px;
  padding:var(--th-header-nav-padding);
  font-size:var(--th-header-nav-size);
  font-weight:500;
  line-height:1.5;
  letter-spacing:.08em;
}
.site-header .language-toggle,
.th-public-header .languages,
.contact-header .language-switch {
  margin-left:8px;
}
.site-header .language-toggle a,
.site-header .language-toggle button,
.th-public-header .languages a,
.contact-header .language-switch button {
  font-size:12px!important;
  letter-spacing:0;
}
/* English labels are materially longer than the Japanese reference menu.
   Compact only their text rhythm so the 278px company mark stays untouched. */
html[lang="en"] .site-header .nav > a {
  padding-left:6px;
  padding-right:6px;
  font-size:12.5px;
  letter-spacing:.02em;
}
html[lang="en"] .site-header .nav .nav-properties-link {
  padding-left:8px;
  padding-right:8px;
  font-weight:600;
}
@media (max-width:900px) {
  :root {
    --th-header-gutter:16px;
    --th-header-height:72px;
    --th-header-logo-width:210px;
    --th-header-nav-size:12px;
    --th-header-nav-padding:8px;
  }
  .site-header .nav,
  .th-public-header .th-public-nav,
  .contact-header .contact-nav {
    letter-spacing:0;
  }
}
@media (max-width:760px) {
  :root { --th-header-logo-width:184px; }
}
@media (max-width:420px) {
  :root {
    --th-header-gutter:12px;
    --th-header-height:68px;
    --th-header-logo-width:clamp(150px,46vw,174px);
  }
}
