/* Logo: crop to top R only */
.site-logo-container img, .ct-header [data-id="logo"] img, header img.default-logo {
  height: 48px !important; width: auto !important; max-height: none !important;
  object-fit: cover !important; object-position: top center !important; aspect-ratio: 400 / 175 !important;
}
/* Site title: deep black-gold */
.site-title, .site-title a { color: #4A3B26 !important; font-size: 19px !important; font-weight: 500 !important; letter-spacing: 0.01em; }
@media (max-width: 768px) {
  .site-logo-container img, header img.default-logo { height: 32px !important; }
  .site-title, .site-title a { font-size: 14px !important; }
}
/* Sticky header - precise selectors only matching the real header tag, NOT offcanvas */
header#masthead, header.ct-header {
  position: -webkit-sticky !important; position: sticky !important;
  top: 0 !important; z-index: 999 !important;
  background: #F9F6F0 !important;
}
/* Hero text paragraphs: limit line width for better readability */
section.hero p:not(.hero-headline-zh-sub):not(.hero-welcome-en) {
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
section.hero .hero-headline-zh-sub,
section.hero .hero-welcome-en {
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width:768px){
  section.hero p { max-width: 92% !important; }
}

/* Move rose up - reduce its top margin */
.hero-rose { margin-top: 1rem !important; margin-bottom: -2rem !important; }
.hero-rose img { display: block; margin: 0 auto; }
@media (max-width:768px){ .hero-rose { margin-top: 0.5rem !important; margin-bottom: -1.5rem !important; } }

/* Footer copyright center */
footer .copyright, footer [class*="copyright"], .ct-footer .copyright {
  text-align: center !important;
}
footer .copyright a, footer [class*="copyright"] a {
  color: inherit !important;
  opacity: 0.85;
  text-decoration: none;
}
footer .copyright a:hover, footer [class*="copyright"] a:hover {
  opacity: 1;
  text-decoration: underline;
}

/* ct-footer-copyright actual centering */
.ct-footer-copyright {
  flex: 1 !important;
  text-align: center !important;
  width: 100% !important;
}
.ct-footer-copyright p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Footer container fullwidth - so copyright can center within it */
.ct-footer .ct-container {
  width: 100% !important;
  max-width: 100% !important;
  justify-self: center !important;
  text-align: center !important;
}
.ct-footer [data-row="bottom"] { justify-content: center !important; }
.ct-footer [data-row="bottom"] > div { width: 100% !important; }
