/* Human-Service corporate portal: navigation and mobile improvements. */
header .wrap.header {display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}
header .lang-choice {position:static!important;display:flex!important;flex:0 0 auto!important;align-items:center;justify-content:center;margin:0 0 0 3px!important;transform:none!important}
header .lang-choice a {display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:34px;line-height:1;padding:7px 9px;border:1px solid #aac3d4;border-radius:5px;text-decoration:none;font-weight:700;font-size:12px;color:#244768;background:#fff}
header .identity {flex-shrink:0}
header .word {min-width:0}
header .word img {height:auto;max-width:100%}
header .desktop-nav {min-width:0;flex-wrap:nowrap}
header .nav-more-menu {max-width:min(90vw,320px)}
.hero-art.photo-hero {background-size:cover;background-position:center center}
.legacy-service {background:#eef4f7}
.legacy-service p {max-width:820px;line-height:1.75;color:#4d5e6a}
@media(max-width:1150px) {header .desktop-nav {gap:8px;font-size:11px}header .wrap.header {gap:8px}}
@media(max-width:900px) {header .desktop-nav{display:none!important}header .mobile-nav{display:block!important;margin-left:auto}header .lang-choice{margin-left:5px!important}}
@media(max-width:780px) {header .wrap.header{min-height:78px;gap:9px}header .mobile-nav nav{z-index:80;max-height:calc(100vh - 100px);overflow:auto}header .identity{gap:8px}.wrap{max-width:100%}.hero-grid,.subhero-grid,.feature-grid,.contact-grid,.counseling-grid{grid-template-columns:1fr!important}.service-grid,.topics,.two-cols,.pillars{grid-template-columns:repeat(2,minmax(0,1fr))!important}.contact-data{overflow-wrap:anywhere}}
@media(max-width:540px) {header .word{width:158px!important;max-width:158px!important}header .heads{width:43px!important;height:54px!important}header .word small{font-size:8.6px!important;line-height:1.1!important;white-space:normal!important;letter-spacing:-.04em!important}header .lang-choice a{min-width:35px;padding:7px}.service-grid,.topics,.two-cols,.pillars,.steps{grid-template-columns:1fr!important}h1{font-size:clamp(34px,9vw,48px)!important}h2{font-size:clamp(27px,7vw,38px)!important}.section{padding:54px 0}.hero-art{max-width:100%}.content-panel{padding:22px!important}.legal-meta{grid-template-columns:1fr!important}.ecosystem .wrap{font-size:10px;justify-content:center;gap:9px}}
@media(max-width:360px) {header .word{width:135px!important;max-width:135px!important}header .word small{font-size:7.5px!important}header .heads{width:37px!important}header .wrap.header{gap:5px}}

/* V21: stable narrow-screen navigation and overflow protection */
html,body{max-width:100%;overflow-x:clip}
header .wrap.header{min-width:0}
header .identity{min-width:0;max-width:calc(100% - 120px)}
header .word{min-width:0}
header .lang-choice{position:static!important;inset:auto!important;float:none!important}
header .mobile-nav nav{z-index:100;box-sizing:border-box;max-width:min(310px,calc(100vw - 28px));overflow-y:auto}
.info-card,.topic,.service-card,.hero-note,.content-panel{min-width:0;overflow-wrap:break-word}
.contact-data a,.content-panel a{overflow-wrap:anywhere}
@media(max-width:900px){header .desktop-nav{display:none!important}header .mobile-nav{display:block!important}header .lang-choice{display:flex!important}}
@media(max-width:540px){header .wrap.header{gap:7px!important}header .identity{max-width:calc(100% - 112px)}header .word{width:min(158px,calc(100vw - 190px))!important;max-width:none!important}header .word small{font-size:clamp(7.5px,2.2vw,9.2px)!important;letter-spacing:-.035em!important;word-spacing:normal!important;overflow-wrap:normal!important}header .heads{flex-shrink:0}.service-grid,.topics,.pillars,.two-cols{grid-template-columns:minmax(0,1fr)!important}.wrap{width:calc(100% - 32px)!important}.hero-grid{min-height:0!important}}
@media(max-width:360px){header .word{width:min(132px,calc(100vw - 174px))!important}header .heads{width:34px!important}header .lang-choice a{min-width:32px}}

/* V26: responsive fixes - shared by all HU/EN pages. */
@media (max-width: 780px) {
 .header { display:flex; align-items:center; flex-wrap:nowrap; gap:8px; min-width:0; }
 .header .identity { flex:1 1 auto; min-width:0; }
 .header .word { min-width:0; max-width:min(190px, 44vw); }
 .header .word img { max-width:100%; height:auto; }
 .header .word small { white-space:normal!important; overflow-wrap:normal; font-size:clamp(9px,2.4vw,11px)!important; line-height:1.16; }
 .header .heads { flex-shrink:0; }
 .header .mobile-nav { flex:0 0 auto; }
 .header .lang-choice { flex:0 0 auto; margin-left:0!important; }
 .ecosystem .wrap { flex-wrap:wrap; justify-content:center; gap:4px 12px; text-align:center; }
 .service-grid, .topics, .pillars { min-width:0; }
 .service-card, .topic, .info-card { min-width:0; overflow-wrap:break-word; }
 .content-panel, .hero-note { max-width:100%; }
 .two-cols, .subhero-grid { min-width:0; }
}
@media (max-width:390px) {
 .wrap { width:calc(100% - 26px); }
 .header { gap:5px; }
 .header .heads { width:37px!important; height:37px!important; }
 .header .identity { gap:5px; }
 .header .word { max-width:40vw; }
 .header .word small { font-size:8.5px!important; }
 .header .mobile-nav summary { padding:6px 7px; font-size:12px; }
 .header .lang-choice a { padding:7px!important; font-size:11px!important; }
 h1 { overflow-wrap:break-word; }
}

/* V27 – final narrow-screen adjustments (shared by HU/EN pages) */
@media (max-width: 900px) {
 header .wrap.header { display:flex!important; align-items:center!important; flex-wrap:nowrap!important; }
 header .mobile-nav { margin-left:auto!important; }
 header .mobile-nav nav { right:0!important; max-width:min(310px,calc(100vw - 28px))!important; max-height:min(70vh,560px)!important; overflow-y:auto!important; }
 header .lang-choice { position:static!important; flex:0 0 auto!important; margin-left:0!important; }
}
@media (max-width: 540px) {
 header .wrap.header { gap:6px!important; }
 header .identity { flex:1 1 auto!important; min-width:0!important; max-width:none!important; }
 header .heads { width:40px!important; height:40px!important; flex-shrink:0!important; }
 header .word { flex:0 1 175px!important; width:auto!important; max-width:calc(100vw - 155px)!important; }
 header .word small { font-size:clamp(8px,2.45vw,10px)!important; letter-spacing:-.025em!important; }
 header .mobile-nav summary { white-space:nowrap!important; padding:7px 8px!important; }
 header .lang-choice a { min-width:34px!important; min-height:34px!important; padding:7px!important; }
 .wrap { width:calc(100% - 30px)!important; }
 .service-grid,.topics,.two-cols,.pillars,.steps {grid-template-columns:minmax(0,1fr)!important;}
 .hero-grid,.subhero-grid,.feature-grid,.counseling-grid,.contact-grid {grid-template-columns:minmax(0,1fr)!important;}
 .hero-art { max-width:100%!important; }
}
@media (max-width: 350px) {
 header .heads {width:32px!important;height:32px!important;}
 header .word {max-width:calc(100vw - 142px)!important;}
 header .word small {font-size:7.5px!important;}
 header .mobile-nav summary {padding:6px!important;font-size:11px!important;}
}
/* Prevent long link labels and service names from forcing horizontal scroll. */
header .word, .contact-data, .content-panel, .service-card, .info-card {min-width:0;}
.content-panel a, .contact-data a {overflow-wrap:anywhere;}
