/* Home only. Viewport-height adaptation with a readable, non-clipped fallback. */
body.theme-B.home-compact-v1{--page-gutter:24px}
body.theme-B.home-compact-v1 header{padding:12px 0;grid-template-columns:186px minmax(0,1fr) auto;gap:16px;min-width:0}
body.home-compact-v1 header .logo{width:186px;min-width:0}
body.home-compact-v1 header .logo img{width:148px;height:60px;object-fit:contain}
body.home-compact-v1 header .logo small{margin:0!important;font-size:12px;line-height:1.5;letter-spacing:0;white-space:normal}
body.theme-B.home-compact-v1 header .main-nav{grid-row:auto;grid-column:auto;padding:0;border:0;gap:14px;justify-content:flex-start;flex-wrap:wrap;font-size:14px;line-height:1.5}
body.home-compact-v1 .header-actions{gap:16px;justify-self:end;flex-direction:row;align-items:center}
body.home-compact-v1 .header-actions .btn{padding:12px 16px;font-size:13px;min-height:42px}
body.home-compact-v1 .header-phone strong{font-size:18px}
body.theme-B.home-compact-v1 .hero-area{display:grid;grid-template-columns:146px minmax(0,1fr) 208px;gap:12px;align-items:stretch}
body.theme-B.home-compact-v1 .hero{display:flex;min-height:320px;height:360px;height:calc(100vh - 380px);max-height:420px;align-items:stretch}
body.theme-B.home-compact-v1 .hero-copy{width:46%;padding:22px 24px;justify-content:center;overflow:visible;min-width:0}
body.theme-B.home-compact-v1 .hero-copy .eyebrow{font-size:10px;line-height:1.5;margin-bottom:12px;letter-spacing:1.6px}
body.theme-B.home-compact-v1 .hero h1{font-size:30px;line-height:1.35;margin:0 0 14px;letter-spacing:0;overflow-wrap:break-word;word-break:normal}
body.theme-B.home-compact-v1 .hero #description{font-size:14px;line-height:1.7;margin:0;max-width:100%}
body.theme-B.home-compact-v1 .hero .actions{flex-direction:row;flex-wrap:wrap;margin-top:18px;gap:8px}
body.theme-B.home-compact-v1 .hero .btn{min-height:40px;padding:10px 12px;font-size:13px;line-height:1.5;gap:4px}
body.theme-B.home-compact-v1 .hero-visual{min-height:0;height:100%;width:76%}
body.theme-B.home-compact-v1 .hero .hero-photo{object-fit:cover;object-position:center 42%}
body.theme-B.home-compact-v1 .hero .hero-photo[src*="banner-factory"]{object-position:center 34%}
body.theme-B.home-compact-v1 .hero .hero-photo[src*="banner-business"]{object-position:center 34%}
body.theme-B.home-compact-v1 .hero .hero-photo[src*="banner-hospitality"]{object-position:center 38%}
body.theme-B.home-compact-v1 .hero .hero-photo[src*="banner-event"]{object-position:center 40%}
body.theme-B.home-compact-v1 .side-menu{padding:18px 16px;min-width:0}
body.home-compact-v1 .side-menu b{font-size:14px;line-height:1.5;margin-bottom:12px}
body.home-compact-v1 .side-menu a{font-size:14px;line-height:1.5;min-height:39px;display:flex;align-items:center;padding:6px 0}
body.theme-B.home-compact-v1 .brief{display:flex;flex-direction:column;grid-column:auto;gap:0;margin:0;padding:14px 16px!important;min-width:0;justify-content:center}
body.home-compact-v1 .brief h3{font-size:18px;line-height:1.5;margin:0 0 6px}
body.home-compact-v1 .brief>p{font-size:13px;line-height:1.6;margin:0 0 10px}
body.home-compact-v1 .brief label{display:block;width:100%;font-size:13px;line-height:1.5;margin:8px 0 0}
body.home-compact-v1 .brief input,body.home-compact-v1 .brief select{display:block;min-width:0;width:100%;height:38px;padding:7px 8px;margin-top:4px;font:inherit}
body.home-compact-v1 .brief .btn{font-size:13px;line-height:1.5;min-height:40px;padding:9px 8px;margin:14px 0 0}
body.theme-B.home-compact-v1 .carousel{margin:0;min-height:42px;overflow-x:auto;justify-content:space-between;flex-wrap:nowrap;scrollbar-width:thin}
body.theme-B.home-compact-v1 .carousel button{padding:11px 10px;font-size:13px;line-height:1.5;min-width:0;white-space:nowrap}
body.theme-B.home-compact-v1 .carousel .control{flex:0 0 40px;min-width:40px}
body.theme-B.home-compact-v1 .strength{margin-top:12px;padding:16px 18px;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}
body.home-compact-v1 .strength em{font-size:20px;margin-right:10px}
body.home-compact-v1 .strength b{font-size:14px;line-height:1.5}
body.home-compact-v1 .strength span{font-size:13px;line-height:1.6;margin-top:4px}
body.theme-B.home-compact-v1 #categories{padding-top:16px}
body.home-compact-v1 #categories .section-head{margin-bottom:20px}
body.home-compact-v1 #categories .section-head h2{font-size:25px;line-height:1.4;margin-top:6px}
/* Keep the existing service controls below the compact first-screen enquiry button. */
body.home-compact-v1 #dt-wechat-support{bottom:16px}
@media(max-width:1260px){
 body.theme-B.home-compact-v1 header{grid-template-columns:186px minmax(0,1fr);gap:8px 16px}
 body.theme-B.home-compact-v1 header .main-nav{grid-row:2;grid-column:1/-1;gap:10px 24px;min-height:36px;padding-top:8px;border-top:1px solid #e6e7e6}
 body.home-compact-v1 .header-actions{grid-column:2;grid-row:1}
 body.theme-B.home-compact-v1 .hero h1{font-size:28px}
 body.theme-B.home-compact-v1 .hero-copy{padding:20px}
}
@media(max-width:1179px){
 body.theme-B.home-compact-v1 .hero-area{grid-template-columns:142px minmax(0,1fr)}
 body.theme-B.home-compact-v1 .brief{display:none}
 body.theme-B.home-compact-v1 .hero-copy{width:46%}
}
@media(max-width:950px){
 body.theme-B.home-compact-v1 .hero-area{grid-template-columns:minmax(0,1fr)}
 body.theme-B.home-compact-v1 .side-menu{display:none}
 body.theme-B.home-compact-v1 .strength{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.theme-B.home-compact-v1 .carousel{justify-content:flex-start}
 body.theme-B.home-compact-v1 .carousel button{flex:0 0 auto;min-width:80px}
}
@media(max-width:760px){
 body.theme-B.home-compact-v1{--page-gutter:16px}
 body.theme-B.home-compact-v1 header{grid-template-columns:minmax(0,1fr) auto;padding:10px 0;gap:8px 12px}
 body.home-compact-v1 header .logo{width:auto;max-width:180px}
 body.home-compact-v1 header .logo img{width:140px;height:64px}
 body.home-compact-v1 .header-actions{gap:8px;flex-direction:column;align-items:flex-end}
 body.home-compact-v1 .header-phone strong{font-size:15px}
 body.home-compact-v1 .header-phone span{font-size:12px}
 body.home-compact-v1 .header-actions .btn{padding:9px 12px;min-height:38px}
 body.theme-B.home-compact-v1 header .main-nav{gap:8px 18px;font-size:13px;line-height:1.6}
 body.theme-B.home-compact-v1 .hero{height:auto;min-height:0;max-height:none;flex-direction:column}
 body.theme-B.home-compact-v1 .hero-copy{width:100%;padding:22px 20px}
 body.theme-B.home-compact-v1 .hero h1{font-size:28px;line-height:1.35;max-width:480px}
 body.theme-B.home-compact-v1 .hero-visual{position:relative;inset:auto;width:100%;height:220px;min-height:0;aspect-ratio:auto;margin-top:0}
 body.theme-B.home-compact-v1 .hero .actions{margin-top:14px}
 body.theme-B.home-compact-v1 .strength{padding:14px 12px;gap:14px 10px}
 body.home-compact-v1 .strength em{display:none}
 body.home-compact-v1 #categories .section-head h2{font-size:22px}
}
@media(min-width:761px) and (max-height:680px){
 body.theme-B.home-compact-v1 header{padding-top:8px;padding-bottom:8px}
 body.theme-B.home-compact-v1 .hero h1{font-size:28px}
 body.theme-B.home-compact-v1 .hero-copy .eyebrow{margin-bottom:8px}
 body.theme-B.home-compact-v1 .hero .actions{margin-top:14px}
 body.theme-B.home-compact-v1 .strength{margin-top:8px;padding-top:12px;padding-bottom:12px}
}
/* Large text/high zoom: retain natural content height when two-column text becomes narrow. */
@media(min-width:761px) and (max-width:850px){body.theme-B.home-compact-v1 .hero-copy{width:52%}}

/* Single-line logo tagline, scoped to the compact homepage. */
body.theme-B.home-compact-v1 header .logo small{font-size:10px!important;line-height:1.6!important;white-space:nowrap!important;text-wrap:nowrap;}
@media(max-width:380px){body.theme-B.home-compact-v1 header .logo small{font-size:9px!important;}}
