/* Mobile refinements, Jean-Marie Charles Consultancy Services. Loaded last on every public page. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
img,video,iframe{max-width:100%;}
@media (max-width:1024px){
  html body section, html body footer{overflow-x:clip;}
}
@media (max-width:768px){
  /* ---------- homepage: navigation ---------- */
  html body .nav-inner{padding:10px 16px;gap:8px;}
  html body .hamburger{padding:12px 8px;margin:-12px -8px -12px 0;min-width:44px;min-height:44px;justify-content:center;align-items:center;}
  html body .lang-switch{margin-inline-end:6px;}
  html body .lang-btn{min-height:40px;padding:8px 12px;}
  html body .lang-menu{max-width:calc(100vw - 32px);}
  html body .lang-menu li{padding:0;}
  html body .lang-menu li a{padding:12px 16px !important;}
  html body .nav-links.active{max-height:calc(100vh - 110px);overflow-y:auto;padding:14px 20px 22px;}
  html body .nav-links.active a{display:block;padding:12px 0;font-size:15px;}

  /* ---------- homepage: hero ---------- */
  html body section.hero, html body .hero{min-height:auto;padding:0;}
  html body .hero-inner{grid-template-columns:minmax(0,1fr);}
  html body .hero-content{padding:112px 20px 56px;}
  html body .hero-inner{gap:36px;}
  html body .hero-copy{min-width:0;max-width:100%;}
  html body .hero h1{font-size:clamp(31px,8.6vw,40px);line-height:1.14;margin-bottom:20px;overflow-wrap:break-word;hyphens:manual;}
  html body .hero-badge{display:inline-block;max-width:100%;font-size:11.5px;letter-spacing:2px;padding:8px 14px;margin-bottom:26px;line-height:1.5;}
  html body .hero-sub{font-size:16.5px;line-height:1.65;margin-bottom:30px;}
  html body .hero-actions{gap:12px;}
  html body .hero-actions a{flex:1 1 100%;justify-content:center;text-align:center;padding:16px 20px;}
  html body .hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;margin-top:40px;padding-top:26px;}
  html body .stat-number{font-size:30px;}
  html body .stat-label{font-size:11.5px;letter-spacing:1.5px;}
  html body .hero-media{min-height:0;margin-top:0;}
  html body .hero-photo-main{position:relative;inset:auto;width:100%;height:230px;}

  /* ---------- homepage: sections ---------- */
  html body section{padding:64px 20px;}
  html body .section-label{font-size:12px;letter-spacing:2.5px;}
  html body .section-title, html body h2, html body h3{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;}
  html body .section-title{font-size:clamp(25px,7.2vw,34px);line-height:1.2;}
  html body .section-desc{font-size:16px;line-height:1.7;}
  html body .nnote-inner, html body .nnote-body{max-width:100%;}
  html body .nnote h2{font-size:clamp(26px,7.2vw,32px);line-height:1.22;}
  html body .mv-grid{grid-template-columns:minmax(0,1fr);gap:22px;}
  html body .about-grid, html body .bi-grid, html body .contact-grid, html body .services-grid, html body .ind-grid, html body .articles-grid, html body .values-grid, html body .bi-features, html body .form-row{grid-template-columns:minmax(0,1fr);}
  html body [class*="-grid"]>*{min-width:0;}
  html body .mv-card{padding:34px 26px;}
  html body .value-card, html body .service-card, html body .ind-card{padding:30px 24px;}
  html body .service-tag{font-size:12px;}
  html body .svc-more, html body .sec-allmore{display:inline-block;font-size:12.5px;padding:12px 0 6px;line-height:1.5;}
  html body .article-cat, html body .case-row-cat{font-size:11.5px;}
  html body .art-readlink, html body .article-card a{min-height:24px;}
  html body .country-tag{padding:9px 14px;}
  html body .case-row{gap:14px;}
  html body .faq-item summary{padding-top:20px;padding-bottom:20px;}
  html body .cta-section{padding:64px 20px;}
  html body .cta-section a{flex:1 1 100%;justify-content:center;text-align:center;}

  /* ---------- homepage: contact + form ---------- */
  html body .contact-form{padding:28px 20px;}
  html body .contact-form input, html body .contact-form select, html body .contact-form textarea{font-size:16px;min-height:48px;}
  html body .form-submit{width:100%;min-height:52px;}
  html body .contact-item{gap:14px;}
  html body .contact-item a:not(.chat-btn){display:inline-block;padding:3px 0;}
  html body .chat-btn{min-height:44px;}

  /* ---------- homepage: footer ---------- */
  html body footer .footer-top{grid-template-columns:1fr 1fr;gap:30px 20px;}
  html body footer .footer-brand{grid-column:1/-1;}
  html body footer .footer-col h3, html body footer .footer-col h4{margin-bottom:12px;}
  html body footer .footer-col a{padding:6px 0;margin-bottom:2px;font-size:15px;}
  html body footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;}

  /* ---------- article / service / industry / case pages ---------- */
  html body .art-nav{padding:10px 16px;gap:12px;}
  html body .art-nav .brand-wordmark{flex:1 1 auto;min-width:0;}
  html body .art-nav .bw-name{font-size:14px;letter-spacing:1px;white-space:nowrap;}
  html body .art-nav .bw-sub{font-size:8px;letter-spacing:2.6px;white-space:nowrap;}
  html body .art-back{flex:0 0 auto;white-space:nowrap;font-size:11px;letter-spacing:1px;padding:12px 0 12px 8px;}
  html body .case, html body .art, html body article{overflow-wrap:break-word;}
  html body .case{padding:36px 20px 24px;}
  html body .case-meta{grid-template-columns:1fr;gap:14px;}
  html body .crumbs{padding-left:20px;padding-right:20px;}
  html body .crumbs a{display:inline-block;padding:8px 0;}
  html body .fnav{flex-wrap:wrap;gap:4px 18px;}
  html body .fnav a{display:inline-block;padding:10px 0;}
  html body .hub-grid{grid-template-columns:1fr;}
  html body .hub-intro{margin-bottom:18px;}
  html body table{display:block;max-width:100%;overflow-x:auto;}
  html body pre{white-space:pre-wrap;}
}
@media (max-width:380px){
  html body .nav-inner .brand-wordmark .bw-name{font-size:14px;letter-spacing:.6px;}
  html body .nav-inner .brand-wordmark .bw-sub{font-size:7.5px;letter-spacing:2px;}
  html body .lang-btn{padding:8px 9px;gap:5px;}
  html body .hero-stats{gap:18px 12px;}
}

.art-lang{font-size:12px;font-weight:700;text-decoration:none;color:var(--gold-deep,#765c0d);border:1px solid rgba(16,12,50,.18);border-radius:50px;padding:6px 12px;margin-inline-start:auto;margin-inline-end:14px;white-space:nowrap;}
.art-lang:hover{border-color:var(--gold,#D1B042);}
@media (max-width:768px){.art-lang{padding:9px 12px;margin-inline-end:8px;}}
