/* Dinyuan-specific overrides requested by the annotated brief. */
.main-header .outer-box:before { width: 17%; clip-path: polygon(0 0, 100% 0, 100% 100%, 18% 100%); }
.main-header .outer-box .menu-area { width: 58%; }
.main-header .outer-box .btn-box { position: relative; z-index: 2; }
.dinyuan-wordmark { display: inline-flex; flex-direction: column; justify-content: center; color: #fff; line-height: 1; text-decoration: none; white-space: nowrap; }
.dinyuan-wordmark strong { font-family: "Lora", serif; font-size: 24px; font-weight: 600; letter-spacing: .02em; }
.dinyuan-wordmark span { margin-top: 6px; font-family: "Open Sans", sans-serif; font-size: 8px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.main-header.home-two .header-lower .dinyuan-wordmark,
.mobile-menu .dinyuan-wordmark { color: #171d28; }
.main-header .logo-box .dinyuan-wordmark,
.mobile-menu .nav-logo .dinyuan-wordmark {
  display: block;
  width: 220px;
  height: 68px;
  overflow: hidden;
  flex: none;
  text-indent: -9999px;
  background: url("../images/dinyuan/menu-logo.png") center / contain no-repeat;
}
.main-header:not(.home-two) .header-lower .logo-box .dinyuan-wordmark,
.main-header:not(.home-two) .sticky-header .logo-box .dinyuan-wordmark,
.mobile-menu .nav-logo .dinyuan-wordmark {
  filter: brightness(0) invert(1);
}
.footer-logo .dinyuan-wordmark { color: #fff; }
.dinyuan-copy p:last-child { margin-bottom: 0 !important; }
.dinyuan-action-grid .case-style-001 { display: flex; flex-direction: column; }
.dinyuan-action-grid .case-inner { flex: 1; }
.dinyuan-action-grid .image-box img { width: 100%; height: 245px; object-fit: cover; }
.dinyuan-action-center-grid .news-block-01 .image-box img { width: 100%; height: 250px; object-fit: cover; }
.dinyuan-careers .quote-block .image-content p { margin-bottom: 0; }
.dinyuan-careers .dinyuan-job-description { min-height: 92px; }

/* F3: keep the hero copy stationary while retaining the existing background carousel. */
.dinyuan-static-copy { position: relative; }
.dinyuan-static-copy .banner-carousel .content-inner { visibility: hidden; }
.dinyuan-hero-copy {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}
.dinyuan-hero-copy .btn-box a { pointer-events: auto; }

/* F3: four semantic service items are a responsive grid, not a draggable carousel. */
.dinyuan-four-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
}
.dinyuan-four-grid > .service-item-01 { min-width: 0; height: 100%; }
.dinyuan-four-grid > .service-item-01 > .inner { height: 100%; }
.dinyuan-solutions-grid > .service-item-01 { display: flex; flex-direction: column; }
.dinyuan-solutions-grid .text-area { display: flex; flex: 1; flex-direction: column; }
.dinyuan-solutions-grid .text-area .text { flex: 1; }
.service-item-01 .inner .icon img {
  width: 50px;
  height: 50px;
  object-fit: contain;
}

/* F3: align the two charter columns without forcing fixed content heights. */
@media only screen and (min-width: 992px) {
  .dinyuan-charter-equal h1 { white-space: nowrap; }
  .dinyuan-charter-equal .row > [class*="col-"] { display: flex; }
  .dinyuan-charter-equal .left-side,
  .dinyuan-charter-equal .right-side,
  .dinyuan-charter-equal .left-side .text,
  .dinyuan-charter-equal .right-side .text { width: 100%; height: 100%; }
  .dinyuan-charter-equal .left-side .text,
  .dinyuan-charter-equal .right-side .text { display: flex; flex-direction: column; }
  .dinyuan-charter-equal .link-btn { margin-top: auto !important; padding-top: 50px; }
}

/* Annotated UI pass: move the desktop Home contact control to the marked center. */
@media only screen and (min-width: 1201px) and (max-width: 1338px) {
  .main-header .outer-box > .btn-box .btn-one,
  .main-header.home-two .outer-box > .btn-box .btn-two { transform: translateX(80px); }
}
@media only screen and (min-width: 1339px) {
  .main-header .outer-box > .btn-box .btn-one,
  .main-header.home-two .outer-box > .btn-box .btn-two { transform: translateX(110px); }
}

/* Annotated UI pass: remove the generic container's blank top margin from the copyright bar. */
.footer-bottom .auto-container { margin-top: 0; }

/* F3: detail media and the Contact map must begin below, not over, page titles. */
.service-details .service-image,
.blog-details-one .image-box,
.location-map { margin-top: 70px; }

/* Contact page spacing: the map is followed by the address block with one
   deliberate rhythm instead of the template's duplicated 115px + 50px gap. */
.location-details { padding-top: 40px; margin-bottom: 50px; }
.location-details + .contact-page .auto-container { margin-top: 0; }

@media only screen and (max-width: 1338px) {
  .main-header .outer-box:before { width: 25%; }
  .main-header .outer-box .menu-area { width: 60%; }
}
@media only screen and (max-width: 1749px) {
  .dinyuan-hero-copy .content-box h2 { font-size: 70px; line-height: 80px; }
}
@media only screen and (max-width: 991px) {
  .dinyuan-four-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media only screen and (max-width: 767px) {
  .dinyuan-wordmark strong { font-size: 21px; }
  .dinyuan-wordmark span { font-size: 7px; }
  .main-header .logo-box .dinyuan-wordmark,
  .mobile-menu .nav-logo .dinyuan-wordmark { width: 180px; height: 55px; }
  .dinyuan-action-grid .image-box img { height: auto; }
  .dinyuan-action-center-grid .news-block-01 .image-box img { height: auto; }
  .dinyuan-hero-copy .content-box { padding: 200px 10px 120px !important; }
  .dinyuan-hero-copy .content-box h2 { font-size: 50px; line-height: 60px; }
}
@media only screen and (max-width: 575px) {
  .dinyuan-four-grid { grid-template-columns: 1fr; }
}
