/* Spanish copy needs flexible line lengths and cards that grow with their text. */
html[lang="es"] { hyphens: manual; }
.header1 .header_mid_box { gap: 24px; }
.header1 .header_mid_left { flex: 0 0 auto; }
.header1 .header_mid_left img { width: 220px; max-width: 100%; height: auto; }
.header1 .header_mid_mid ul li a.biga > span { padding-right: 9px; padding-left: 9px; }
.header1 .navigate ul li a { white-space: normal; overflow-wrap: break-word; line-height: 1.5; }
.diy_banner { width: 100%; padding-right: 24px; }
.diy_banner_item1 { max-width: 760px; font-size: clamp(34px, 4.2vw, 58px); line-height: 1.1; }
.diy_banner_item2 { max-width: 670px; line-height: 1.65; padding: 24px 0 32px; }
.diy_banner_item3 { flex-wrap: wrap; gap: 12px; }
.diy_banner_item3 div { margin: 0; font-size: 16px; }
.index_headinfo_list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.index_headinfo_item { min-width: 0; max-width: none; margin: 0; padding-right: 12px; padding-left: 12px; }
.index_headinfo_item_text { font-size: 18px; line-height: 1.5; min-height: 104px; display: flex; align-items: center; justify-content: center; }
.index_about { min-height: 900px; height: auto; padding-bottom: 40px; }
.index_about_right { padding-bottom: 24px; }
.iar_1 { line-height: 1.25; }
.iar_2 p { line-height: 1.5; }
.iar_3 { font-size: 24px; line-height: 1.5; }
.index_advantages .row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; }
.index_advantages .index_advantages_item { max-width: none; width: auto; margin: 0 !important; padding: 24px; }
.iai_title { line-height: 1.35; }
.pages .yl-editorial-item__summary { display: block; -webkit-line-clamp: unset; overflow: visible; max-height: none; }
.case-photo figcaption, .case-hero__visual figcaption { flex-wrap: wrap; }
.pages .case-button, .pages .contact-submit { white-space: normal; text-align: center; }

@media (max-width: 1199px) {
  .page { padding-top: 70px; }
  header.header1 { position: fixed; height: 70px; padding: 5px 0; background: #fff; }
  header.header1 .container { position: relative; display: flex; justify-content: space-between; align-items: center; height: 100%; z-index: 778; }
  .header1 .navmask.show { opacity: .25; }
  .header1 .navmask { top: 70px; height: calc(100% - 70px); }
  header.header1:before { display: none; }
  .header1 .header_mid_box { width: 80%; }
  .header1 .header_mid_mid { display: none; }
  .header1 .mobilenav { display: block; }
  .header1 .header_mid_left { width: 100%; text-align: left; }
  .header1 .header_mid_left a { display: inline-block; }
  .header1 .header_mid_left img { max-height: 56px; width: auto; }
  .index_headinfo_list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .diy_banner { padding-left: 34px; }
}
@media (max-width: 991px) {
  .index_advantages .row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .index_about { min-height: 0; }
  .index_headinfo_item_text { min-height: 110px; }
}
@media (max-width: 767px) {
  .header1 .navigate { width: min(88%, 400px); }
  .header1 .navigate.show { left: auto; right: 0; }
  .header1 .navigate ul li a { margin-right: 24px; margin-left: 24px; }
  .diy_banner { height: 650px; padding: 56px 24px 100px; justify-content: center; }
  .sw_banner .banner-slide { min-height: 650px; }
  .diy_banner_item1 { max-width: 100%; font-size: clamp(30px, 7.8vw, 42px); line-height: 1.13; }
  .diy_banner_item2 { max-width: 100%; font-size: 16px; padding: 20px 0 24px; }
  #sw_banner .swiper-button-prev-banner, #sw_banner .swiper-button-next-banner { top: auto; bottom: 78px; }
  #sw_banner .swiper-button-prev-banner { left: 24px; }
  #sw_banner .swiper-button-next-banner { right: 24px; }
  .diy_banner_item3 { flex-direction: row; gap: 10px; }
  .diy_banner_item3 div { font-size: 14px; padding: 10px 16px; }
  .index_headinfo_list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .index_headinfo_item { padding-right: 10px; padding-left: 10px; }
  .index_headinfo_item:last-child { grid-column: 1 / -1; }
  .index_headinfo_item_text { font-size: 16px; min-height: 104px; }
  .index_headinfo_item:last-child .index_headinfo_item_text { min-height: 70px; }
  .index_advantages { padding: 56px 0; }
  .index_advantages_theme { font-size: 32px; line-height: 1.25; padding-right: 15px; padding-left: 15px; }
  .index_advantages .row { grid-template-columns: 1fr; gap: 18px; }
  .iar_1 { font-size: 32px; padding-top: 36px; }
  .iar_2 p { font-size: 18px; }
  .iar_3 { font-size: 21px; }
  .botmenu p { min-height: 20px; white-space: normal; overflow: visible; line-height: 1.3; font-size: 12px; }
}

/* Match the English homepage: three compact image panels, then two wide panels. */
.index_cate_list a.index_cate_item { width: 384px; height: 326px; flex: 0 0 auto; }
.index_cate_list a.index_cate_item:nth-child(n+4) { width: 588px; }
.index_cate_item > img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 991px) {
  .index_cate_list a.index_cate_item,
  .index_cate_list a.index_cate_item:nth-child(n+4) { width: 100%; }
}
@media (max-width: 767px) {
  .index_cate_name { font-size: 24px; line-height: 1.3; }
}
