/* Loaded only by the Projects archive, taxonomy and single-project templates. */
:root {
  --brand-primary: #0061AE;
  --brand-dark: #003C6C;
  --brand-gradient: linear-gradient(135deg, #0061AE 0%, #003C6C 100%);
  --bg-light-blue: #F0F6FB;
  --text-main: #333333;
}
body.project-brand {
  --paper: #FFFFFF;
  --ink: var(--text-main);
  --muted: var(--text-main);
  --olive: var(--brand-dark);
  --line: rgba(0, 97, 174, .14);
  color: var(--text-main);
  background: #FFFFFF;
}
body.project-brand ::selection { color: #FFFFFF; background: var(--brand-primary); }
/* Compact project index; category pages and project galleries keep their layouts. */
body.project-brand.post-type-archive-jiamu_project .projects-overview-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 24px;
}
body.project-brand.post-type-archive-jiamu_project .projects-overview-grid .case-card { min-width: 0; }
body.project-brand.post-type-archive-jiamu_project .projects-overview-grid .project-card-caption {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 20px;
}
body.project-brand.post-type-archive-jiamu_project .projects-overview-grid .case-card h3 {
  margin: 0;
  min-width: 0;
  font-size: clamp(25px, 2vw, 32px);
  line-height: 1.15;
  overflow-wrap: break-word;
}
body.project-brand.post-type-archive-jiamu_project .projects-overview-grid .project-card-category {
  max-width: 108px;
  color: var(--brand-primary);
  font: 400 11px/1.5 var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: right;
}
@media (max-width: 1099px) {
  body.project-brand.post-type-archive-jiamu_project .projects-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  body.project-brand.post-type-archive-jiamu_project .projects-overview-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
}
body.project-brand :focus-visible { outline-color: var(--brand-primary); }
body.project-brand main { background: #FFFFFF; color: var(--text-main); }
body.project-brand main :is(h1, h2, h3) { color: var(--brand-dark); }
body.project-brand main :is(h1, h2) em { color: var(--brand-primary); }
body.project-brand main :is(p, .case-deck, .case-summary-value) { color: var(--text-main); }
body.project-brand main :is(.eyebrow, .case-chapter-number) { color: var(--brand-primary); }
body.project-brand .case-breadcrumb { color: var(--text-main); }
body.project-brand .case-breadcrumb a,
body.project-brand .case-product-tags a { color: var(--brand-primary); border-color: rgba(0, 97, 174, .3); }
body.project-brand .case-breadcrumb [aria-current] { color: var(--brand-dark); }
body.project-brand .case-product-tags a:hover { color: var(--brand-dark); border-color: currentColor; }

/* Expand only outer layout wrappers. All existing gallery columns and image ratios remain intact. */
body.project-brand main > .wrap,
body.project-brand .site-footer.wrap {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: max(var(--gutter), calc((100% - 1540px) / 2));
}
body.project-brand main > div.wrap { padding-inline: 0; }
body.project-brand main > div.wrap > :is(nav.case-breadcrumb, section),
body.project-brand .case-chapters > .case-chapter {
  padding-inline: max(var(--gutter), calc((100% - 1540px) / 2));
}
body.project-brand main > section,
body.project-brand main > div.wrap > section { border: 0; }

/* Project details: white hero, ice-blue overview, then alternating gallery chapters. */
body.project-brand .case-hero-layout { background: #FFFFFF; padding-bottom: 64px; }
body.project-brand .case-summary { background: var(--bg-light-blue); }
body.project-brand .case-chapters { padding-block: 0; }
body.project-brand .case-chapter { background: #FFFFFF; padding-block: 64px; }
body.project-brand .case-chapter:nth-of-type(even) { background: var(--bg-light-blue); }
body.project-brand .case-pagination { background: var(--bg-light-blue); }

/* Overview and category layouts keep their existing content and order. */
body.project-brand .projects-overview-grid { background: #FFFFFF; padding-block: 64px; }
body.project-brand .projects-overview > .editorial-split { background: var(--bg-light-blue); }
body.project-brand .projects-overview > .case-motion { background: #FFFFFF; }
body.project-brand.tax-jiamu_project_type .projects-overview-grid { background: var(--bg-light-blue); }
body.project-brand .project-index > .wrap > section:first-of-type { background: #FFFFFF; }
body.project-brand .project-index > .case-motion,
body.project-brand .project-index .hotel-capabilities { background: var(--bg-light-blue); }
body.project-brand .project-index .hotel-capabilities { padding-block: 64px; }
body.project-brand .case-motion { border: 0; }
body.project-brand .hotel-capability-grid { border-top: 0; }
body.project-brand .editorial-point-list article { border-color: rgba(0, 97, 174, .14); }

/* White text and a deep blue overlay preserve contrast on photographic banners. */
body.project-brand .page-banner-hero { background-color: var(--brand-dark); }
body.project-brand .page-banner-overlay {
  background: linear-gradient(90deg, rgba(0, 30, 56, .86), rgba(0, 30, 56, .63) 68%, rgba(0, 30, 56, .35));
}
body.project-brand .page-banner-content :is(h1, h1 em, p, .eyebrow) { color: #FFFFFF; }

/* Project and related-project cards, video cards, and gallery image surfaces. */
body.project-brand :is(.case-card, .case-motion-card, .case-hero-visual, .editorial-split-media),
body.project-brand .case-image button {
  border-radius: 8px;
  box-shadow: 0 8px 30px rgba(0, 97, 174, .05);
}
body.project-brand :is(.case-card, .case-motion-card) { background: #FFFFFF; overflow: hidden; }
body.project-brand .case-card-meta { margin: 20px 22px 0; color: var(--brand-primary); }
body.project-brand .case-card h3 { margin: 8px 22px 24px; }
body.project-brand .case-motion-card h3 { margin: 22px 22px 10px; }
body.project-brand .case-motion-card p { margin: 0 22px 26px; }
body.project-brand .case-motion-card video { background: var(--brand-dark); }
body.project-brand .case-image button:focus-visible,
body.project-brand .case-hero-visual button:focus-visible { outline-offset: -4px; outline-color: #FFFFFF; }

/* Calls to action remain ordinary links/buttons with their existing destinations and handlers. */
body.project-brand main .text-link,
body.project-brand [data-enquiry],
body.project-brand .site-header .header-enquiry,
body.project-brand .footer-menu .footer-menu-list > button[data-enquiry],
body.project-brand #enquiry-dialog .quote-submit,
body.project-brand .gallery-open-label,
body.project-brand .case-image button::after,
body.project-brand .case-pagination .case-card-meta > span:first-child {
  border: 0;
  border-radius: 6px;
  padding: 13px 23px;
  min-height: 48px;
  color: #FFFFFF;
  background: var(--brand-gradient);
  box-shadow: 0 4px 14px rgba(0, 97, 174, .3);
  font: 500 15px/1.5 var(--sans);
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  transition: box-shadow .2s ease, filter .2s ease;
}
body.project-brand main .text-link:hover,
body.project-brand [data-enquiry]:hover,
body.project-brand .site-header .header-enquiry:hover,
body.project-brand .footer-menu .footer-menu-list > button[data-enquiry]:hover,
body.project-brand #enquiry-dialog .quote-submit:hover {
  color: #FFFFFF;
  background: var(--brand-gradient);
  box-shadow: 0 6px 20px rgba(0, 97, 174, .42);
  text-decoration: none;
  filter: brightness(1.06);
}
body.project-brand .gallery-open-label,
body.project-brand .case-image button::after { min-height: 42px; padding: 10px 15px; font-size: 14px; }
body.project-brand .case-pagination .case-card-meta { align-items: center; }
body.project-brand .case-pagination .case-card-meta > span:first-child { min-height: 42px; padding: 10px 16px; font-size: 14px; }
body.project-brand .case-pagination .case-card:hover .case-card-meta > span:first-child { box-shadow: 0 6px 20px rgba(0, 97, 174, .42); }

/* Scoped !important rules override the legacy shared CTA's !important declarations. */
body.project-brand :is(.case-enquiry, .refined-cta-band) { background: var(--brand-gradient) !important; }
body.project-brand :is(.case-enquiry-inner, .refined-cta-band-inner) {
  width: 100%;
  max-width: none;
  padding-inline: max(var(--gutter), calc((100% - 1540px) / 2)) !important;
}
body.project-brand :is(.case-enquiry, .refined-cta-band) :is(.text-link, .button) {
  background: var(--brand-gradient) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, .3) !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 14px rgba(0, 97, 174, .3) !important;
}
body.project-brand :is(.case-enquiry, .refined-cta-band) :is(.text-link, .button):hover {
  background: var(--brand-gradient) !important;
  color: #FFFFFF !important;
  border-color: rgba(255, 255, 255, .5) !important;
  box-shadow: 0 6px 20px rgba(0, 97, 174, .42) !important;
}
body.project-brand :is(.case-enquiry, .refined-cta-band, .gallery-dialog, .site-footer) :focus-visible { outline-color: #FFFFFF; }
body.project-brand .gallery-dialog { background: var(--brand-dark); color: #FFFFFF; }
body.project-brand .gallery-caption { color: #FFFFFF; }
body.project-brand .gallery-dialog::backdrop { background: rgba(0, 22, 40, .88); }

/* The same header and footer palette, only while visiting a Project page. */
body.project-brand .site-header { border-bottom: 0; }
body.project-brand .desktop-nav > a,
body.project-brand .desktop-nav > .nav-disclosure > :is(a, button) { color: var(--brand-dark); }
body.project-brand .site-header .header-enquiry::after { display: none; }
body.project-brand .product-menu-categories button:hover { background: var(--bg-light-blue); }
body.project-brand .product-menu-categories button[aria-pressed=true] { background: var(--brand-dark); color: #FFFFFF; }
body.project-brand .mega-menu { box-shadow: 0 16px 32px rgba(0, 60, 108, .09); }
@supports (mask-image: url("")) or (-webkit-mask-image: url("")) {
  body.project-brand .site-header .brand { position: relative; }
  body.project-brand .site-header .brand::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--brand-primary);
    -webkit-mask: url("assets/source-01.png") center / contain no-repeat;
    mask: url("assets/source-01.png") center / contain no-repeat;
    pointer-events: none;
  }
  body.project-brand .site-header .brand img { opacity: 0; }
}
body.project-brand .site-footer { background: var(--brand-dark); color: #FFFFFF; }
body.project-brand .site-footer .footer-logo img { filter: brightness(0) invert(1); }
body.project-brand .footer-grid .footer-menu h2 { color: #FFFFFF; border-bottom: 0; }
body.project-brand .footer-grid .footer-brand { border-color: rgba(255, 255, 255, .18); }
body.project-brand .footer-menu .footer-menu-list > a,
body.project-brand .footer-brand :is(p, .eyebrow),
body.project-brand .footer-legal,
body.project-brand .footer-legal > a { color: #DBEAF5; }
body.project-brand .footer-menu .footer-menu-list > a:hover,
body.project-brand .footer-legal > a:hover { color: #FFFFFF; }
body.project-brand .footer-legal { border-top-color: rgba(255, 255, 255, .18); }
body.project-brand .footer-menu .footer-menu-list > button[data-enquiry] { width: fit-content; margin-top: 14px; padding-inline: 16px; justify-content: center; }

@media (max-width: 600px) {
  body.project-brand .case-hero-layout { padding-bottom: 40px; }
  body.project-brand .case-chapter,
  body.project-brand .project-index .hotel-capabilities,
  body.project-brand .projects-overview-grid { padding-block: 44px; }
  body.project-brand .case-card-meta { margin: 18px 20px 0; }
  body.project-brand .case-card h3 { margin-inline: 20px; }
  body.project-brand .case-motion-card h3 { margin-inline: 20px; }
  body.project-brand .case-motion-card p { margin-inline: 20px; }
  body.project-brand .case-pagination-heading { align-items: flex-start; flex-wrap: wrap; }
  body.project-brand .case-pagination-heading .text-link { width: fit-content; }
  body.project-brand .footer-menu .footer-menu-list > button[data-enquiry] { font-size: 14px; padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  body.project-brand main .text-link,
  body.project-brand [data-enquiry],
  body.project-brand #enquiry-dialog .quote-submit { transition: none; }
}
