/* N.K.Luck child theme: edit this single stylesheet. Sections follow cascade order. */

/* Remove inherited rounded corners from content images. */
.nkluck-site .nkluck-content :is(p > img, figure img, .wp-block-image img) {
  border-radius: 0;
}

/* ===== SECTION: global-header-footer ===== */
/* Thêm CSS riêng cho website tại đây. */

/* Preserve metadata styling while allowing the additional count to wrap. */
/* Button-style links keep their color/arrow hover without text underlines. */
.nkluck-site :is(.nkl-text-link,.nkl-journal-link,.nkl-btn),
.nkluck-site :is(.nkl-text-link,.nkl-journal-link,.nkl-btn):is(:hover,:focus-visible),
.nkluck-site :is(.nkl-text-link,.nkl-journal-link,.nkl-btn) > span { text-decoration:none; }

.nkluck-site .nkluck-post-card__meta { flex-wrap: wrap; align-items: center; }
.nkl-post-views { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.nkl-post-views svg { flex: none; }
/* Product search replaces the header consultation button. */
.nkl-header .nkl-brand { flex-basis:220px; }
.nkl-header .nkl-brand img { width:220px; max-width:100%; max-height:62px; }
@media(min-width:1200px) and (max-width:1359px) { .nkl-header .nkl-brand { flex-basis:200px; }.nkl-header .nkl-brand img { width:200px; } }
@media(max-width:1199px) { .nkl-header .nkl-brand { flex-basis:180px; }.nkl-header .nkl-brand img { width:180px; max-height:54px; } }
.nkl-header .nkl-product-search {
    width:320px;
    flex:0 1 320px;
    min-width:245px;
    height:46px;
    gap:8px;
    padding:4px 5px 4px 16px;
    border:1px solid #d8e8df;
    border-radius:14px;
    background:linear-gradient(120deg,#f8fcfa,#eef8f3);
    transition:border-color 180ms ease,box-shadow 180ms ease;
}
.nkl-product-search > label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.nkl-header .nkl-product-search > input[type="search"] { flex:1; min-width:0; width:0; padding:8px 0; border-radius:0; font-size:13px; outline:none; }
/* Keep mobile text inputs readable without Safari's focus zoom. */
@media(max-width:1199px) {
  .nkl-header .nkl-product-search > input[type="search"] { font-size:16px; }
}
.nkl-product-search input::placeholder { color:#6c8075; opacity:1; }
.nkl-header .nkl-product-search button { display:grid; place-items:center; width:36px; height:36px; padding:8px; border-radius:10px; background:var(--nkl-primary); color:white; transition:background 180ms ease; }
.nkl-header .nkl-product-search button:hover { background:var(--nkl-primary-dark); }
.nkl-header .nkl-product-search:focus-within { border-color:var(--nkl-primary); box-shadow:0 0 0 3px rgba(0,166,81,.12); }
.nkl-product-search button:focus-visible { outline:2px solid var(--nkl-primary-dark); outline-offset:2px; }
@media(min-width:1200px) and (max-width:1359px) { .nkl-header .nkl-product-search { width:260px; flex-basis:260px; } }
@media(max-width:1199px) { .nkl-header .nkl-product-search { width:100%; min-width:0; flex:0 0 auto; } }
@media(prefers-reduced-motion:reduce) { .nkl-header .nkl-product-search,.nkl-header .nkl-product-search button { transition:none; } }

/* White footer: adapted to the existing shared footer markup. */
.nkl-footer#lien-he {
    isolation:isolate;
    overflow:hidden;
    color:#222;
    background:radial-gradient(circle at 5% 85%,rgba(0,166,81,.07) 0,rgba(0,166,81,.025) 18%,transparent 38%),radial-gradient(circle at 95% 15%,rgba(0,166,81,.055) 0,transparent 32%),linear-gradient(180deg,#fff 0%,#fbfdfc 55%,#f6faf8 100%);
}
.nkl-footer::before { content:""; position:absolute; z-index:-1; width:520px; height:520px; left:-260px; bottom:-280px; border:1px solid rgba(0,166,81,.1); border-radius:50%; box-shadow:60px -30px 0 0 rgba(0,166,81,.018),120px -60px 0 0 rgba(0,166,81,.012); pointer-events:none; }
.nkl-footer::after { content:""; position:absolute; z-index:-1; width:500px; height:250px; right:-100px; top:-80px; background:repeating-linear-gradient(135deg,rgba(0,166,81,.05) 0,rgba(0,166,81,.05) 1px,transparent 1px,transparent 18px); -webkit-mask-image:linear-gradient(to bottom left,rgba(0,0,0,.8),transparent 75%); mask-image:linear-gradient(to bottom left,rgba(0,0,0,.8),transparent 75%); opacity:.7; pointer-events:none; }
.nkl-footer :is(h2,h3,h4) { color:#111; font-weight:700; }
.nkl-footer h2 { font-size:15px; margin-bottom:24px; }
.nkl-footer :is(.nkl-footer-column,.nkl-footer-contact) > h2::after { content:""; display:block; width:48px; height:2px; margin-top:12px; border-radius:2px; background:linear-gradient(90deg,#00a651 0%,#00a651 30%,rgba(0,166,81,0) 100%); }
.nkl-footer :is(p,address) { color:#414141; }
.nkl-footer a { color:#292929; text-decoration:none; transition:color 250ms ease,transform 250ms ease,background-color 250ms ease,border-color 250ms ease; }
.nkl-footer a:is(:hover,:focus-visible) { color:#00a651; text-decoration:none; }
.nkl-footer .nkl-footer-column li { margin-bottom:12px; }
.nkl-footer :is(.nkl-footer-column,.nkl-footer-contact,.nkl-footer-bottom nav) a { position:relative; display:inline-block; max-width:100%; overflow-wrap:anywhere; transition:color 180ms ease,transform 180ms ease; }
.nkl-footer :is(.nkl-footer-column,.nkl-footer-contact,.nkl-footer-bottom nav) a::after,.nkluck-site :is(a.nkl-contact-link,.nkl-text-link,.nkluck-post-card__link)::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform var(--motion-fast) var(--motion-ease-standard); }
.nkl-footer :is(.nkl-footer-column,.nkl-footer-contact,.nkl-footer-bottom nav) a:is(:hover,:focus-visible)::after,.nkluck-site :is(a.nkl-contact-link,.nkl-text-link,.nkluck-post-card__link):is(:hover,:focus-visible)::after { transform:scaleX(1); }
.nkluck-site #kien-thuc .nkluck-post-card__link::after { content:none; }
.nkl-footer .nkl-footer-column a:is(:hover,:focus-visible) { transform:translateX(3px); }
.nkl-footer a:focus-visible { outline:2px solid #007c3d; outline-offset:4px; border-radius:2px; }
.nkl-footer .nkl-footer-company .nkl-footer-logo { width:200px; max-width:100%; }
.nkl-footer .nkl-footer-logo img { width:100%; max-height:none; filter:none; }
.nkl-footer .nkl-office .nkl-icon { color:#00a651; }
.nkl-footer .nkl-social { flex-wrap:wrap; gap:10px; }
.nkl-footer .nkl-social a { width:42px; height:42px; border:1px solid #00a651; border-radius:6px; color:#00a651; background:#fff; }
.nkl-footer .nkl-social a:is(:hover,:focus-visible) { color:#fff; background:#00a651; border-color:#00a651; transform:translateY(-3px); text-decoration:none; }
.nkl-footer .nkl-social svg { display:block; width:20px; height:20px; flex-shrink:0; color:inherit; }
.nkl-footer .nkl-social .nkl-social-zalo { display:inline; width:auto; height:auto; padding:0; border:0; border-radius:0; color:inherit; font-size:11px; font-weight:700; line-height:1; }
.nkl-footer#lien-he .nkl-footer-base { background:transparent; border-top:1px solid #e5eae7; }
.nkl-footer .nkl-footer-bottom :is(p,a) { color:#666; font-size:14px; }
.nkl-footer .nkl-footer-bottom a:is(:hover,:focus-visible) { color:#00a651; }
.nkl-footer .nkl-back-top { color:#fff; }
.nkl-footer .nkl-back-top:is(:hover,:focus-visible) { color:#fff; background:#007c3d; }
@media(max-width:767px) {
    .nkl-footer#lien-he { background:radial-gradient(circle at 100% 0,rgba(0,166,81,.055),transparent 35%),#fff; }
    .nkl-footer::before { width:300px; height:300px; left:-190px; bottom:-170px; }
    .nkl-footer::after { width:300px; height:160px; opacity:.45; }
}
@media(prefers-reduced-motion:reduce) {
    .nkl-footer a,.nkl-footer :is(.nkl-footer-column,.nkl-footer-contact,.nkl-footer-bottom nav) a { transition:none; }
    .nkl-footer :is(.nkl-footer-column,.nkl-footer-contact,.nkl-footer-bottom nav) a::after,.nkluck-site :is(a.nkl-contact-link,.nkl-text-link,.nkluck-post-card__link)::after { transition:none; }
    .nkl-footer :is(.nkl-footer-column) a:is(:hover,:focus-visible) { transform:none; }
    .nkl-footer .nkl-social a:is(:hover,:focus-visible) { transform:none; }
}

/* ===== SECTION: motion ===== */
/* Shared child motion: explicit reveal API, gentle interactions, no library. */
:root {
  --motion-fast:180ms; --motion-base:280ms; --motion-slow:560ms;
  --motion-ease:cubic-bezier(.22,1,.36,1);
  --motion-ease-standard:cubic-bezier(.4,0,.2,1);
  --motion-distance-sm:8px; --motion-distance-md:16px; --motion-distance-lg:24px;
}
.nkl-motion-boundary { display:block; width:1px; height:1px; pointer-events:none; }
.nkl-motion-start { position:absolute; inset:0 auto auto 0; }
.nkl-motion-ready {
  --nkl-reveal-x:0px; --nkl-reveal-y:var(--motion-distance-md);
  opacity:1; transform:none;
  transition:opacity var(--motion-slow) var(--motion-ease) var(--nkl-reveal-delay,0ms),transform var(--motion-slow) var(--motion-ease) var(--nkl-reveal-delay,0ms);
}
.nkl-motion-ready[data-reveal="fade"] { --nkl-reveal-y:0px; }
.nkl-motion-ready[data-reveal="left"] { --nkl-reveal-y:0px; --nkl-reveal-x:calc(-1 * var(--motion-distance-md)); }
.nkl-motion-ready[data-reveal="right"] { --nkl-reveal-y:0px; --nkl-reveal-x:var(--motion-distance-md); }
.has-motion .nkl-motion-ready:not(.is-visible) { opacity:0; transform:translate(var(--nkl-reveal-x),var(--nkl-reveal-y)); }
.nkl-motion-entrance { animation:nkl-motion-enter var(--motion-slow) var(--motion-ease) var(--nkl-reveal-delay,0ms) both; }
.nkl-motion-entrance[data-reveal="fade"] { animation-name:nkl-motion-fade; }
@keyframes nkl-motion-enter { from { opacity:.65; transform:translateY(var(--motion-distance-sm)); } to { opacity:1; transform:none; } }
@keyframes nkl-motion-fade { from { opacity:.65; } to { opacity:1; } }

[data-motion-header] { transition:box-shadow var(--motion-fast) var(--motion-ease-standard); }
[data-motion-header].is-scrolled { box-shadow:0 4px 18px rgb(7 88 63 / 7%); }
.nkl-text-link,.nkluck-post-card__link { position:relative; }
.nkl-nav-list a,.nkl-footer a,.nkl-text-link,.nkluck-post-card__link { transition:color var(--motion-fast) var(--motion-ease-standard); }
.nkl-nav-list li:hover > .sub-menu,.nkl-nav-list li:focus-within > .sub-menu { animation:nkl-motion-fade var(--motion-fast) var(--motion-ease); }
.nkl-hover-lift { --nkl-hover-lift:-2px; transition:transform var(--motion-base) var(--motion-ease),border-color var(--motion-base) var(--motion-ease-standard),box-shadow var(--motion-base) var(--motion-ease-standard); }
.nkl-solution { --nkl-hover-lift:-2px; }
.nkl-hover-border { transition:transform var(--motion-base) var(--motion-ease),border-color var(--motion-base) var(--motion-ease-standard),box-shadow var(--motion-base) var(--motion-ease-standard); }
.nkl-text-link > [aria-hidden="true"],.nkluck-post-card__link > [aria-hidden="true"],.nkl-btn > [aria-hidden="true"],.nkl-hover-arrow .nkl-circle-arrow .nkl-icon { display:inline-block; transition:transform var(--motion-fast) var(--motion-ease); }
.nkl-btn,.nkl-hover-button { transition:transform var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease-standard),box-shadow var(--motion-fast) var(--motion-ease-standard); }
.nkl-back-top,.nkl-social a { transition:background-color var(--motion-fast) var(--motion-ease-standard),color var(--motion-fast) var(--motion-ease-standard),transform var(--motion-fast) var(--motion-ease); }
.nkl-brand-image { transition:opacity var(--motion-fast) var(--motion-ease-standard); }

@media(hover:hover) {
  .nkl-hover-lift:hover { transform:translateY(var(--nkl-hover-lift)); box-shadow:0 5px 16px rgb(7 88 63 / 7%); }
  .nkl-hover-border:hover,.nkl-event-categories a:hover { border-color:var(--nkl-primary); }
.nkl-btn:hover,.nkl-hover-button:hover { transform:translateY(-2px); box-shadow:0 4px 12px rgb(7 88 63 / 10%); }
  .nkl-text-link:hover > [aria-hidden="true"],.nkluck-post-card__link:hover > [aria-hidden="true"],.nkl-btn:hover > [aria-hidden="true"],.nkl-hover-arrow:hover .nkl-circle-arrow .nkl-icon { transform:translateX(3px); }
  .nkluck-site :is(.nkl-text-link,.nkluck-post-card__link):hover { color:var(--nkl-primary-dark,#008544); text-decoration:none; }
  .nkl-article-list a:hover h3 { color:var(--nkl-primary-dark); }

  .nkl-back-top:hover { transform:translateY(-1px); }
  .nkl-brand-box:hover .nkl-brand-image { opacity:.9; }
}

/* Shared hover feedback for homepage carousel arrows. */
.nkl-home :is(.nkl-slider-buttons button,.nkl-promotion-controls button,.nkl-event-controls button,.nkl-banner-controls button) {
  transition: background-color var(--motion-fast) var(--motion-ease-standard), border-color var(--motion-fast) var(--motion-ease-standard), color var(--motion-fast) var(--motion-ease-standard), box-shadow var(--motion-fast) var(--motion-ease-standard), transform var(--motion-fast) var(--motion-ease-standard);
}
.nkl-home :is(.nkl-slider-buttons button,.nkl-promotion-controls button,.nkl-event-controls button,.nkl-banner-controls button) svg,
.nkl-home :is(.nkl-slider-buttons button,.nkl-promotion-controls button,.nkl-event-controls button,.nkl-banner-controls button) > span { transition: translate var(--motion-fast) var(--motion-ease-standard); }
@media (hover: hover) {
  .nkl-home :is(.nkl-slider-buttons button,.nkl-promotion-controls button,.nkl-event-controls button,.nkl-banner-controls button):not(:disabled):not([aria-disabled="true"]):hover {
    background: #edf8f1; border-color: #00a651; color: #008544;
    box-shadow: 0 4px 12px rgba(0, 130, 65, .12); transform: translateY(-2px);
  }
  .nkl-home :is(.nkl-slider-buttons button,.nkl-promotion-controls button,.nkl-event-controls button,.nkl-banner-controls button):first-child:not(:disabled):hover :is(svg, span) { translate: -3px 0; }
  .nkl-home :is(.nkl-slider-buttons button,.nkl-promotion-controls button,.nkl-event-controls button,.nkl-banner-controls button):last-child:not(:disabled):hover :is(svg, span) { translate: 3px 0; }
}
.nkl-home :is(.nkl-slider-buttons button,.nkl-promotion-controls button,.nkl-event-controls button,.nkl-banner-controls button):active { transform: translateY(0); box-shadow: none; }
.nkl-home :is(.nkl-slider-buttons button,.nkl-promotion-controls button,.nkl-event-controls button,.nkl-banner-controls button):focus-visible { outline: 2px solid #00a651; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .nkl-home :is(.nkl-slider-buttons button,.nkl-promotion-controls button,.nkl-event-controls button,.nkl-banner-controls button),
  .nkl-home :is(.nkl-slider-buttons button,.nkl-promotion-controls button,.nkl-event-controls button,.nkl-banner-controls button) svg,
  .nkl-home :is(.nkl-slider-buttons button,.nkl-promotion-controls button,.nkl-event-controls button,.nkl-banner-controls button) > span { transition: none; }
  .nkl-home :is(.nkl-slider-buttons button,.nkl-promotion-controls button,.nkl-event-controls button,.nkl-banner-controls button):not(:disabled):not([aria-disabled="true"]):hover { transform: none; }
  .nkl-home :is(.nkl-slider-buttons button,.nkl-promotion-controls button,.nkl-event-controls button,.nkl-banner-controls button):hover :is(svg, span) { translate: none; }
}

.nkluck-site :is(.nkl-text-link,.nkluck-post-card__link):focus-visible { outline:2px solid var(--nkl-primary,#00a651); outline-offset:4px; border-radius:3px; }
/* Top-level navigation only; preserve dropdown chevrons and the mega-menu hover bridge. */
.nkl-header .nkl-nav-list > li > :is(a,button):is(:hover,:focus-visible) { color:var(--nkl-primary); }
@media(min-width:1200px) {
  .nkl-header .nkl-nav-list > li > :is(a,button) { position:relative; }
  .nkl-header .nkl-nav-list > li > :is(a,button)::before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    border-radius:2px;
    background:var(--nkl-primary);
    pointer-events:none;
    transform:scaleX(0);
    transform-origin:left;
    transition:transform var(--motion-fast) var(--motion-ease-standard);
  }
  .nkl-header .nkl-nav-list > li > :is(a,button):is(:hover,:focus-visible)::before { transform:scaleX(1); }
}
@media(prefers-reduced-motion:reduce) {
  .nkl-header .nkl-nav-list > li > :is(a,button)::before { transition:none; }
}
.nkl-btn:active,.nkl-hover-button:active { transform:none; }
.nkl-hover-border:focus-within { border-color:var(--nkl-primary); }
.nkl-hover-lift.nkl-motion-ready,.nkl-hover-border.nkl-motion-ready { transition:opacity var(--motion-slow) var(--motion-ease) var(--nkl-reveal-delay,0ms),transform var(--motion-slow) var(--motion-ease) var(--nkl-reveal-delay,0ms),border-color var(--motion-base) var(--motion-ease-standard); }

.nkl-header .nkl-brand img,
.nkl-footer .nkl-footer-logo img {
  -webkit-mask-image:linear-gradient(110deg,#000 0%,#000 40%,rgba(0,0,0,.65) 44%,transparent 50%,rgba(0,0,0,.65) 56%,#000 60%,#000 100%);
  mask-image:linear-gradient(110deg,#000 0%,#000 40%,rgba(0,0,0,.65) 44%,transparent 50%,rgba(0,0,0,.65) 56%,#000 60%,#000 100%);
  -webkit-mask-size:300% 100%;
  mask-size:300% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:100% 0;
  mask-position:100% 0; animation:nkl-logo-shine 3.6s linear infinite; }
@media(prefers-reduced-motion:no-preference) {
  /* A separate animation name restarts the sweep immediately on each entry. */
  .nkl-header .nkl-brand a:is(:hover,:focus-visible) img,
  .nkl-footer .nkl-footer-logo:is(:hover,:focus-visible) img { animation-name:nkl-logo-shine-hover; }
}
/* The oversized mask moves right as its position decreases, sweeping left to right. */
@keyframes nkl-logo-shine {
  0% { -webkit-mask-position:100% 0; mask-position:100% 0; }
  38%,100% { -webkit-mask-position:0% 0; mask-position:0% 0; }
}
@keyframes nkl-logo-shine-hover {
  0% { -webkit-mask-position:100% 0; mask-position:100% 0; }
  38%,100% { -webkit-mask-position:0% 0; mask-position:0% 0; }
}

@media(prefers-reduced-motion:reduce) {
  .nkl-header .nkl-brand img,.nkl-footer .nkl-footer-logo img { animation:none; -webkit-mask-image:none; mask-image:none; }
  html { scroll-behavior:auto; }
  .has-motion [data-reveal].nkl-motion-ready,[data-reveal],.nkl-motion-entrance { opacity:1; transform:none; transition:none; animation:none; }
  .nkl-hover-lift:hover,.nkl-btn:hover,.nkl-hover-button:hover,.nkl-back-top:hover  { transform:none; }
  [data-motion-header],.nkl-btn,.nkl-hover-lift,.nkl-hover-border,.nkl-nav-list a,.nkl-footer a,.nkl-contact-link,.nkl-text-link,.nkluck-post-card__link,.nkl-back-top,.nkl-social a,.nkl-brand-image,.nkl-text-link > [aria-hidden="true"],.nkluck-post-card__link > [aria-hidden="true"],.nkl-btn > [aria-hidden="true"],.nkl-hover-arrow .nkl-circle-arrow .nkl-icon,.nkl-nav-list li:hover > .sub-menu,.nkl-nav-list li:focus-within > .sub-menu  { transition:none; animation:none; }
.nkl-text-link:hover > [aria-hidden="true"],.nkluck-post-card__link:hover > [aria-hidden="true"],.nkl-btn:hover > [aria-hidden="true"],.nkl-hover-arrow:hover .nkl-circle-arrow .nkl-icon { transform:none; }
}

/* ===== SECTION: home ===== */
.nkl-footer-badges { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-block:18px; }
.nkl-footer-badges > a,.nkl-footer-badges > span { display:inline-flex; flex:0 0 auto; align-items:center; }
.nkl-footer-badges img { display:block; width:auto; height:44px; max-width:160px; object-fit:contain; }
.nkl-footer-badges .nkluck-ministry-badge { width:auto; max-width:100%; }
.nkl-footer-badges .nkluck-ministry-badge img { width:140px; height:auto; }
.nkl-footer-badges .nkl-footer-dmca img { height:auto; width:96px; }
.nkl-footer-badges .nkl-footer-ssl img { height:auto; width:100px; }
/* Short category cards with a gentle image zoom and emerald hover overlay. */
#giai-phap > .nkl-container { max-width:1200px; }
#giai-phap .nkl-solutions-grid { gap:18px; }
#giai-phap .nkl-solution { display:block; min-height:0; aspect-ratio:8/5; border-radius:16px; background:var(--nkl-primary-dark); box-shadow:0 6px 24px rgba(0,55,35,.08); }
#giai-phap .nkl-solution .nkl-solution-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 45%; }
#giai-phap .nkl-solution::before { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 25%,rgba(0,25,18,.2) 48%,rgba(0,25,18,.88) 100%); }
#giai-phap .nkl-solution::after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:rgba(0,70,40,.18); opacity:0; transition:opacity 300ms ease; }
#giai-phap .nkl-solution-copy { position:absolute; z-index:2; bottom:0; left:0; display:grid; grid-template-columns:28px minmax(0,1fr); column-gap:10px; align-items:start; width:100%; padding:18px 58px 18px 18px; background:transparent; transition:transform 220ms ease; }
#giai-phap .nkl-solution-copy > .nkl-icon { grid-row:1 / 3; width:25px; height:25px; margin:0; color:#a5f2c9; }
#giai-phap .nkl-solution-copy h3 { color:#fff; font-size:18px; line-height:1.35; text-shadow:0 1px 8px rgba(0,0,0,.2); }
#giai-phap .nkl-solution-copy p { grid-column:2; font-size:13px; line-height:1.5; color:#e1eee7; margin-top:5px; }
#giai-phap .nkl-solution .nkl-circle-arrow { z-index:3; right:16px; bottom:19px; width:32px; height:32px; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.4); color:white; transition:background 180ms ease,border-color 180ms ease; }
#giai-phap .nkl-solution:is(:hover,:focus-visible) .nkl-circle-arrow { background:var(--nkl-primary); border-color:var(--nkl-primary); }
#giai-phap .nkl-solution:focus-visible { outline:2px solid var(--nkl-primary); outline-offset:4px; }
@media(hover:hover) {

  #giai-phap .nkl-solution:hover::after { opacity:1; }
  #giai-phap .nkl-solution:hover .nkl-solution-copy { transform:translateY(-3px); }
  #giai-phap .nkl-solution:hover .nkl-circle-arrow .nkl-icon { transform:translateX(4px); }
}
#giai-phap .nkl-solution:focus-visible::after { opacity:1; }
@media(max-width:767px) { #giai-phap .nkl-solutions-grid { gap:16px; }#giai-phap .nkl-solution { aspect-ratio:3/2; } }
@media(prefers-reduced-motion:reduce) {
  #giai-phap .nkl-solution .nkl-circle-arrow,#giai-phap .nkl-solution > .nkl-solution-image,#giai-phap .nkl-solution-copy,#giai-phap .nkl-solution::after { transition:none; }

}

/* Service section: soft mint lighting and decorative contours behind the cards. */
.nkl-home .nkl-services {
  isolation:isolate;
  background:
    radial-gradient(ellipse at 94% 12%,rgba(0,166,81,.12),transparent 55%),
    radial-gradient(ellipse at 4% 100%,rgba(0,166,81,.07),transparent 50%),
    linear-gradient(120deg,#f8fcfa 0%,#eef8f3 100%);
  border-block:1px solid rgba(0,100,55,.06);
}
.nkl-home .nkl-services::before,
.nkl-home .nkl-services::after {
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  width:520px;
  height:520px;
  top:-290px;
  right:-100px;
  border:1px solid rgba(0,130,70,.09);
  border-radius:50%;
}
.nkl-home .nkl-services::after { width:680px; height:680px; top:-370px; right:-180px; }
.nkl-home .nkl-services .nkl-service-background { display:none; }
.nkl-services .nkl-service { position:relative; padding:22px; border-radius:16px; border-color:#dce9e2; background:linear-gradient(145deg,#fff,#fcfefd); box-shadow:0 5px 18px rgba(0,65,38,.035); }
.nkl-service-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.nkl-service-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:#eaf8f0; border:1px solid #ddf2e5; transition:background 200ms ease; }
.nkl-services .nkl-service-icon .nkl-icon { width:27px; height:27px; margin:0; }
.nkl-service-index { color:#9ab6a7; font-size:12px; letter-spacing:1px; font-weight:600; }
.nkl-services .nkl-service h3 { font-size:17px; line-height:1.4; margin-bottom:8px; }
.nkl-services .nkl-service p { max-width:none; padding-right:24px; color:var(--nkl-muted); line-height:1.6; }
.nkl-service-arrow { position:absolute; right:20px; bottom:21px; display:grid; place-items:center; }
.nkl-services .nkl-service-arrow .nkl-icon { width:18px; height:18px; margin:0; color:var(--nkl-primary-dark); transition:transform 200ms ease; }
.nkl-service:is(:hover,:focus-visible) .nkl-service-icon { background:#d9f4e5; }
.nkl-service:is(:hover,:focus-visible) .nkl-service-arrow .nkl-icon { transform:translateX(3px); }
.nkl-service:focus-visible { outline:2px solid var(--nkl-primary); outline-offset:4px; }
@media(prefers-reduced-motion:reduce) {
  .nkl-service-icon,.nkl-services .nkl-service-arrow .nkl-icon { transition:none; }
  .nkl-service:is(:hover,:focus-visible) .nkl-service-arrow .nkl-icon { transform:none; }
}

/* Homepage knowledge cards: three visible posts, native scroll snap fallback. */
#kien-thuc { background:#f5f7f8; }
.nkl-knowledge-slider { min-width:0; }
.nkl-journal-track { display:flex; align-items:stretch; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:2px; padding:2px 2px 18px; scrollbar-width:none; }
.nkl-journal-track::-webkit-scrollbar { display:none; }
.nkl-journal-track:focus-visible { outline:2px solid var(--nkl-primary); outline-offset:4px; }
.nkl-journal-card { display:flex; flex:0 0 calc((100% - 48px)/3); min-width:0; flex-direction:column; overflow:hidden; scroll-snap-align:start; border:1px solid var(--nkl-border); border-radius:16px; background:var(--nkl-white); box-shadow:0 8px 20px rgba(16,35,63,.045); }
.nkl-journal-image { position:relative; display:block; overflow:hidden; background:var(--nkl-bg-mint); }
.nkl-journal-image img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }

.nkl-journal-category { position:absolute; top:16px; left:16px; padding:7px 13px; border-radius:999px; background:var(--nkl-primary); color:#fff; font-size:12px; font-weight:600; line-height:1.4; }
.nkl-journal-copy { padding:22px; display:flex; flex:1; flex-direction:column; align-items:flex-start; }
.nkl-journal-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; color:var(--nkl-muted); font-size:12px; line-height:1.5; margin-bottom:16px; width:100%; }
.nkl-journal-meta span,.nkl-journal-meta time { display:inline-flex; align-items:center; gap:6px; }
.nkl-journal-meta svg { flex-shrink:0; color:var(--nkl-primary); }
.nkl-home .nkl-journal-copy h3 { margin:14px 0 10px; font-size:20px; font-weight:600; line-height:1.3; letter-spacing:normal; color:var(--nkluck-color-heading,#222); }
.nkl-journal-copy h3 a { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; color:inherit; }
.nkl-journal-copy h3 a:hover { color:var(--nkl-primary-dark); }
.nkl-journal-excerpt { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:14px; line-height:1.6; color:var(--nkl-muted); margin:0 0 20px; }
.nkl-journal-link { display:flex; align-items:center; gap:8px; width:100%; margin-top:auto; padding-top:18px; border-top:1px solid var(--nkl-border); color:var(--nkl-primary); font-size:13px; font-weight:600; text-decoration:none;
  transition:color 180ms ease;
}
.nkl-journal-link > span { display:inline-block; transition:transform var(--motion-fast) var(--motion-ease-standard); }
.nkl-journal-link:is(:hover,:focus-visible) { color:var(--nkl-primary-dark); text-decoration:none; }
.nkl-journal-link:is(:hover,:focus-visible) > span { transform:translateX(5px); }
.nkl-journal-link:focus-visible { outline:2px solid var(--nkl-primary); outline-offset:4px; border-radius:3px; }
@media(prefers-reduced-motion:reduce) {
  .nkl-journal-link,.nkl-journal-link > span { transition:none; }
  .nkl-journal-link:is(:hover,:focus-visible) > span { transform:none; }
}
.nkl-knowledge-controls { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:4px; }
.nkl-knowledge-controls[hidden] { display:none; }
.nkl-knowledge-controls .nkl-slider-buttons button { width:44px; height:44px; border-radius:50%; background:#fff; font-size:22px; }
.nkl-knowledge-pagination { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.nkl-knowledge-pagination button { display:grid; place-items:center; width:28px; height:28px; border:0; padding:0; background:transparent; cursor:pointer; }
.nkl-knowledge-pagination button::before { content:""; width:7px; height:7px; background:#c5d7cf; border-radius:999px; transition:width 200ms ease,background 200ms ease; }
.nkl-knowledge-pagination button[aria-current="true"]::before { width:22px; background:var(--nkl-primary); }
@media(max-width:1023px) { .nkl-journal-track { gap:20px; }.nkl-journal-card { flex-basis:calc((100% - 20px)/2); } }
@media(max-width:767px) { .nkl-journal-track { gap:16px; }.nkl-journal-card { flex-basis:100%; }.nkl-journal-copy { padding:20px; }.nkl-home .nkl-journal-copy h3 { font-size:20px; } }
@media(prefers-reduced-motion:reduce) { .nkl-journal-image img,.nkl-knowledge-pagination button::before { transition:none; } }
#kien-thuc .nkl-featured-article > a { display:block; overflow:hidden; }
#kien-thuc .nkl-featured-article > a img { display:block; width:100%; height:auto; aspect-ratio:8 / 5; object-fit:cover; }
#kien-thuc .nkl-article-copy h3 a { color:inherit; }
#kien-thuc .nkl-article-list > article > a > div { min-width:0; }
.nkl-mouse-draggable { cursor:grab; }
.nkl-mouse-draggable.is-mouse-dragging,.nkl-mouse-draggable.is-mouse-dragging * { cursor:grabbing !important; user-select:none; }
.nkl-mouse-draggable img { -webkit-user-drag:none; }
.nkl-brand-box .nkl-brand-image { width:100%; height:100%; padding:10px 12px; object-fit:contain; }
#thuong-hieu .nkl-home-brand-link { display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:10px 14px; color:var(--nkl-primary-dark,#007b45); text-decoration:none; }
#thuong-hieu .nkl-home-brand-link img { display:block; max-width:100%; width:100%; height:100%; object-fit:contain; }
#thuong-hieu .nkl-home-brand-link:focus-visible { outline:2px solid #008544; outline-offset:-3px; border-radius:8px; }
#thuong-hieu .nkl-brand-show-all { padding:0; border:0; background:none; font-family:inherit; cursor:pointer; }
#thuong-hieu.is-show-all .nkl-brand-marquee { overflow:visible; }
#thuong-hieu.is-show-all .nkl-brand-marquee-track { width:100%; animation:none; transform:none; }
#thuong-hieu.is-show-all .nkl-brands:not([aria-hidden]) { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); width:100%; padding:0; }
#thuong-hieu.is-show-all .nkl-brand-box { width:100%; }
#thuong-hieu.is-show-all .nkl-brands[aria-hidden] { display:none; }
#san-pham .nkl-product { flex-basis:calc((100% - 48px)/4); padding:20px 18px; border-radius:14px; }
#san-pham .nkl-product > img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:white; margin-bottom:18px; }
#san-pham .nkl-product-brand { display:flex; justify-content:center; align-items:center; width:160px; max-width:100%; height:56px; margin:0 0 12px; padding:0; background:transparent; }
#san-pham .nkl-product-brand-logo { display:block; width:100%; height:100%; object-fit:contain; }
#san-pham .nkl-product h3 { font-size:16px; line-height:1.4; }
#san-pham .nkl-product-description { font-size:12px; line-height:1.5; }
@media(max-width:1199px) { #san-pham .nkl-product { flex-basis:calc((100% - 16px)/2); } }
@media(max-width:767px) { #san-pham .nkl-product { flex-basis:100%; } }
.nkl-product-viewport { overflow-x:auto; padding:4px 0 12px; }
.nkl-product-viewport.is-enhanced { overflow:hidden; touch-action:pan-y pinch-zoom; }
#san-pham .nkl-product-track { overflow:visible; padding:0; transition:transform 450ms cubic-bezier(.22,.61,.36,1); }
.nkl-product-viewport:focus-visible { outline:2px solid var(--nkl-primary); outline-offset:3px; }
.nkl-product-pagination { display:flex; justify-content:center; gap:2px; margin-top:8px; }
.nkl-product-pagination[hidden] { display:none; }
.nkl-product-pagination button { width:44px; height:44px; display:grid; place-items:center; padding:0; background:transparent; border:0; cursor:pointer; }
.nkl-product-pagination button::before { content:''; width:7px; height:7px; border-radius:999px; background:var(--nkl-border); transition:width 180ms ease,background 180ms ease; }
.nkl-product-pagination button[aria-current="true"]::before { width:24px; background:var(--nkl-primary); }
.nkl-product-pagination button:focus-visible { outline:2px solid var(--nkl-primary); outline-offset:2px; }
@media(prefers-reduced-motion:reduce) { #san-pham .nkl-product-track,.nkl-product-pagination button::before { transition:none; } }
/* Two identical strips join seamlessly while moving left to right. */
.nkl-brand-marquee { overflow-x:auto; scrollbar-width:thin; }
.nkl-brand-marquee-track { display:flex; width:max-content; }
#thuong-hieu .nkl-brands { display:flex; flex-shrink:0; gap:16px; overflow:visible; margin:0; padding:0 16px 0 0; }
#thuong-hieu .nkl-brand-box { flex:0 0 200px; width:200px; height:88px; background:var(--nkl-white); }
.nkl-brand-marquee:not(.is-running) .nkl-brands[aria-hidden] { display:none !important; }
.nkl-brand-marquee.is-running { overflow:hidden; }
.nkl-brand-marquee.is-running .nkl-brand-marquee-track { animation:nkl-brands-drift 100s linear infinite; }
.nkl-brand-marquee:hover .nkl-brand-marquee-track,.nkl-brand-marquee:focus-visible .nkl-brand-marquee-track,.nkl-brand-marquee.is-paused .nkl-brand-marquee-track { animation-play-state:paused; }
@keyframes nkl-brands-drift { from { transform:translateX(-50%); } to { transform:translateX(0); } }
.nkl-brand-marquee-toggle { display:none; }

.nkl-brand-marquee-toggle:focus-visible,.nkl-brand-marquee:focus-visible { outline:2px solid var(--nkl-primary); outline-offset:3px; }
@media(max-width:767px) { #thuong-hieu .nkl-brand-box { flex-basis:160px; width:160px; } }
@media(prefers-reduced-motion:reduce) { .nkl-brand-marquee.is-running { overflow-x:auto; }.nkl-brand-marquee.is-running .nkl-brand-marquee-track { animation:none; }.nkl-brand-marquee .nkl-brands[aria-hidden] { display:none !important; } }
.nkl-partner .nkl-partner-image { opacity:1; }
#du-an .nkl-projects-grid { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:center; }
.nkl-project-slider { min-width:0; }
.nkl-project-track { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.nkl-project-track::-webkit-scrollbar { display:none; }
.nkl-project-slide { flex:0 0 100%; min-width:0; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:22px; align-items:center; scroll-snap-align:start; }
.nkl-project-image { display:block; overflow:hidden; border-radius:14px; background:var(--nkl-bg-mint); }
.nkl-project-image img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.nkl-project-copy h3 { font-size:18px; line-height:1.5; margin-bottom:20px; }
.nkl-project-copy h3 a { color:inherit; }
.nkl-project-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; }
.nkl-project-controls[hidden] { display:none; }
.nkl-project-pagination { display:flex; gap:6px; flex-wrap:wrap; }
.nkl-project-pagination button { width:24px; height:24px; border:0; padding:0; background:transparent; display:grid; place-items:center; cursor:pointer; }
.nkl-project-pagination button::before { content:""; width:7px; height:7px; border-radius:999px; background:#c5d7cf; }
.nkl-project-pagination button[aria-current="true"]::before { width:20px; background:var(--nkl-primary); }
.nkl-project-controls .nkl-slider-buttons button { border-radius:50%; width:38px; height:38px; font-size:20px; }
@media(max-width:1199px) { #du-an .nkl-projects-grid { grid-template-columns:1fr; } }
@media(max-width:767px) { .nkl-project-slide { grid-template-columns:1fr; gap:16px; }.nkl-project-image img { aspect-ratio:16/9; }.nkl-project-copy h3 { font-size:18px; } }
#du-an .nkl-partners { grid-template-columns:repeat(5,minmax(0,1fr)); align-items:center; gap:12px; }
#du-an .nkl-partner { min-height:116px; padding:14px 10px; border-radius:12px; background:var(--nkl-white); }
#du-an .nkl-partner .nkl-partner-image { width:100%; height:76px; object-fit:contain; }
@media(max-width:767px) { #du-an .nkl-partners { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.nkl-academy--real { display:grid; grid-template-columns:45% 55%; background:var(--nkl-primary-darker); }
.nkl-academy--real::after { display:none; }
.nkl-academy--real > img { position:static; grid-column:2; grid-row:1; width:100%; height:100%; max-height:330px; object-fit:contain; padding:16px 12px; background:var(--nkl-bg-mint); }
.nkl-academy--real .nkl-academy-copy { position:static; grid-column:1; grid-row:1; align-self:end; padding:24px 20px; }
.nkl-home .nkl-academy--real .nkl-academy-copy h2 { font-size:25px; }
.nkl-academy--real .nkl-academy-copy p { font-size:12.5px; margin-block:8px 16px; }
.nkl-academy--real .nkl-btn { padding-inline:14px; }
/* Square promotion artwork with a dark green hover/focus overlay. */
#uu-dai .nkl-promotion-track { gap:20px; padding:4px 2px 12px; scrollbar-width:none; }
#uu-dai .nkl-promotion-track::-webkit-scrollbar { display:none; }
.nkl-promotion-slider { position:relative; }
.nkl-promotion.nkl-promotion--real { flex-basis:calc((100% - 40px)/3); aspect-ratio:1; min-height:0; display:block; background:var(--nkl-bg-mint); border:1px solid var(--nkl-border); border-radius:14px; transition:box-shadow 200ms ease,border-color 200ms ease; }
.nkl-promotion--real > img { display:block; width:100%; height:100%; object-fit:contain; }
.nkl-promotion.nkl-promotion--real > .nkl-promotion-overlay { position:absolute; inset:0; max-width:none; padding:22px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(180deg,rgba(0,45,28,0) 0%,rgba(0,45,28,.8) 40%,rgba(0,45,28,.97) 100%); color:white; opacity:0; transform:translateY(8px); transition:opacity 220ms ease,transform 220ms ease; }
.nkl-home .nkl-promotion--real p { font-size:10px; line-height:1.4; font-style:normal; letter-spacing:1px; color:#b7f3d2; margin:0; }
.nkl-home .nkl-promotion--real h3 { font-size:18px; line-height:1.4; margin:8px 0; color:white; }
.nkl-promotion--real span { max-width:none; font-size:12px; font-weight:400; line-height:1.5; text-transform:none; }
.nkl-promotion--real .nkl-promotion-action { display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(255,255,255,.25); padding-top:12px; margin-top:14px; font-weight:600; }
.nkl-promotion-action > span { font-size:22px; }
.nkl-home .nkl-promotion--real .nkl-promotion-status { align-self:flex-start; padding:5px 10px; border-radius:999px; background:var(--nkl-primary); color:white; letter-spacing:.4px; }
.nkl-home .nkl-promotion--real .nkl-promotion-status.is-upcoming { background:#1687b5; }
.nkl-home .nkl-promotion--real .nkl-promotion-status.is-ongoing { background:#00a651; }
.nkl-home .nkl-promotion--real .nkl-promotion-status:is(.is-ended,.is-undated) { background:#98a2af; }
.nkl-promotion-controls { position:absolute; inset:0; pointer-events:none; }
.nkl-promotion-controls[hidden] { display:none; }
.nkl-promotion-controls button { position:absolute; top:calc(50% - 4px); transform:translateY(-50%); width:48px; height:48px; display:grid; place-items:center; padding:0 0 4px; border:1px solid var(--nkl-border); border-radius:50%; background:var(--nkl-white); color:var(--nkl-primary-darker); font-size:34px; line-height:1; box-shadow:0 4px 18px rgba(0,55,35,.14); cursor:pointer; pointer-events:auto; transition:background 180ms ease,color 180ms ease,box-shadow 180ms ease; }
.nkl-promotion-controls [data-promotion-prev] { left:-20px; }
.nkl-promotion-controls [data-promotion-next] { right:-20px; }
.nkl-promotion-controls button:hover:not(:disabled) { background:var(--nkl-primary-dark); color:white; box-shadow:0 6px 22px rgba(0,55,35,.24); }
.nkl-promotion-controls button:disabled { opacity:.35; cursor:default; box-shadow:none; }
.nkl-promotion-pagination { display:flex; justify-content:center; align-items:center; gap:2px; margin-top:4px; }
.nkl-promotion-pagination[hidden] { display:none; }
.nkl-promotion-pagination button { display:grid; place-items:center; width:44px; height:44px; border:0; padding:0; background:transparent; cursor:pointer; }
.nkl-promotion-pagination button::before { content:''; width:7px; height:7px; border-radius:999px; background:var(--nkl-border); transition:width 180ms ease,background 180ms ease; }
.nkl-promotion-pagination button[aria-current="true"]::before { width:24px; background:var(--nkl-primary); }
.nkl-promotion-controls button:focus-visible,.nkl-promotion-pagination button:focus-visible { outline:2px solid var(--nkl-primary); outline-offset:3px; }
@media(max-width:767px) { .nkl-promotion-controls [data-promotion-prev] { left:8px; }.nkl-promotion-controls [data-promotion-next] { right:8px; } }
@media(prefers-reduced-motion:reduce) { .nkl-promotion-controls button,.nkl-promotion-pagination button::before { transition:none; } }
.nkl-promotion--real:hover > .nkl-promotion-overlay,.nkl-promotion--real:focus-visible > .nkl-promotion-overlay { opacity:1; transform:none; }
.nkl-promotion--real:hover { box-shadow:0 8px 24px rgba(0,70,40,.16); border-color:var(--nkl-primary); }
.nkl-promotion--real:focus-visible { outline:3px solid var(--nkl-primary); outline-offset:3px; }
@media(max-width:1199px) { .nkl-promotion.nkl-promotion--real { flex-basis:calc((100% - 20px)/2); } }
@media(max-width:767px) { .nkl-promotion.nkl-promotion--real { flex-basis:85vw; } }
@media(hover:none) { .nkl-promotion.nkl-promotion--real > .nkl-promotion-overlay { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .nkl-promotion.nkl-promotion--real,.nkl-promotion.nkl-promotion--real > .nkl-promotion-overlay { transition:none; } }
@media(max-width:1199px) {
  .nkl-academy--real { grid-template-columns:42% 58%; }
  .nkl-home .nkl-academy--real .nkl-academy-copy h2 { font-size:23px; }
  .nkl-academy--real .nkl-academy-copy { padding:20px 16px; }
}
@media(max-width:767px) {
  .nkl-academy--real { grid-template-columns:1fr; }
  .nkl-academy--real > img { grid-column:1; grid-row:1; height:auto; max-height:none; aspect-ratio:4/3; padding:0; }
  .nkl-academy--real .nkl-academy-copy { grid-column:1; grid-row:2; padding:22px; }
  .nkl-home .nkl-academy--real .nkl-academy-copy h2 { font-size:26px; }
}
.nkl-banner-slider { position:relative; background:var(--nkl-bg-soft); }
.nkl-banner-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.nkl-banner-track::-webkit-scrollbar { display:none; }
.nkl-banner-slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; }
.nkl-banner-slide img { display:block; width:100%; height:auto; aspect-ratio:5 / 2; object-fit:contain; }
.nkl-banner-controls { position:absolute; inset:0; pointer-events:none; }
.nkl-banner-controls[hidden] { display:none; }
.nkl-banner-controls button[hidden] { display:none; }
.nkl-banner-controls button { position:absolute; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:rgb(255 255 255 / 90%); color:var(--nkl-primary-dark); font-size:30px; cursor:pointer; opacity:0; pointer-events:none; transition:opacity var(--motion-fast) var(--motion-ease); }
.nkl-banner-controls [data-banner-prev] { left:18px; }
.nkl-banner-controls [data-banner-next] { right:18px; }
.nkl-banner-slider:hover .nkl-banner-controls button,.nkl-banner-slider:focus-within .nkl-banner-controls button { opacity:1; pointer-events:auto; }
.nkl-banner-controls button:focus-visible,.nkl-banner-track:focus-visible { outline:2px solid var(--nkl-primary); outline-offset:2px; }
@media(prefers-reduced-motion:reduce) { .nkl-banner-controls button { transition:none; } }

/* Academy editorial showcase: full image, calendar badge and rich green panel. */
/* Academy: airy white event card with a separate photo and mint details. */
.nkl-event-showcase { padding-block:52px; background:linear-gradient(180deg,#f8fcfa,#eef7f2); }
.nkl-event-eyebrow { color:var(--nkl-primary-dark); font-size:11px; font-weight:700; letter-spacing:2px; }
.nkl-event-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.nkl-event-heading h2 { margin:8px 0 0; }
.nkl-event-heading p { margin:10px 0 0; }
.nkl-event-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:22px; background:#fff; border:1px solid #dcebe2; box-shadow:0 12px 36px rgba(0,55,35,.06); }
.nkl-event-track::-webkit-scrollbar { display:none; }
.nkl-event-slide { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:34px; padding:24px; flex:0 0 100%; min-width:0; scroll-snap-align:start; align-items:center; }
.nkl-event-photo { position:relative; aspect-ratio:16/9; min-height:0; min-width:0; overflow:hidden; border-radius:14px; background:var(--nkl-bg-mint); }
.nkl-event-photo img { position:absolute; inset:0; display:block; width:100%; height:100%; max-height:none; object-fit:cover; border-radius:0; }
@media(prefers-reduced-motion:reduce) { .nkl-event-photo img { transition:none; } }
.nkl-event-calendar { position:absolute; top:14px; left:14px; width:66px; display:flex; flex-direction:column; align-items:center; overflow:hidden; border-radius:10px; padding-bottom:8px; background:white; color:var(--nkl-primary-dark); box-shadow:0 4px 18px rgba(0,35,25,.15); }
.nkl-event-calendar > span:first-child { width:100%; padding:6px 3px; text-align:center; color:white; background:var(--nkl-primary); font-size:9px; font-weight:700; letter-spacing:.5px; }
.nkl-event-calendar strong { font-size:29px; line-height:1.15; margin-top:7px; }
.nkl-event-calendar > span:last-child { font-size:10px; letter-spacing:1px; }
.nkl-event-content { padding:8px 12px 8px 0; min-width:0; display:flex; flex-direction:column; justify-content:center; color:var(--nkl-text); }
.nkl-event-topline { margin-bottom:14px; }
.nkl-event-type { display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border-radius:999px; background:#eaf8f0; color:var(--nkl-primary-dark); font-size:11px; font-weight:600; }
.nkl-event-type::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--nkl-primary); }
.nkl-home .nkl-event-content h3 { color:var(--nkl-text); font-size:clamp(23px,1.85vw,29px); line-height:1.35; letter-spacing:-.4px; margin:0; }
.nkl-event-description { margin:12px 0 18px; font-size:13px; line-height:1.65; color:var(--nkl-muted); }
.nkl-event-details { display:flex; flex-wrap:wrap; gap:10px 20px; padding-top:16px; margin-bottom:22px; border-top:1px solid var(--nkl-border); font-size:12px; }
.nkl-event-details span { display:flex; align-items:center; gap:7px; }
.nkl-event-details .nkl-icon { width:16px; height:16px; color:var(--nkl-primary); flex-shrink:0; }
.nkl-event-content .nkl-btn { align-self:flex-start; min-height:44px; padding:11px 18px; background:var(--nkl-primary); color:white; border:1px solid var(--nkl-primary); border-radius:10px; gap:18px; }
.nkl-event-content .nkl-btn:hover { background:var(--nkl-primary-dark); color:white; }
.nkl-event-slider-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:18px; }
.nkl-event-tags { display:flex; flex-wrap:wrap; gap:8px; }
.nkl-event-tags span { font-size:11px; padding:7px 12px; color:var(--nkl-muted); background:rgba(255,255,255,.65); border:1px solid #dcebe2; border-radius:999px; }
.nkl-event-controls { display:flex; align-items:center; gap:10px; }
.nkl-event-controls[hidden] { display:none; }
.nkl-event-position { min-width:40px; margin-right:6px; font-size:12px; font-variant-numeric:tabular-nums; color:var(--nkl-primary-dark); }
.nkl-event-controls button { display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--nkl-border); border-radius:50%; background:var(--nkl-white); color:var(--nkl-primary-dark); font-size:20px; cursor:pointer; transition:background 180ms ease,color 180ms ease; }
.nkl-event-controls button:hover { background:var(--nkl-primary-dark); color:white; border-color:var(--nkl-primary-dark); }
.nkl-event-controls button:focus-visible,.nkl-event-track:focus-visible { outline:2px solid var(--nkl-primary); outline-offset:3px; }
@media(max-width:1199px) { .nkl-event-slide { gap:24px; padding:20px; }.nkl-event-content { padding-right:0; } }
@media(max-width:767px) {
  .nkl-event-showcase { padding-block:36px; }
  .nkl-event-heading { align-items:start; flex-direction:column; gap:16px; }
  .nkl-event-track { border-radius:18px; }
  .nkl-event-slide { grid-template-columns:1fr; gap:20px; padding:16px; }
  .nkl-event-content { padding:0 4px 8px; }
  .nkl-home .nkl-event-content h3 { font-size:23px; }
  .nkl-event-slider-footer { flex-wrap:wrap; gap:16px; }
}
@media(prefers-reduced-motion:reduce) { .nkl-event-controls button { transition:none; } }

/* ===== SECTION: mega-menu ===== */
/* Child product navigation. Shared motion and Advanced color/font tokens. */
.nkl-header .nkl-product-menu { position:static; }
.nkl-product-trigger { display:flex; align-items:center; gap:5px; min-height:44px; padding:14px 0; border:0; border-radius:0; background:transparent; color:inherit; font:inherit; font-size:clamp(12px,calc(var(--nkl-navigation-size,16px) * .875),14px); font-weight:var(--nkl-navigation-weight,700); cursor:pointer; white-space:nowrap; transition:color var(--motion-fast) var(--motion-ease); }
.nkl-product-trigger > .nkl-icon { width:11px; height:11px; transition:transform var(--motion-fast) var(--motion-ease); }
.nkl-product-menu.is-product-open > .nkl-product-trigger { color:var(--nkl-primary); box-shadow:inset 0 -2px var(--nkl-primary); }
.nkl-product-menu.is-product-open > .nkl-product-trigger > .nkl-icon { transform:rotate(180deg); }
.nkl-product-mega { color:var(--nkl-text); background:radial-gradient(ellipse at top right, rgb(0 173 80 / 6%), transparent 60%),linear-gradient(120deg,#f3faf6 0%,#fff 38%,#fff 100%); border:1px solid var(--nkl-border); border-radius:16px; box-shadow:0 18px 50px rgb(20 65 50 / 12%); }
.nkl-mega-layout { --mega-sidebar:220px; display:grid; grid-template-columns:minmax(0,1fr); padding:20px; gap:20px; border-radius:inherit; }
.nkl-mega-main { display:grid; grid-template-columns:var(--mega-sidebar) minmax(0,1fr); grid-template-rows:80px 80px minmax(0,1fr); column-gap:20px; min-width:0; }
.nkl-mega-group { display:contents; }
.nkl-mega-group > summary { grid-column:1; grid-row:1; }
.nkl-mega-group + .nkl-mega-group > summary { grid-row:2; }
.nkl-mega-group-toggle,.nkl-header .nkl-mega-all { display:grid; grid-template-columns:30px minmax(0,1fr) 14px; align-items:center; gap:10px; min-height:72px; padding:12px 14px; font-size:14px; font-weight:650; line-height:1.4; border-left:3px solid transparent; border-radius:8px; white-space:normal; cursor:pointer; align-self:start; list-style:none; }
.nkl-mega-index { display:block; font-size:10px; letter-spacing:.08em; font-weight:500; color:var(--nkl-muted,#52625d); margin-bottom:3px; }
.nkl-mega-group-toggle::-webkit-details-marker,.nkl-mega-category-toggle::-webkit-details-marker { display:none; }
.nkl-mega-group-toggle { transition:background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease); }
.nkl-mega-group-toggle > .nkl-icon,.nkl-header .nkl-mega-all > .nkl-icon { width:28px; height:28px; flex-shrink:0; color:var(--nkl-primary); }
.nkl-mega-group-toggle > .nkl-icon:last-child,.nkl-header .nkl-mega-all > .nkl-icon:last-child { width:14px; height:14px; margin-left:auto; transform:rotate(-90deg); }
.nkl-mega-group[open] > summary { background:var(--nkl-bg-mint,#edf8f3); color:var(--nkl-primary-dark); border-left-color:var(--nkl-primary); }
.nkl-mega-group-toggle:hover { background:var(--nkl-bg-soft,#edf8f3); color:var(--nkl-primary-dark); }
.nkl-mega-group-body { grid-column:2; grid-row:1 / span 3; min-width:0; padding:4px 0 0; animation:nkl-motion-fade var(--motion-fast) var(--motion-ease); }
.nkl-mega-heading h2 { margin:0 0 6px; font-family:var(--nkl-heading-font,inherit); font-size:clamp(24px,1.7vw,28px); font-weight:700; color:var(--nkl-heading,var(--nkl-primary-dark)); line-height:1.3; }
.nkl-mega-heading p { margin:0 0 5px; font-size:13px; line-height:1.45; color:var(--nkl-muted,var(--nkl-text)); }
.nkl-mega-scope { display:block; font-size:12px; line-height:1.5; color:var(--nkl-muted,#52625d); margin-bottom:20px; }
.nkl-mega-columns { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.nkl-mega-column { min-width:0; padding-right:16px; }
.nkl-mega-column + .nkl-mega-column { padding-left:16px; border-left:1px solid var(--nkl-border); }
.nkl-mega-column:last-child { padding-right:0; }
.nkl-mega-category { margin-bottom:24px; }
.nkl-mega-category-toggle { display:flex; align-items:center; gap:10px; list-style:none; }
.nkl-mega-category-icon { display:flex; align-items:center; justify-content:center; flex:0 0 36px; height:36px; border-radius:50%; background:var(--nkl-bg-mint,#edf8f3); color:var(--nkl-primary); transition:background-color var(--motion-fast) var(--motion-ease); }
.nkl-mega-category-toggle:hover .nkl-mega-category-icon { background:color-mix(in srgb,var(--nkl-primary) 16%,var(--nkl-white,#fff)); }
.nkl-mega-category-icon .nkl-icon { width:22px; height:22px; }
.nkl-product-mega img.nkl-mega-custom-icon { object-fit:contain; border-radius:0; }
.nkl-mega-children ul { padding-left:16px; margin:6px 0; list-style:none; }
.nkl-header .nkl-product-mega a { white-space:normal; border:0; }
.nkl-header .nkl-product-mega .nkl-mega-category-link { flex:1; min-width:0; gap:10px; padding:0; font-size:15px; line-height:1.25; color:var(--nkl-primary-dark); font-weight:700; }
.nkl-mega-category-title {
    min-width: 0;
    font-size: 14px;
}
.nkl-mega-category-link::after { content:''; width:5px; height:5px; flex-shrink:0; margin-left:auto; border-right:1px solid; border-bottom:1px solid; transform:rotate(-45deg); }
.nkl-header .nkl-product-mega .nkl-mega-category-link:hover { color:var(--nkl-primary); }
.nkl-mega-category-button { display:none; }
.nkl-mega-children { list-style:none; padding:0; margin:11px 0 0; }
.nkl-mega-children li + li { margin-top:6px; }
.nkl-header .nkl-product-mega .nkl-mega-children a { display:block; width:calc(100% - 2px); min-width:0; overflow-wrap:anywhere; padding:0; color:color-mix(in srgb,var(--nkl-text,#203749) 78%,var(--nkl-white,#fff)); font-size:13px; font-weight:400; line-height:1.45; transition:color var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease); }
.nkl-header .nkl-product-mega .nkl-mega-children a:hover { color:var(--nkl-primary); transform:translateX(2px); }
.nkl-mega-bottom { border-top:1px solid var(--nkl-border); padding-top:16px; margin-top:12px; }
.nkl-header .nkl-mega-bottom a { display:inline-flex; width:fit-content; max-width:100%; font-size:14px; padding:0; color:var(--nkl-primary); }
.nkl-header .nkl-mega-all { grid-column:1; grid-row:3; min-height:56px; border-top:1px solid var(--nkl-border); border-radius:0; margin-top:8px; font-weight:500; color:var(--nkl-muted,#52625d); }
.nkl-product-menu :is(a,button,summary):focus-visible { outline:2px solid var(--nkl-primary); outline-offset:3px; border-radius:4px; }
@media(min-width:1200px) {
  .nkl-mega-main { column-gap:24px; }
  .nkl-mega-column { padding-right:24px; }
  .nkl-mega-column + .nkl-mega-column { padding-left:24px; }
  .nkl-mega-column:last-child { padding-right:0; }
  .nkl-mega-columns--equipment > .nkl-mega-column { padding-inline:18px; }
  .nkl-mega-columns--equipment .nkl-mega-category-toggle { min-height:56px; align-items:flex-start; }
  .nkl-mega-columns--equipment .nkl-mega-category-link { min-height:56px; }
  .nkl-product-trigger { position:relative; }
  .nkl-product-trigger::after { content:''; position:absolute; top:100%; left:0; width:100%; height:24px; }
  .nkl-mega-group::details-content { display:contents; }
  .nkl-mega-group:not([open]) > .nkl-mega-group-body { display:none; }
  .nkl-product-mega { position:absolute; top:100%; left:50%; width:calc(100vw - 32px); max-width:1600px; max-height:min(78vh,720px); overflow-x:hidden; overflow-y:auto; transform:translate(-50%,6px); visibility:hidden; opacity:0; pointer-events:none; transition:opacity calc(var(--motion-fast) + 20ms) var(--motion-ease),transform calc(var(--motion-fast) + 20ms) var(--motion-ease),visibility var(--motion-fast); }
  .nkl-product-menu.is-product-open .nkl-product-mega { transform:translate(-50%,0); visibility:visible; opacity:1; pointer-events:auto; }
  .nkl-product-menu:not(.is-mega-enhanced):is(:hover,:focus-within) .nkl-product-mega { transform:translate(-50%,0); visibility:visible; opacity:1; pointer-events:auto; }
  .nkl-mega-main { min-height:0; }
  .nkl-mega-group-body { min-height:0; overflow:visible; }
  .nkl-mega-category > .nkl-mega-children {
    display:block;
    margin-top:10px;
  }
  .nkl-mega-category-toggle { cursor:default; }
}
@media(min-width:1200px) and (max-width:1449px) {
  .nkl-mega-columns--equipment > .nkl-mega-column { padding-inline:10px; }
  .nkl-mega-layout { --mega-sidebar:200px; padding:16px; gap:16px; }
  .nkl-mega-main { column-gap:16px; }
  .nkl-mega-column { padding-right:18px; }
  .nkl-mega-column + .nkl-mega-column { padding-left:18px; }
  .nkl-mega-group-toggle { padding:12px 10px; gap:8px; }
}
@media(min-width:1200px) and (max-width:1366px) {
  .nkl-product-mega { width:calc(100vw - 24px); }
}
@media(max-width:1199px) {
  .nkl-product-trigger { width:100%; min-height:48px; justify-content:space-between; font-size:14px; border-bottom:1px solid var(--nkl-border); }
  .nkl-product-mega { background:var(--nkl-white,#fff); border:0; border-radius:0; box-shadow:none; }
  .is-mega-enhanced:not(.is-product-open) > .nkl-product-mega { display:none; }
  .nkl-mega-layout,.nkl-mega-main,.nkl-mega-group { display:block; padding:0; }
  .nkl-mega-group-toggle { display:flex; min-height:48px; padding:10px 8px; font-size:14px; border-left:0; border-bottom:1px solid var(--nkl-border); border-radius:0; }
  .nkl-mega-index { display:none; }
  .nkl-mega-group-toggle > .nkl-icon:last-child { transform:none; transition:transform var(--motion-fast) var(--motion-ease); }
  .nkl-mega-group[open] > summary > .nkl-icon:last-child { transform:rotate(180deg); }
  .nkl-mega-group-body { padding:8px 0 12px 12px; }
  .nkl-mega-heading { display:none; }
  .nkl-mega-columns { display:block; }
  .nkl-mega-column,.nkl-mega-column + .nkl-mega-column { border:0; padding:0; }
  .nkl-mega-category { margin:0; }
  .nkl-mega-category-toggle { min-height:48px; border-bottom:1px solid var(--nkl-border); }
  .nkl-header .nkl-product-mega .nkl-mega-category-link { flex:1; font-size:14px; min-height:44px; padding:8px 0; }
  .nkl-mega-category-link::after { display:none; }
  .nkl-mega-category-button { display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex-shrink:0; background:transparent; border:0; color:var(--nkl-primary); cursor:pointer; }
  .nkl-mega-category-button .nkl-icon { width:14px; height:14px; transition:transform var(--motion-fast) var(--motion-ease); }
  .nkl-mega-category[open] .nkl-mega-category-button .nkl-icon { transform:rotate(180deg); }
  .nkl-mega-children { margin:0; padding-left:14px; }
  .nkl-mega-children li + li { margin-top:0; }
  .nkl-header .nkl-product-mega .nkl-mega-children a { min-height:44px; padding:10px 0; }
  .nkl-header .nkl-mega-all { display:flex; min-height:48px; font-size:14px; margin:0; padding:10px 8px; }
  .nkl-mega-bottom a { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) {
  .nkl-product-mega,.nkl-product-trigger,.nkl-product-trigger > .nkl-icon,.nkl-mega-group-toggle,.nkl-mega-group-toggle > .nkl-icon,.nkl-mega-category-icon,.nkl-mega-category-button .nkl-icon,.nkl-header .nkl-product-mega .nkl-mega-children a { transition:none; }
  .nkl-mega-group-body { animation:none; }
  .nkl-header .nkl-product-mega .nkl-mega-children a:hover { transform:none; }
}

/* ===== SECTION: page-about ===== */
/* Scoped about page; shared header, footer, buttons and lifecycle stay intact. */
.nkl-about { --about-ink:var(--nkl-heading,#0c3157); --about-muted:var(--nkl-muted,#42526a); --about-line:var(--nkl-border,#e7efea); font-family:var(--nkl-body-font,Arial,sans-serif); color:var(--nkl-text,#42526a); background:#fff; }
.nkl-about * { box-sizing:border-box; }
.nkl-about :is(h1,h2,h3,p,figure,ol) { margin:0; }
.nkl-about :is(h1,h2,h3) { font-family:var(--nkl-heading-font,inherit); color:var(--about-ink); font-weight:var(--nkl-heading-weight,700); }
.nkl-about h2 { font-size:clamp(24px,2.2vw,30px); line-height:1.3; margin-bottom:14px; }
.nkl-about h3 { font-size:16px; line-height:1.4; }
.nkl-about p,.nkl-about li { font-size:14px; line-height:1.75;}
.nkl-about-purpose-card li { list-style: square;}
.nkl-about p + p { margin-top:16px; }
.nkl-about a { text-decoration:none; }
.nkl-about a:focus-visible { outline:2px solid var(--nkl-primary); outline-offset:4px; }
.nkl-about-shell { width:calc(100% - 64px); max-width:1280px; margin-inline:auto; }
.nkl-about-section { padding-block:72px; }
.nkl-about-tinted { background:#f5faf7; }
.nkl-about-heading { margin-bottom:30px; }
.nkl-about-heading p { color:var(--about-muted); }
.nkl-about-eyebrow { display:block; font-size:12px; font-weight:600; letter-spacing:1.5px; color:var(--nkl-primary-dark); margin-bottom:12px; }
.nkl-about-hero { position:relative; min-height:460px; display:flex; align-items:center; overflow:hidden; background:#edf7f3; }
.nkl-about-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.nkl-about-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.86) 35%,rgba(255,255,255,0) 75%); }
.nkl-about-hero-copy { position:relative; z-index:1; padding-block:36px; }
.nkl-about-breadcrumb { display:flex; gap:10px; font-size:12px; color:var(--about-muted); margin-bottom:32px; }
.nkl-about-breadcrumb a { color:inherit; }
.nkl-about h1 { font-size:clamp(40px,4vw,52px); line-height:1.15; margin-bottom:20px; }
.nkl-about-hero-copy > p { max-width:500px; font-size:22px; line-height:1.55; color:var(--about-ink); }
.nkl-about-story { display:grid; grid-template-columns:1.2fr 1.9fr .85fr; gap:32px; align-items:center; }
.nkl-about-office { overflow:hidden; border-radius:16px; }
.nkl-about-office img { display:block; width:100%; height:360px; object-fit:cover; }
.nkl-about-quote { background:#eef7f2; border-radius:14px; padding:28px 22px; border-top:3px solid var(--nkl-primary); }
.nkl-about-quote > span { display:block; font-size:60px; line-height:1; color:var(--nkl-primary); }
.nkl-about-quote p { font-size:14px; color:var(--about-ink); }
.nkl-about-quote blockquote { margin:0; padding:0; border:0; font-style:normal; }
.nkl-about-quote .nkl-about-quote-author { margin-top:20px; color:var(--nkl-primary-dark); font-size:12px; font-weight:700; }
.nkl-about-timeline-slider { --timeline-columns:4; overflow-x:auto; padding-top:8px; scrollbar-width:none; touch-action:pan-x pan-y; }
.nkl-about-timeline-slider::-webkit-scrollbar { display:none; }
.nkl-about-timeline-slider:focus-visible { outline:2px solid var(--nkl-primary); outline-offset:4px; }
.nkl-about-timeline { display:flex; list-style:none; padding:0; }
.nkl-about-timeline > li { position:relative; flex:0 0 calc(100% / var(--timeline-columns)); padding:20px 12px 0; border-top:2px solid var(--nkl-primary); min-width:0; }
.nkl-about-timeline > li::before { content:""; position:absolute; top:-7px; left:16px; width:12px; height:12px; background:var(--nkl-primary); border:3px solid #f5faf7; border-radius:50%; }
.nkl-about-year { display:block; color:var(--nkl-primary-dark); font-size:17px; font-weight:700; margin-bottom:12px; }
.nkl-about-timeline-card h3 { margin:12px 0 6px; }
.nkl-about-timeline-card p { color:var(--about-muted); font-size:12px; }
.nkl-about-placeholder { aspect-ratio:16/9; display:grid; place-items:center; border:1px dashed #cddfd4; border-radius:10px; background:linear-gradient(135deg,#edf5f0,#e1eee6); color:#7fa48f; }
.nkl-about-placeholder .nkl-icon { width:30px; height:30px; }
.nkl-about-numbers { padding-block:30px; }
.nkl-about-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.nkl-about-stat { display:flex; align-items:center; gap:18px; padding:24px; border:1px solid var(--about-line); border-radius:12px; background:#fff; transition:transform 200ms ease; }
.nkl-about-stat > .nkl-icon { width:34px; height:34px; color:var(--nkl-primary); flex-shrink:0; }
.nkl-about-stat strong { display:block; font-size:32px; font-variant-numeric:tabular-nums; color:var(--nkl-primary-dark); line-height:1.2; }
.nkl-about-stat p { font-size:12px; margin-top:6px; }
.nkl-about-purpose { padding-top:24px; }
.nkl-about-two { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.nkl-about-purpose-card { display:flex; gap:20px; padding:30px; background:#f3faf6; border:1px solid var(--about-line); border-radius:16px; }
.nkl-about-purpose-card h2 { font-size:24px; }
.nkl-about-purpose-card ul { padding-left:18px; margin:14px 0 0; }
.nkl-about-purpose-card li + li { margin-top:10px; }
.nkl-about-icon { display:grid; place-items:center; flex-shrink:0; width:52px; height:52px; border-radius:50%; color:var(--nkl-primary); background:#e8f7ee; }
.nkl-about-icon .nkl-icon { width:28px; height:28px; }
.nkl-about-values-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:center; }
.nkl-about-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.nkl-about-values article { text-align:center; }
.nkl-about-values .nkl-about-icon { margin:0 auto 16px; }
.nkl-about-values h3 { margin-bottom:8px; font-size:15px; }
.nkl-about-values p { font-size:12px; color:var(--about-muted); }
.nkl-about-team { overflow:hidden; border-radius:16px; }
.nkl-about-team img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.nkl-about-why-layout { display:grid; grid-template-columns:1.7fr 1fr; gap:28px; align-items:center; }
.nkl-about-reasons { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.nkl-about-reasons article { display:flex; gap:16px; padding:22px; border:1px solid var(--about-line); border-radius:14px; transition:transform 200ms ease; }
.nkl-about-reasons article:last-child { grid-column:1/-1; }
.nkl-about-reasons h3 { margin-bottom:8px; }
.nkl-about-reasons p { color:var(--about-muted); font-size:13px; }
.nkl-about-equipment { background:#f5faf7; border-radius:16px; padding:20px; }
.nkl-about-equipment img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; }
@media(hover:hover) { .nkl-about-stat:hover,.nkl-about-reasons article:hover { transform:translateY(-3px); } }
@media(max-width:1199px) {
 .nkl-about-section { padding-block:56px; }.nkl-about-story { grid-template-columns:1fr 2fr; }.nkl-about-quote { grid-column:1/-1; }.nkl-about-timeline-slider { --timeline-columns:3; }.nkl-about-values-layout { grid-template-columns:1fr 1fr; gap:24px; }.nkl-about-values { grid-template-columns:1fr 1fr; }.nkl-about-stat { padding:18px; gap:12px; }.nkl-about-purpose-card { padding:24px; flex-direction:column; }
}
@media(max-width:767px) {
 .nkl-about-shell { width:calc(100% - 36px); }.nkl-about-section { padding-block:40px; }.nkl-about-hero { min-height:340px; }.nkl-about h1 { font-size:32px; }.nkl-about-hero-copy > p { font-size:18px; max-width:85%; }.nkl-about-hero::after { background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.8)); }.nkl-about-story,.nkl-about-two,.nkl-about-values-layout,.nkl-about-why-layout { grid-template-columns:1fr; }.nkl-about-office img { height:320px; object-position:center 35%; }.nkl-about-quote { grid-column:auto; }.nkl-about-timeline-slider { --timeline-columns:1; }.nkl-about-stats { grid-template-columns:1fr 1fr; gap:12px; }.nkl-about-stat { padding:16px 12px; gap:10px; }.nkl-about-stat > .nkl-icon { width:24px; height:24px; }.nkl-about-stat strong { font-size:26px; }.nkl-about-stat p { font-size:11px; }.nkl-about-reasons { grid-template-columns:1fr; }.nkl-about-reasons article:last-child { grid-column:auto; }.nkl-about-equipment img { aspect-ratio:4/3; }}
@media(prefers-reduced-motion:reduce) { .nkl-about-stat,.nkl-about-team img,.nkl-about-reasons article { transition:none; } }

@media(min-width:768px) and (max-width:1023px) { .nkl-about-timeline-slider { --timeline-columns:2; } }

/* A4 scans stay fully visible, with no captions or crop. */
.nkl-about-certificate-slider { width:100%; min-width:0; }
.nkl-about-certificates { --certificate-columns:4; display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.nkl-about-certificates::-webkit-scrollbar { display:none; }
.nkl-about-certificate { flex:0 0 calc((100% - (var(--certificate-columns) - 1) * 24px) / var(--certificate-columns)); min-width:0; aspect-ratio:210/297; scroll-snap-align:start; border:1px solid var(--about-line); border-radius:14px; background:#fff; overflow:hidden; }
.nkl-about-certificate > img { display:block; width:100%; height:100%; object-fit:contain; }
.nkl-about-certificate-placeholder { width:100%; height:100%; display:grid; place-items:center; color:#7fa48f; background:linear-gradient(135deg,#fff,#f0f7f3); }
.nkl-about-certificate-placeholder .nkl-icon { width:48px; height:48px; }
.nkl-about-certificate-controls { display:flex; justify-content:center; gap:12px; margin-top:24px; }
.nkl-about-certificate-controls[hidden] { display:none; }
.nkl-about-certificate-controls button { width:44px; height:44px; display:grid; place-items:center; padding:0; border:1px solid var(--about-line); border-radius:50%; color:var(--nkl-primary-dark); background:#fff; font-size:22px; cursor:pointer; transition:background 200ms ease,color 200ms ease; }
.nkl-about-certificate-controls button:hover:enabled { background:var(--nkl-primary-dark); color:#fff; }
.nkl-about-certificate-controls button:disabled { opacity:.35; cursor:default; }
.nkl-about-certificates:focus-visible,.nkl-about-certificate-controls button:focus-visible { outline:2px solid var(--nkl-primary); outline-offset:3px; }
@media(max-width:1024px) { .nkl-about-certificates { --certificate-columns:2; } }
@media(max-width:767px) { .nkl-about-certificates { --certificate-columns:1; gap:16px; }.nkl-about-certificate { flex-basis:100%; } }
@media(prefers-reduced-motion:reduce) { .nkl-about-certificate-controls button { transition:none; } }

/* ===== SECTION: footer-consultation-cta ===== */
.nkluck-footer-cta { position:relative; isolation:isolate; overflow:hidden; margin:0; color:#fff; background:linear-gradient(110deg,#005b2d 0%,#007c3d 48%,#00a651 100%); }
.nkluck-footer-cta,.nkluck-footer-cta * { box-sizing:border-box; }
.nkluck-footer-cta::before,.nkluck-footer-cta::after { content:""; position:absolute; z-index:-1; pointer-events:none; border-radius:50%; }
.nkluck-footer-cta::before { width:620px; height:420px; right:8%; top:-290px; background:rgba(255,255,255,.07); transform:rotate(-20deg); }
.nkluck-footer-cta::after { width:440px; height:360px; right:-180px; bottom:-230px; border:50px solid rgba(255,255,255,.06); }
.nkluck-footer-cta__inner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:36px; min-height:140px; padding-block:30px; }
.nkluck-footer-cta .nkluck-footer-cta__title { margin:0; color:#fff; font-family:var(--nkl-heading-font,inherit); font-size:clamp(26px,2.1vw,28px); font-weight:700; line-height:1.25; }
.nkluck-footer-cta .nkluck-footer-cta__description { margin:8px 0 0; color:rgba(255,255,255,.84); font-size:16px; line-height:1.5; }
.nkluck-footer-cta__actions { display:flex; justify-content:flex-end; align-items:center; gap:18px; }
.nkluck-footer-cta .nkluck-footer-cta__button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:52px; padding:14px 26px; border:1px solid rgba(255,255,255,.6); border-radius:8px; background:#fff; color:var(--nkl-primary-darker,#005f3f); font-size:14px; font-weight:700; line-height:1.2; white-space:nowrap; text-decoration:none; box-shadow:0 2px 8px rgba(0,35,24,.06); transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease-standard),background-color var(--motion-fast) var(--motion-ease-standard); }

.nkluck-footer-cta .nkluck-footer-cta__button--phone { gap:10px; font-size:16px; }
.nkluck-footer-cta__button--phone .nkl-icon { width:20px; height:20px; flex-shrink:0; color:var(--nkl-primary-dark,#007a4d); }
.nkluck-footer-cta__button:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media(hover:hover) {
  .nkluck-footer-cta .nkluck-footer-cta__button:hover { background:#f5fff9; }

}
@media(max-width:1024px) {
  .nkluck-footer-cta__inner { gap:24px; padding-block:24px; min-height:132px; }
  .nkluck-footer-cta .nkluck-footer-cta__title { font-size:25px; }
  .nkluck-footer-cta .nkluck-footer-cta__description { font-size:15px; }
  .nkluck-footer-cta__actions { gap:16px; }
  .nkluck-footer-cta .nkluck-footer-cta__button { padding-inline:22px; }
}
@media(max-width:900px) {
  .nkluck-footer-cta__inner { grid-template-columns:1fr; gap:20px; }
  .nkluck-footer-cta__actions { justify-content:flex-start; }
}
@media(max-width:767px) {
  .nkluck-footer-cta__inner { padding-block:28px; gap:22px; }
  .nkluck-footer-cta .nkluck-footer-cta__title { font-size:23px; }
  .nkluck-footer-cta .nkluck-footer-cta__description { font-size:15px; }
  .nkluck-footer-cta__actions { flex-direction:column; align-items:stretch; gap:12px; }
  .nkluck-footer-cta .nkluck-footer-cta__button { width:100%; min-height:48px; padding-block:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .nkluck-footer-cta .nkluck-footer-cta__button,.nkluck-footer-cta .nkluck-footer-cta__button > span[aria-hidden] { transition:none; }
  .nkluck-footer-cta .nkluck-footer-cta__button:hover,.nkluck-footer-cta .nkluck-footer-cta__button:hover > span[aria-hidden] { transform:none; }
}

/* ===== SECTION: shared-image-zoom ===== */
/* Put nkl-img-zoom on section image frames; never on banners. Remove to disable. */
.nkluck-site .nkl-img-zoom { overflow:hidden; }
.nkluck-site .nkl-img-zoom > img,
.nkluck-site .nkl-img-zoom > picture > img {
  transform:none;
  transform-origin:center;
  transition:transform 450ms cubic-bezier(.2,.65,.3,1);
}
/* Neutralize the inherited archive hover when its frame opts out. */
.nkluck-site .nkluck-post-card:hover .nkluck-post-card__media:not(.nkl-img-zoom) img { transform:none; }
.nkl-about-timeline-media { overflow:hidden; border-radius:10px; }
.nkl-about-timeline-media > img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .nkluck-site .nkl-img-zoom:is(:hover,:focus-within) > img,
  .nkluck-site .nkl-img-zoom:is(:hover,:focus-within) > picture > img { transform:scale(var(--nkl-img-zoom-scale,1.04)); }
}
@media(prefers-reduced-motion:reduce) {
  .nkluck-site .nkl-img-zoom > img,.nkluck-site .nkl-img-zoom > picture > img { transform:none; transition:none; }
  .nkluck-site .nkluck-post-card:hover .nkluck-post-card__media img { transform:none; }
  #giai-phap .nkl-solution:hover .nkl-solution-copy,#giai-phap .nkl-solution:hover .nkl-circle-arrow .nkl-icon { transform:none; }
}

/* ===== SECTION: soft-navigation ===== */
:root {
  --nkl-page-out-duration: 160ms;
  --nkl-page-in-duration: 300ms;
  --nkl-page-ease: cubic-bezier(.22,.61,.36,1);
}
[data-nkl-page-content] { min-width: 0; }
[data-nkl-page-content].nkl-page-leaving {
  opacity: 0; transform: translateY(6px);
  transition: opacity var(--nkl-page-out-duration) ease, transform var(--nkl-page-out-duration) ease;
}
[data-nkl-page-content].nkl-page-entering {
  animation: nkl-page-enter var(--nkl-page-in-duration) var(--nkl-page-ease) both;
}
@keyframes nkl-page-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.nkl-navigation-progress {
  position: fixed; inset: 0 0 auto; height: 3px; z-index: 100001;
  pointer-events: none; opacity: 0;
  background: linear-gradient(90deg, #00aa55, #74e5aa);
  transform: scaleX(0); transform-origin: left;
  transition: transform 250ms ease, opacity 180ms ease;
}
.nkl-navigation-progress.is-loading { opacity: 1; transform: scaleX(.7); transition: transform 8s ease-out, opacity 100ms; }
.nkl-navigation-progress.is-complete { opacity: 1; transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) {
  [data-nkl-page-content].nkl-page-leaving { opacity: 1; transform: none; transition: none; }
  [data-nkl-page-content].nkl-page-entering { animation: none; }
  .nkl-navigation-progress { transition: none; }
}

/* Branch hotlines use the same settings on the contact page and footer. */
.nkl-office-phones{display:grid;gap:5px;margin:8px 0}.nkl-office-phones a{display:block;color:#008544;font-weight:600;overflow-wrap:anywhere}

/* Compact footer: company/navigation above, branch contacts across the full width. */
.nkl-footer#lien-he{padding-top:40px}
.nkl-footer .nkl-footer-grid{grid-template-columns:1.7fr repeat(3,minmax(0,1fr));gap:28px 40px;padding-bottom:28px;align-items:start}
.nkl-footer .nkl-footer-company{grid-column:auto;min-width:0}
.nkl-footer .nkl-footer-column{min-width:0}
.nkl-footer .nkl-footer-column li{margin-bottom:8px}
.nkl-footer .nkl-footer-contact{grid-column:1/-1;display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px 24px;padding-top:24px;border-top:1px solid #dcebe4;min-width:0}
.nkl-footer .nkl-footer-contact>h2{grid-column:1;grid-row:1;margin:0}
.nkl-footer .nkl-contact-details{grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;align-items:start;gap:6px 24px;margin:0;font-size:13px}
.nkl-footer .nkl-contact-details>p{margin:0;flex-basis:100%}
.nkl-footer .nkl-footer-offices{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.nkl-footer .nkl-office{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);min-width:0;margin:0;padding:24px;background:linear-gradient(145deg,#fff,#f7fcf9);border:1px solid #dcebe2;border-radius:18px;gap:16px;font-size:13px;line-height:1.7;box-shadow:0 5px 20px rgba(0,75,40,.035);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.nkl-footer .nkl-office>div{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.nkl-footer .nkl-office h3{margin:0 0 10px;color:#244832;font-size:15px;font-weight:700;line-height:1.4}
.nkl-footer .nkl-office p{margin:0 0 14px;color:#64776b;font-size:13px;line-height:1.75}
.nkl-footer .nkl-office>.nkl-icon{box-sizing:border-box;width:42px;height:42px;padding:10px;flex-shrink:0;border-radius:12px;background:#e5f5eb;color:#008544;transition:background-color .25s ease,color .25s ease}
.nkl-footer .nkl-office-phones{gap:5px;margin:0 0 16px}
.nkl-footer .nkl-office .nkl-office-directions{display:inline-flex;align-items:center;gap:12px;margin-top:auto;padding:7px 12px;border:1px solid #d8eade;border-radius:8px;background:#fff;color:#008544;font-size:12px;font-weight:600;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.nkl-footer .nkl-office .nkl-office-directions::after{display:none}
.nkl-office-directions span{transition:transform .2s ease}
@media(hover:hover) and (pointer:fine){
 .nkl-footer .nkl-office:hover{transform:translateY(-4px);border-color:#add4bd;box-shadow:0 12px 28px rgba(0,75,40,.08)}
 .nkl-footer .nkl-office:hover>.nkl-icon{background:#008544;color:#fff}
 .nkl-footer .nkl-office .nkl-office-directions:hover{background:#008544;border-color:#008544;color:#fff}
 .nkl-office-directions:hover span{transform:translateX(3px)}
}
@media(prefers-reduced-motion:reduce){.nkl-footer .nkl-office,.nkl-footer .nkl-office>.nkl-icon,.nkl-footer .nkl-office .nkl-office-directions,.nkl-office-directions span{transition:none}.nkl-footer .nkl-office:hover,.nkl-office-directions:hover span{transform:none}}
.nkl-footer .nkl-social{margin-top:16px}
@media(max-width:991px){
 .nkl-footer .nkl-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .nkl-footer .nkl-footer-company{grid-column:1/-1}
 .nkl-footer .nkl-footer-offices{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media(max-width:600px){
 .nkl-footer#lien-he{padding-top:28px}
 .nkl-footer .nkl-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
 .nkl-footer .nkl-footer-contact{grid-template-columns:1fr;gap:16px;padding-top:20px}
 .nkl-footer .nkl-footer-contact>h2{grid-column:1;grid-row:auto}
 .nkl-footer .nkl-contact-details{grid-column:1;grid-row:auto;gap:8px}
 .nkl-footer .nkl-contact-details>a{flex-basis:100%}
 .nkl-footer .nkl-footer-offices{grid-template-columns:1fr;gap:12px}
 .nkl-footer .nkl-office{padding:20px;gap:14px}
}
/* General contacts sit with the company identity above the branch cards. */
.nkl-footer .nkl-footer-company .nkl-contact-details{display:grid;gap:7px;margin-top:14px;font-size:13px;line-height:1.6}
.nkl-footer .nkl-footer-company .nkl-contact-details>p{margin:0}
.nkl-footer .nkl-footer-company .nkl-contact-details>a{justify-self:start;overflow-wrap:anywhere}
.nkl-footer .nkl-footer-contact{grid-template-columns:1fr;gap:16px}
.nkl-footer .nkl-footer-contact>h2{grid-column:1;grid-row:auto}
/* Soft mint spotlight behind the featured product carousel. */
#san-pham.nkl-products{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 12% 12%,rgba(0,166,81,.09),transparent 48%),radial-gradient(ellipse at 95% 85%,rgba(0,166,81,.075),transparent 45%),linear-gradient(155deg,#f8fcfa 0%,#edf8f2 52%,#f6fbf8 100%);border-block:1px solid rgba(0,166,81,.055)}
#san-pham.nkl-products::before,#san-pham.nkl-products::after{content:"";position:absolute;z-index:-1;pointer-events:none;border:1px solid rgba(0,166,81,.07);border-radius:50%}
#san-pham.nkl-products::before{width:620px;height:620px;left:-380px;bottom:-390px;box-shadow:0 0 0 48px rgba(0,166,81,.025),0 0 0 96px rgba(0,166,81,.018)}
#san-pham.nkl-products::after{width:480px;height:480px;right:-310px;top:-300px;box-shadow:0 0 0 52px rgba(0,166,81,.02)}
@media(max-width:767px){#san-pham.nkl-products::before{opacity:.5}#san-pham.nkl-products::after{display:none}}
/* Give promotion shadows breathing room inside the horizontal scroll area. */
#uu-dai .nkl-promotion-track{margin-inline:-12px;padding:12px 12px 22px;scroll-padding-inline:12px;box-sizing:border-box}
#uu-dai .nkl-promotion{box-shadow:0 5px 14px -7px rgba(0,80,45,.14)}
@media(hover:hover) and (pointer:fine){#uu-dai .nkl-promotion:hover{box-shadow:0 9px 18px -9px rgba(0,80,45,.2)}}
#uu-dai .nkl-promotion:focus-visible{outline:2px solid #00a651;outline-offset:3px;box-shadow:0 9px 18px -9px rgba(0,80,45,.2)}
/* Category archives already name the category in their page heading. */
body.category .nkluck-blog-archive .nkluck-post-card__category{display:none}

.nkl-news-hero-description{max-width:560px;color:#344054;font-size:18px;line-height:1.65}.nkl-news-hero-description p{margin:0}

/* Homepage adds only carousel sizing to the shared archive blog card. */
#kien-thuc .nkl-journal-track>.nkluck-post-card{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start}
@media(max-width:991px){#kien-thuc .nkl-journal-track>.nkluck-post-card{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:767px){#kien-thuc .nkl-journal-track>.nkluck-post-card{flex-basis:100%}}

/* Blog card typography is identical for homepage h3 and archive h2 headings. */
.nkluck-site :is(h2,h3).nkluck-post-card__title{margin:14px 0 10px;color:var(--nkluck-color-heading,#222);font-family:var(--nkluck-font-heading,inherit);font-size:20px;font-weight:600;line-height:1.3;letter-spacing:normal;text-transform:none}
.nkluck-site :is(h2,h3).nkluck-post-card__title>a{font:inherit;color:inherit}
.nkluck-site :is(h2,h3).nkluck-post-card__title>a:hover{color:var(--nkluck-color-primary,#00a651)}

/* Shared skin for the fixed and footer back-to-top buttons. */
body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top){width:52px;height:52px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:linear-gradient(145deg,#00b65c,#008547);color:#fff;box-shadow:0 6px 18px rgba(0,113,59,.22),inset 0 1px 0 rgba(255,255,255,.22);text-decoration:none;transition:opacity .2s ease,visibility .2s ease,transform .25s ease,box-shadow .25s ease,background-color .25s ease}
body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top)::before{content:"";position:absolute;inset:-6px;border:1px solid rgba(0,166,81,.16);border-radius:50%;pointer-events:none;transition:transform .25s ease,border-color .25s ease}
body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top) svg{width:22px;height:22px;transition:transform .25s ease}
body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top):focus-visible{outline:2px solid #008547;outline-offset:8px}
@media(hover:hover) and (pointer:fine){
 body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top):hover{transform:translateY(-3px);background:linear-gradient(145deg,#00a953,#00783e);color:#fff;box-shadow:0 10px 24px rgba(0,113,59,.3)}
 body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top):hover::before{transform:scale(1.07);border-color:rgba(0,166,81,.28)}
 body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top):hover svg{transform:translateY(-2px)}
}
body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top):active{transform:translateY(0)}
@media(max-width:640px){body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top){width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){
 body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top),body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top)::before,body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top) svg{transition:none}
 body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top):hover,body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top):hover::before,body :is(a.nkluck-back-to-top,.nkl-footer .nkl-back-top):hover svg{transform:none}
}

body a.nkluck-back-to-top.is-direction-hidden,body .nkl-footer .nkl-back-top.is-direction-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px)}

/* Contact buttons share the same icon size and pulse timing. */
body .nkluck-contact--icons .nkluck-contact__link .nkluck-contact__icon svg{width:28px;height:28px}
body .nkluck-contact--icons .nkluck-contact__link .nkluck-contact__icon,
body .nkluck-contact--icons .nkluck-contact__link::before,
body .nkluck-contact--icons .nkluck-contact__link::after{animation-delay:0s}
.nkl-service-icon .nkl-service-custom-icon { display: block; width: 32px; height: 32px; object-fit: contain; }
/* Scrollbars follow the website's green palette. */
html {
    scrollbar-width: thin;
    scrollbar-color: #00a651 #edf6f0;
}
body ::-webkit-scrollbar,
html::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
body ::-webkit-scrollbar-track,
html::-webkit-scrollbar-track {
    background: #edf6f0;
}
body ::-webkit-scrollbar-thumb,
html::-webkit-scrollbar-thumb {
    background: #00a651;
    border: 2px solid #edf6f0;
    border-radius: 999px;
}
body ::-webkit-scrollbar-thumb:hover,
html::-webkit-scrollbar-thumb:hover {
    background: #008544;
}
body ::-webkit-scrollbar-corner,
html::-webkit-scrollbar-corner {
    background: #edf6f0;
}
.nkl-about-custom-icon { display: block; width: 32px; height: 32px; object-fit: contain; flex-shrink: 0; }

/* Center the requested homepage headings and shared footer on mobile. */
@media (max-width: 767px) {
  .nkl-home .nkl-section-heading {
    text-align: center;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .nkl-home .nkl-section-heading > div { width: 100%; }
  .nkl-home .nkl-section-heading .nkl-slider-buttons { justify-content: center; }
  .nkl-home .nkl-section-heading > .nkl-text-link { align-self: center; }
  .nkl-home #du-an .nkl-partners {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
  }
  .nkl-home #du-an .nkl-partners > li {
    box-sizing: border-box;
    flex: 0 0 calc((100% - 24px) / 3);
    min-width: 0;
  }
  .nkluck-footer-cta__content { text-align: center; }
  .nkluck-footer-cta__actions { justify-content: center; }
  .nkl-footer-company .nkl-footer-logo {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-inline: auto;
  }
}
.nkl-mobile-contact-bar { display: none; }
@media (max-width: 767px) {
  .nkl-mobile-contact-bar {
    position: fixed; z-index: 1000; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); align-items: stretch; min-height: 56px; gap: 0;
    padding: 6px 8px; box-sizing: border-box;
    border: 1px solid rgba(0, 100, 55, .1); border-radius: 16px; background: rgba(255,255,255,.97);
    box-shadow: 0 3px 16px rgba(0, 60, 35, .09);
  }
  .nkl-mobile-contact-bar a { position: relative; display: flex; min-width: 0; min-height: 48px; flex-direction: column; justify-content: center; align-items: center; gap: 4px; padding: 4px 2px; border-radius: 10px; color: #52655b; text-decoration: none; font-size: 11px; font-weight: 600; line-height: 1.3; white-space: nowrap; }
  .nkl-mobile-contact-bar .nkl-mobile-contact-phone { color: var(--nkl-primary-dark, #008544); }
  .nkl-mobile-contact-bar .nkl-mobile-contact-phone .nkl-mobile-contact-icon { width: 24px; height: 24px; border-radius: 50%; background: #edf8f1; }
  .nkl-mobile-contact-bar .nkl-mobile-contact-zalo { position: relative; color: #52655b; }
  .nkl-mobile-contact-bar .nkl-mobile-contact-zalo::before,
  .nkl-mobile-contact-bar .nkl-mobile-contact-messenger::before,
  .nkl-mobile-contact-bar .nkl-mobile-contact-top::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); height: 24px; width: 1px; background: #e7eee9; }
  .nkl-mobile-contact-bar .nkl-mobile-contact-zalo svg { width: 26px; height: 26px; color: #fff; }
  .nkl-mobile-contact-bar .nkl-mobile-contact-top { position: relative; flex: 1.3; font-weight: 500; }
  .nkl-mobile-contact-bar .nkl-mobile-contact-messenger { position: relative; }
  .nkl-mobile-contact-messenger .nkl-mobile-contact-icon { color: #0866ff; }
  .nkl-mobile-contact-icon { display: grid; place-items: center; flex-shrink: 0; width: 24px; height: 24px; }
  .nkl-mobile-contact-icon svg { width: 20px; height: 20px; }
  .nkl-mobile-contact-bar a:active { background: #f1f7f3; }
  .nkl-mobile-contact-bar a:focus-visible { outline: 2px solid #005f3f; outline-offset: 2px; }
  body .nkluck-contact, body a.nkluck-back-to-top, body .nkl-footer .nkl-back-top { display: none !important; }
  html { scroll-padding-bottom: calc(106px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 767px) {
  .nkl-mobile-contact-bar { transition: transform .25s ease, visibility .25s; }
  .nkl-mobile-contact-bar.is-hidden { transform: translateY(calc(100% + 20px + env(safe-area-inset-bottom, 0px))); visibility: hidden; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) { .nkl-mobile-contact-bar { transition: none; } }
.nkl-mobile-contact-phone .nkl-mobile-contact-icon svg { animation: nkl-mobile-phone-shake 3s ease-in-out infinite; transform-origin: center; }
@keyframes nkl-mobile-phone-shake {
  0%, 22%, 100% { transform: rotate(0); }
  3%, 9%, 15% { transform: rotate(-12deg); }
  6%, 12%, 18% { transform: rotate(12deg); }
}
@media (prefers-reduced-motion: reduce) { .nkl-mobile-contact-phone .nkl-mobile-contact-icon svg { animation: none; } }

@media (max-width: 1199px) {
  .nkl-mega-group-toggle > .nkl-icon:first-child,
  .nkl-header .nkl-mega-all > .nkl-icon:first-child,
  .nkl-product-mega .nkl-mega-category-icon { display: none; }
}
.nkl-footer .nkl-footer-company > p > strong { font-size: 14px; }

/* Reusable contact link with the same left-to-right underline as footer menus. */
.nkluck-site a.nkl-contact-link {
  position: relative;
  display: inline-block;
  color: var(--nkl-primary-dark, #008544);
  font-weight: inherit;
  text-decoration: none;
  transition: color var(--motion-fast) var(--motion-ease-standard);
}
.nkluck-site a.nkl-contact-link:is(:hover, :focus-visible) {
  color: var(--nkl-primary, #00a651);
  font-weight: inherit;
  text-decoration: none;
  transform: none;
}
.nkl-partner-gallery { min-width: 0; }
.nkl-home #du-an .nkl-partner-gallery--slider .nkl-partners {
  display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: stretch;
  gap: 12px; overflow-x: auto; padding: 2px; scroll-snap-type: x mandatory; scrollbar-width: none;
}
.nkl-home #du-an .nkl-partner-gallery--slider .nkl-partners::-webkit-scrollbar { display: none; }
.nkl-home #du-an .nkl-partner-gallery--slider .nkl-partners > li {
  flex: 0 0 calc((100% - 48px) / 5); scroll-snap-align: start;
}
.nkl-partner-controls { display: flex; justify-content: center; gap: 10px; margin-top: 16px; }
.nkl-partner-controls[hidden] { display: none; }
.nkl-partner-controls button:first-child svg { rotate: 180deg; }
@media (max-width: 767px) {
  .nkl-home #du-an .nkl-partner-gallery--slider .nkl-partners > li { flex-basis: calc((100% - 24px) / 3); }
}

.nkl-about-timeline-logo { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 16 / 9; padding: 28px; background: #edf6f0; }
.nkl-about-timeline-media .nkl-about-timeline-logo img { width: 100%; max-width: 240px; height: auto; object-fit: contain; }

.nkl-certificate-open { display: block; cursor: zoom-in; }
.nkl-certificate-open:focus-visible { outline: 2px solid #00a651; outline-offset: 4px; }
.nkl-certificate-popup button:focus-visible { outline: 2px solid #00a651; outline-offset: 3px; }
/* Certificate gallery: one full-screen viewer with thumbnail navigation. */
html.nkl-certificate-is-open { overflow: hidden; }
.nkl-certificate-popup { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 22px 28px; border: 0; background: #101b17; color: #fff; box-sizing: border-box; overflow: hidden; }
.nkl-certificate-popup[open] { display: grid; grid-template-rows: auto minmax(0,1fr) auto; gap: 20px; }
.nkl-certificate-popup::backdrop { background: #101b17; }
.nkl-certificate-toolbar { display: flex; align-items: center; gap: 20px; }
.nkl-certificate-toolbar > div { flex: 1; }
.nkl-certificate-toolbar > div > span { color: #78d6a0; font-size: 10px; letter-spacing: 2px; }
.nkl-certificate-toolbar h2 { margin: 5px 0 0; color: #fff; font-size: 20px; }
.nkl-certificate-position { color: #b7c8be; font-size: 13px; white-space: nowrap; }
.nkl-certificate-close,.nkl-certificate-prev,.nkl-certificate-next { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff26; border-radius: 50%; background: #ffffff0a; color: #fff; font-size: 28px; cursor: pointer; transition: background .2s ease,border-color .2s ease; }
.nkl-certificate-stage { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; align-items: center; gap: 20px; min-height: 0; }
.nkl-certificate-stage > img { display: block; justify-self: center; width: auto; height: auto; max-width: 100%; max-height: 100%; min-height: 0; object-fit: contain; border-radius: 6px; box-shadow: 0 12px 48px #0005; opacity: .65; transition: opacity .2s ease; }
.nkl-certificate-stage > img.is-loaded { opacity: 1; }
.nkl-certificate-thumbnails { display: flex; gap: 12px; justify-self: center; max-width: 100%; padding: 6px; overflow-x: auto; scrollbar-width: thin; }
.nkl-certificate-thumbnails button { flex: 0 0 52px; height: 68px; padding: 3px; border: 2px solid transparent; border-radius: 8px; background: #ffffff0d; cursor: pointer; opacity: .55; transition: opacity .2s ease,border-color .2s ease; }
.nkl-certificate-thumbnails button[aria-current="true"] { opacity: 1; border-color: #00c76c; }
.nkl-certificate-thumbnails img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 3px; }
.nkl-certificate-popup button[hidden] { visibility: hidden; pointer-events: none; }
.nkl-certificate-popup button:focus-visible { outline: 2px solid #00c76c; outline-offset: 3px; }
@media(hover:hover) { .nkl-certificate-popup button:hover { opacity: 1; border-color: #00c76c; background: #ffffff15; } }
@media(max-width:767px) {
  .nkl-certificate-popup { padding: max(16px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom)); gap: 16px; }
  .nkl-certificate-toolbar { gap: 12px; }
  .nkl-certificate-toolbar h2 { font-size: 16px; }
  .nkl-certificate-stage { grid-template-columns: minmax(0,1fr); position: relative; }
  .nkl-certificate-prev,.nkl-certificate-next { position: absolute; top: 50%; translate: 0 -50%; z-index: 1; background: #101b17b3; width: 36px; height: 36px; }
  .nkl-certificate-prev { left: 0; } .nkl-certificate-next { right: 0; }
}
@media(prefers-reduced-motion:reduce) { .nkl-certificate-popup button,.nkl-certificate-stage > img { transition: none; } }

/* Justified paragraphs in editor content across detail pages. */
.nkluck-site :is(.nkluck-content, .nkl-product-content, .nkluck-post-content, .nkluck-content-vi, .entry-content, .nkl-landing-page__content) p {
  text-align: justify;
  text-align-last: left;
}

/* Preserve paragraph alignment explicitly selected in the editor. */
.nkluck-site :is(.nkluck-content, .nkl-product-content, .nkluck-post-content, .nkluck-content-vi, .entry-content, .nkl-landing-page__content) p.has-text-align-center {
  text-align: center;
  text-align-last: auto;
}
.nkluck-site :is(.nkluck-content, .nkl-product-content, .nkluck-post-content, .nkluck-content-vi, .entry-content, .nkl-landing-page__content) p.has-text-align-right {
  text-align: right;
  text-align-last: auto;
}
.nkluck-site :is(.nkluck-content, .nkl-product-content, .nkluck-post-content, .nkluck-content-vi, .entry-content, .nkl-landing-page__content) p.has-text-align-left {
  text-align: left;
  text-align-last: auto;
}

/* Justified body copy for the requested About-page sections. */
.nkl-about-story > div > p,
.nkl-about-timeline-card > p,
.nkl-about-purpose-card > div :is(p, li) {
  text-align: justify;
  text-align-last: left;
}

/* Sharing controls shared by article and product pages. */
.nkl-article-share { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.nkl-article-share--footer { margin-top:24px; padding-top:20px; border-top:1px solid #e5ebe7; }
.nkl-article-share__label { margin-right:3px; color:#718096; font-size:13px; font-weight:600; }
.nkluck-site .nkl-article-share__button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 32px; width:32px; height:32px; margin:0; padding:0; border:0; border-radius:50%; color:#fff; text-decoration:none; cursor:pointer; transition:transform .15s,filter .15s; }
.nkl-article-share__button.is-facebook { background:#1877f2; }
.nkl-article-share__button.is-linkedin { background:#0a8cc0; }
.nkl-article-share__button.is-zalo { background:#0088ff; font-family:Arial,sans-serif; font-size:10px; font-weight:700; }
.nkluck-site .nkl-article-share__button.is-copy { background:#d9eaff; color:#3f6a9e; }
.nkl-article-share__button svg { width:16px; height:16px; }
.nkl-article-share__button:hover { filter:brightness(.95); transform:translateY(-2px); }
.nkl-article-share__button:focus-visible { outline:2px solid #008544; outline-offset:3px; }
.nkl-article-share__status { color:#008544; font-size:12px; }
@media(prefers-reduced-motion:reduce) { .nkl-article-share__button:hover { transform:none; } }
