
/* V14 responsive fit, offline-safe assets, cleaner hero and professional service illustrations */
:root{--header-offset:139px}
html,body{width:100%;max-width:100%;overflow-x:clip}
*,*::before,*::after{min-width:0}
img{display:block;height:auto}
.container{width:min(1260px,calc(100% - 32px))}
.social-topbar{height:34px}.social-topbar-inner{height:34px}
.site-ribbon{height:27px;font-size:10px}
.site-header{top:0}
.nav-wrap{height:78px;gap:15px}
.brand{gap:10px;max-width:270px}
.brand-seal{width:56px;height:56px;border:0;background:transparent;overflow:visible;flex:0 0 auto}
.brand-seal img{width:56px;height:56px;object-fit:contain}
.brand-copy strong{font-size:19px;white-space:nowrap}
.brand-copy .brand-lead{font-size:8px;line-height:1.25;letter-spacing:.09em;white-space:nowrap}
.brand-copy em{font-size:8px;line-height:1.2;white-space:nowrap}
.main-nav{gap:8px;flex:1;justify-content:flex-end}
.main-nav>a,.nav-dropdown-toggle{font-size:12px;padding:10px 7px}
.nav-actions{gap:8px;flex:0 0 auto}.lang-btn{padding:6px 8px}
/* Hero is intentionally compact enough to fit a standard 1366x768 screen at 100%. */
.hero{min-height:505px}
.hero-grid{min-height:505px;padding:54px 0 50px;display:block}
.hero-copy{max-width:1020px}
.hero h1{font-size:clamp(43px,4.55vw,64px);line-height:1.04;max-width:980px;margin-bottom:18px;text-wrap:balance;overflow-wrap:anywhere}
.lang-bn .hero h1{font-size:clamp(42px,4.25vw,59px);line-height:1.12;max-width:1050px}
.hero-lead{font-size:17px;line-height:1.62;max-width:880px}
.hero-actions{margin-top:25px}.hero-practice-pills{margin-top:24px;gap:8px;max-width:1050px}.hero-practice-pills button{font-size:11px;padding:8px 11px}
.hero:after{width:400px;height:400px}
/* Removed V13 statistical strip (All / 07 / 02). */
.hero-metrics{display:none!important}
/* Service-focused hierarchy */
.service-priority-section{padding-top:72px}
.service-area-block{padding:24px;margin-bottom:28px}
.service-area-heading{gap:28px;margin-bottom:19px}.service-area-heading h3{font-size:clamp(28px,2.65vw,37px)}
.category-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.category-card{min-height:226px;padding:20px!important}
.category-card .category-icon{width:68px;height:68px;border-radius:18px;padding:7px;background:var(--card-soft,#fff4d7);margin-bottom:14px}
.category-card .category-icon img{width:100%;height:100%;object-fit:contain}
.category-card h3{font-size:21px;line-height:1.16;overflow-wrap:anywhere}.category-card p{font-size:14px}
.service-toolbar{top:88px;grid-template-columns:minmax(240px,1.7fr) minmax(180px,.8fr) minmax(170px,.7fr) auto}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.service-card{min-height:282px;padding:22px!important}
.service-card .service-icon{width:62px;height:62px;border-radius:17px;padding:6px;background:var(--service-soft,#fff4d8);margin-bottom:13px}
.service-card .service-icon img{width:100%;height:100%;object-fit:contain}
.service-card h3{font-size:22px;line-height:1.2;overflow-wrap:anywhere}.service-card p{font-size:14px;line-height:1.57}
.service-tags{max-width:100%;overflow:hidden}.service-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mega-icon{width:42px!important;height:42px!important;padding:4px!important;border-radius:11px!important;display:grid!important;place-items:center!important;flex:0 0 auto}.mega-icon img{width:100%;height:100%;object-fit:contain}
.nav-submenu{width:min(680px,92vw);grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:13px}
.nav-submenu button{min-height:60px;font-size:12px;border:1px solid #ece5d9;background:#faf8f3}
/* Strong legal-health focus without taking over the page. */
.health-section:before{top:19px}.health-grid{padding-top:38px}.health-copy h2{font-size:clamp(35px,3.8vw,50px)}
/* Hook must never cover form or text on smaller screens. */
.floating-legal-hook{right:18px;bottom:18px;width:226px;min-height:66px;padding:10px 14px 10px 57px}.floating-legal-hook .hook-label{font-size:15px}
/* Universal overflow safety */
.section-heading.split,.service-area-heading,.health-grid,.foreigner-preview-grid,.consultation-grid,.footer-grid{max-width:100%}
input,select,textarea,button{max-width:100%}
@media(max-width:1360px){
  .container{width:min(1240px,calc(100% - 28px))}
  .brand{max-width:245px}.brand-copy strong{font-size:18px}.brand-seal,.brand-seal img{width:51px;height:51px}
  .main-nav{gap:4px}.main-nav>a,.nav-dropdown-toggle{font-size:11.5px;padding:9px 5px}
  .category-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1180px){
  :root{--header-offset:104px}
  .nav-toggle{display:block;margin-left:auto}.nav-actions{margin-left:0}
  .main-nav{position:absolute;left:0;right:0;top:100%;display:none;background:#07162b;padding:16px 20px 22px;box-shadow:0 25px 45px rgba(0,0,0,.25);max-height:calc(100vh - 100px);overflow:auto;align-items:stretch;justify-content:flex-start}
  .main-nav.open{display:flex;flex-direction:column}.main-nav>a,.nav-dropdown-toggle{width:100%;font-size:14px;padding:11px 5px}
  .nav-actions{margin-left:auto}.nav-wrap{height:74px}.brand{max-width:none}
  .category-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-toolbar{position:relative;top:auto}
  .nav-submenu{width:100%;grid-template-columns:1fr}
}
@media(max-width:820px){
  .social-topbar{height:30px}.social-topbar-inner{height:30px}.site-ribbon{height:25px}
  .brand-copy em{display:none}.nav-actions .lang-switch{display:flex}
  .hero{min-height:auto}.hero-grid{min-height:0;padding:48px 0}.hero h1,.lang-bn .hero h1{font-size:clamp(39px,8.5vw,58px)}
  .category-summary,.service-grid{grid-template-columns:1fr}.service-toolbar{display:grid;grid-template-columns:1fr}.service-area-heading{grid-template-columns:1fr}.section-heading.split{grid-template-columns:1fr;gap:13px}
  .floating-legal-hook{right:11px;bottom:11px;width:205px}
}
@media(max-width:560px){
  .container{width:calc(100% - 22px)}.social-links a{font-size:0}.social-links a span{font-size:12px}
  .nav-wrap{height:68px}.brand-seal,.brand-seal img{width:45px;height:45px}.brand-copy strong{font-size:16px}.brand-copy .brand-lead{font-size:7px}.nav-actions{gap:4px}.lang-btn{padding:5px 7px}.nav-toggle{width:40px;height:38px}
  .hero-grid{padding:38px 0 42px}.hero h1,.lang-bn .hero h1{font-size:clamp(35px,11vw,48px);line-height:1.12}.hero-lead{font-size:16px}.hero-actions .btn{width:100%}.hero-practice-pills{display:none}
  .service-priority-section{padding-top:58px}.service-area-block{padding:16px}.category-card{min-height:0}.service-card{min-height:0}
  .floating-legal-hook{width:auto;min-width:184px;max-width:calc(100% - 22px)}
}
