/* Homepage proportions follow the dental reference; images remain local placeholders. */
.nkl-home > .nkl-section:not(.nkl-products):not(.nkl-services) { background:var(--nkl-white); }
.nkl-hero { background:linear-gradient(105deg,#f6faf9,white 40%,#eef7f3); overflow:hidden; }
.nkl-hero-inner { min-height:410px; position:relative; display:flex; align-items:center; }
.nkl-hero-copy { position:relative; z-index:2; width:43%; max-width:540px; padding-block:36px; }
.nkl-hero h1 { font-size:46px; line-height:1.12; letter-spacing:-1.1px; color:#102d48; }
.nkl-hero h1 span { color:var(--nkl-primary-dark); }
.nkl-hero-copy > p { max-width:440px; margin-top:18px; }
.nkl-hero-copy strong { font-weight:600; }
.nkl-hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:20px; }
.nkl-hero-copy .nkl-tagline { font-size:17px; font-style:italic; font-weight:600; color:var(--nkl-primary); margin-top:22px; }
.nkl-tagline span { font-weight:400; margin-right:10px; }
.nkl-hero-visual { position:absolute; right:-24px; inset-block:0; width:61%; }
.nkl-hero-visual > img { width:100%; height:100%; object-fit:cover; }
.nkl-hero-visual::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#f8fbfa,transparent 28%); }
.nkl-hero-slogan { position:absolute; top:68px; right:26px; color:#15354a; font-size:16px; font-weight:700; letter-spacing:.8px; line-height:1.6; }
.nkl-hero-slogan span { display:block; margin-top:17px; width:38px; height:3px; background:var(--nkl-primary); }
.nkl-stats { padding-block:26px; background:var(--nkl-white); }
.nkl-stats-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
.nkl-stats li { display:flex; gap:14px; justify-content:center; align-items:center; }
.nkl-stats .nkl-icon { width:34px; height:34px; color:var(--nkl-primary); }
.nkl-stats strong { display:block; color:var(--nkl-primary-darker); font-size:25px; line-height:1.2; }
.nkl-stats span { display:block; font-size:12px; margin-top:3px; }
.nkl-solutions-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.nkl-solution { position:relative; min-height:180px; display:flex; overflow:hidden; transition:border-color .2s; }
.nkl-solution:hover { border-color:var(--nkl-primary); }
.nkl-solution-copy { position:relative; z-index:1; width:55%; padding:20px 14px 18px 20px; background:linear-gradient(90deg,white 75%,rgb(255 255 255 / 80%)); }
.nkl-solution-copy .nkl-icon { color:var(--nkl-primary); width:30px; height:30px; margin-bottom:10px; }
.nkl-solution-copy h3 { font-size:16px; }
.nkl-solution-copy p { margin-top:7px; font-size:13px; }
.nkl-solution .nkl-solution-image { position:absolute; right:0; top:0; width:46%; height:100%; object-fit:cover; }
.nkl-solution .nkl-circle-arrow { position:absolute; right:15px; bottom:14px; }
.nkl-products { background:var(--nkl-bg-mint); }
.nkl-slider-buttons { display:flex; gap:10px; }
.nkl-slider-buttons button { border:1px solid var(--nkl-border); background:white; color:var(--nkl-primary-dark); width:32px; height:32px; padding:5px; border-radius:6px; line-height: 0px; }
.nkl-slider-buttons button:first-child .nkl-icon { transform:rotate(180deg); }
.nkl-slider-buttons button:disabled { opacity:.4; cursor:default; }
.nkl-product-track { display:flex; gap:16px; overflow-x:auto; scrollbar-width:thin; scroll-snap-type:x mandatory; padding-bottom:6px; }
.nkl-product { flex:0 0 calc((100% - 64px) / 5); min-width:0; min-height:310px; padding:18px 14px; display:flex; transition:transform .2s,border-color .2s,box-shadow .2s; flex-direction:column; align-items:center; text-align:center; scroll-snap-align:start; }
.nkl-product > img { width:100%; height:155px; object-fit:contain; border-radius:5px; margin-bottom:14px; }
.nkl-product .nkl-product-brand { font-size:13px; font-weight:800; margin-bottom:10px; }
.nkl-product h3 { font-size:14px; }
.nkl-product .nkl-product-description { font-size:12px; margin:4px 0 18px; }
.nkl-product .nkl-text-link { margin-top:auto; }
.nkl-product:hover { transform:translateY(-2px); border-color:var(--nkl-primary); box-shadow:0 5px 16px rgb(7 88 63 / 8%); }
.nkl-brand-0 { color:#6f7875; }.nkl-brand-1 { color:#e30046; }.nkl-brand-2 { color:#0561a8; }.nkl-brand-3 { color:#123d65; }.nkl-brand-4 { color:#165eae; }.nkl-brand-5 { color:#25394d; }.nkl-brand-6 { color:#493735; }.nkl-brand-7 { color:#e6552a; }
.nkl-brands { display:flex; gap:12px; overflow-x:auto; scrollbar-width:thin; padding-bottom:5px; }
.nkl-brand-box { flex:0 0 calc((100% - 84px)/8); min-width:0; display:flex; justify-content:center; align-items:center; height:70px; border:1px solid var(--nkl-border); border-radius:8px; font-size:23px; font-weight:800; letter-spacing:-.6px; }
.nkl-brand-box:nth-child(3),.nkl-brand-box:nth-child(7),.nkl-brand-box:nth-child(8) { font-size:18px; }
.nkl-services { position:relative; background:linear-gradient(90deg,#f8fcfa,white); overflow:hidden; }
.nkl-services > .nkl-container { position:relative; z-index:1; }
.nkl-service-background { position:absolute; right:0; bottom:0; width:40%; height:100%; object-fit:cover; opacity:.35; }
.nkl-services-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.nkl-service { min-height:155px; padding:20px 22px; }
.nkl-service .nkl-icon { width:32px; height:32px; color:var(--nkl-primary); margin-bottom:12px; }
.nkl-service h3 { font-size:17px; margin-bottom:8px; }
.nkl-service p { font-size:13px; max-width:210px; }
.nkl-academy-events { background:#f3f8f7; }
.nkl-academy-grid { display:grid; grid-template-columns:1fr 1fr; }
.nkl-academy { min-height:330px; position:relative; overflow:hidden; }
.nkl-academy > img { width:100%; height:100%; object-fit:cover; position:absolute; }
.nkl-academy::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgb(0 35 27 / 85%),transparent 70%); }
.nkl-academy-copy { position:absolute; left:28px; right:24px; bottom:27px; z-index:1; color:white; }
.nkl-academy-copy h2 { color:white; font-size:28px; }
.nkl-academy-copy p { margin:3px 0 16px; }
.nkl-events { padding:26px 0 26px 28px; }
.nkl-events .nkl-section-heading h2 { font-size:18px; letter-spacing:0; }
.nkl-events .nkl-section-heading { gap:8px; }
.nkl-event { display:flex; gap:18px; padding:20px; }
.nkl-event-date { background:var(--nkl-bg-mint); align-self:flex-start; text-align:center; flex:0 0 72px; border-radius:6px; padding:12px 8px; color:var(--nkl-primary-darker); }
.nkl-event-date strong { display:block; font-size:32px; line-height:1.1; }
.nkl-event-date span { display:block; font-size:11px; font-weight:700; }
.nkl-event h3 { font-size:16px; }
.nkl-event-meta { display:flex; flex-wrap:wrap; gap:8px 14px; font-size:11px; margin-block:10px 15px; }
.nkl-event-meta .nkl-icon { width:14px; height:14px; color:var(--nkl-primary-dark); }
.nkl-event .nkl-btn { min-height:36px; padding:8px 14px; font-size:11px; }
.nkl-event-categories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:18px; }
.nkl-event-categories a { background:white; padding:12px 8px; border:1px solid var(--nkl-border); border-radius:6px; display:flex; align-items:center; justify-content:center; gap:10px; font-size:12px; font-weight:600; }
.nkl-event-categories .nkl-icon { color:var(--nkl-primary); }
.nkl-projects-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.nkl-featured-project { display:flex; gap:22px; align-items:center; }
.nkl-featured-project > img { width:44%; height:170px; object-fit:cover; border-radius:8px; }
.nkl-featured-project > div { min-width:0; }
.nkl-featured-project h3 { font-size:16px; color:#17364d; }
.nkl-featured-project p { font-size:13px; margin:12px 0; }
.nkl-partners { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.nkl-partner { min-height:76px; border:1px solid var(--nkl-border); border-radius:8px; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:8px; text-align:center; }
.nkl-partner img { width:100%; height:36px; object-fit:contain; opacity:.75; }
.nkl-partner span { font-size:12px; line-height:1.25; font-weight:800; color:#235273; }
.nkl-knowledge-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:24px; }
.nkl-featured-article { overflow:hidden; }
.nkl-featured-article > img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.nkl-article-copy { padding:20px; background:linear-gradient(0deg,var(--nkl-bg-soft),white); }
.nkl-article-copy .nkl-category { font-size:11px; font-weight:700; color:var(--nkl-primary-dark); margin-bottom:8px; }
.nkl-article-copy h3 { color:#16324d; font-size:19px; margin-bottom:9px; }
.nkl-article-copy > p { font-size:13px; max-width:470px; }
.nkl-article-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; }
.nkl-article-bottom time { color:var(--nkl-muted); font-size:12px; }
.nkl-article-list { display:flex; flex-direction:column; justify-content:space-between; }
.nkl-article-list article { border-bottom:1px solid var(--nkl-border); padding-block:12px; }
.nkl-article-list article:first-child { padding-top:0; }
.nkl-article-list article:last-child { border-bottom:0; padding-bottom:0; }
.nkl-article-list a { display:flex; gap:18px; align-items:center; }
.nkl-article-list a > div { min-width:0; flex:1; }
.nkl-article-list img { width:125px; height:88px; flex-shrink:0; object-fit:cover; border-radius:7px; }
.nkl-article-list h3 { font-size:15px; }
.nkl-article-list p { color:var(--nkl-muted); margin-top:7px; font-size:12px; }
.nkl-article-list .nkl-circle-arrow { margin-left:auto; }
.nkl-promotion-track { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; padding-bottom:4px; }
.nkl-promotion { flex:0 0 calc((100% - 40px)/3); min-width:0; min-height:150px; aspect-ratio:2.4; overflow:hidden; border-radius:8px; position:relative; background:var(--nkl-bg-mint); scroll-snap-align:start; }
.nkl-promotion > img { width:100%; height:100%; object-fit:cover; }
.nkl-promotion > div { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:20px; background:linear-gradient(90deg,#e6f4ea 38%,transparent); max-width:80%; }
.nkl-promotion p { font-weight:800; font-size:18px; font-style:italic; }
.nkl-promotion h3 { font-size:30px; line-height:1.15; color:var(--nkl-primary-dark); margin:5px 0 12px; }
.nkl-promotion span { font-size:11px; font-weight:700; max-width:200px; text-transform:uppercase; }
.nkl-promotion-1 > div { background:linear-gradient(90deg,#e7f5fe 38%,transparent); color:#1264a1; }
.nkl-promotion-1 h3 { color:#1264a1; }
.nkl-promotion-2 > div { background:linear-gradient(90deg,#f9ecea 38%,transparent); color:#ab2928; }
.nkl-promotion-2 h3 { color:#ab2928; }
.nkl-consultation { position:relative; overflow:hidden; background:var(--nkl-primary); color:white; }
.nkl-consultation-inner { min-height:135px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding-block:26px; position:relative; }
.nkl-consultation h2 { font-size:25px; color:white; margin-bottom:6px; }
.nkl-consultation p { font-size:13px; max-width:700px; }
.nkl-consultation-actions { display:flex; gap:16px; flex-shrink:0; }
.nkl-cta-background { position:absolute; right:0; top:0; height:100%; width:28%; object-fit:cover; opacity:.14; }
@media(min-width:992px) and (max-width:1199px) {
  .nkl-hero h1 { font-size:38px; }.nkl-hero-copy { width:48%; }.nkl-hero-actions { gap:10px; }.nkl-hero-actions .nkl-btn { padding-inline:15px; }
  .nkl-solution-copy { padding-left:16px; }.nkl-solution-copy h3 { font-size:15px; }.nkl-solution-copy p { font-size:12px; }
  .nkl-brand-box { font-size:17px; }.nkl-brand-box:nth-child(3),.nkl-brand-box:nth-child(7),.nkl-brand-box:nth-child(8) { font-size:15px; }
  .nkl-service { padding:20px 17px; }.nkl-events { padding-left:22px; }.nkl-event { gap:16px; padding:16px; }
  .nkl-consultation h2 { font-size:22px; }.nkl-consultation-actions { gap:10px; }.nkl-consultation-actions .nkl-btn { padding-inline:14px; }
}
@media(max-width:991px) {
  .nkl-hero-inner { min-height:410px; }.nkl-hero-copy { width:53%; }.nkl-hero h1 { font-size:34px; }.nkl-hero-slogan { font-size:15px; right:24px; }.nkl-hero-actions .nkl-btn { padding-inline:15px; }
  .nkl-stats-grid { gap:14px; }.nkl-stats li { gap:9px; }.nkl-stats .nkl-icon { width:32px; height:32px; }.nkl-stats strong { font-size:25px; }.nkl-stats span { font-size:11px; }
  .nkl-solutions-grid,.nkl-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nkl-product { flex-basis:calc((100% - 32px)/3); }.nkl-brand-box { flex-basis:155px; }
  .nkl-academy-grid { grid-template-columns:1fr; }.nkl-academy { min-height:330px; }.nkl-events { padding:28px 0; }
  .nkl-projects-grid { grid-template-columns:1fr; gap:24px; }.nkl-partners { min-height:180px; }
  .nkl-knowledge-grid { grid-template-columns:1fr 1fr; gap:20px; }.nkl-article-list a { gap:12px; }.nkl-article-list img { width:95px; height:70px; }.nkl-article-list .nkl-circle-arrow { width:23px; height:23px; }
  .nkl-promotion { flex-basis:calc((100% - 20px)/2); }.nkl-promotion > div { padding:14px; max-width:90%; }.nkl-promotion p { font-size:14px; }.nkl-promotion h3 { font-size:23px; }.nkl-promotion span { font-size:11px; }
  .nkl-consultation-inner { flex-direction:column; align-items:flex-start; gap:18px; }
}
@media(max-width:767px) {
  .nkl-hero-inner { display:flex; flex-direction:column; align-items:stretch; min-height:0; }.nkl-hero-copy { width:100%; padding-block:32px 20px; }
  .nkl-hero h1 { font-size:clamp(29px,7.4vw,42px); letter-spacing:-.8px; }.nkl-hero-copy > p { max-width:none; }.nkl-hero-copy .nkl-tagline { font-size:17px; }
  .nkl-hero-visual { position:relative; inset:auto; width:calc(100% + 32px); margin-left:-16px; height:250px; }.nkl-hero-visual::before { background:linear-gradient(180deg,#f8fbfa,transparent 30%); }.nkl-hero-slogan { top:35px; right:24px; font-size:16px; }
  .nkl-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; }.nkl-stats li { justify-content:flex-start; gap:14px; }.nkl-stats li:last-child { grid-column:span 2; justify-content:center; }.nkl-stats .nkl-icon { width:36px; height:36px; }.nkl-stats span { font-size:12px; }
  .nkl-solutions-grid,.nkl-services-grid { grid-template-columns:1fr; gap:16px; }.nkl-solution { min-height:180px; }.nkl-solution-copy { width:56%; padding:20px; }.nkl-solution-copy h3 { font-size:17px; }
  .nkl-product { flex-basis:80%; padding:20px; }.nkl-product > img { height:165px; }.nkl-product h3 { font-size:17px; }.nkl-product .nkl-product-description { font-size:14px; }.nkl-slider-buttons { margin-left:auto; }
  .nkl-service { padding:24px; }.nkl-service-background { width:75%; opacity:.12; }.nkl-service p { max-width:none; }.nkl-academy-copy h2 { font-size:26px; }
  .nkl-event { gap:16px; padding:18px; }.nkl-event-date { flex-basis:65px; }.nkl-event-date strong { font-size:32px; }.nkl-event h3 { font-size:16px; }
  .nkl-event-categories a { font-size:11px; gap:5px; }.nkl-event-categories .nkl-icon { width:22px; height:22px; }
  .nkl-partners { grid-template-columns:repeat(2,minmax(0,1fr)); }.nkl-featured-project { gap:16px; }.nkl-featured-project h3 { font-size:14px; }.nkl-featured-project > img { height:180px; }
  .nkl-knowledge-grid { grid-template-columns:1fr; gap:24px; }.nkl-featured-article > img { height:auto; aspect-ratio:800/500; }.nkl-article-list img { width:105px; height:78px; }.nkl-article-list article { padding-block:15px; }.nkl-article-list h3 { font-size:14px; }
  .nkl-promotion { flex-basis:85vw; }.nkl-promotion > div { padding:20px; max-width:80%; }.nkl-promotion p { font-size:18px; }.nkl-promotion h3 { font-size:28px; }.nkl-promotion span { font-size:11px; }
  .nkl-consultation h2 { font-size:23px; }.nkl-consultation-actions { flex-wrap:wrap; gap:12px; }.nkl-cta-background { display:none; }
}
@media(max-width:359px) { .nkl-solution { flex-direction:column; }.nkl-solution-copy { width:100%; }.nkl-solution .nkl-solution-image { position:static; width:100%; height:145px; }.nkl-featured-project { flex-direction:column; align-items:stretch; }.nkl-featured-project > img { width:100%; }.nkl-event { flex-direction:column; }.nkl-event-date { align-self:flex-start; }.nkl-hero h1 { font-size:27px; } }
