/* site palette */
html:root {
    --bg: #FFFFFF;
    --surface: #F4F5F8;
    --surface-alt: #EDF4E4;
    --text: #1E222E;
    --text-muted: #5E6678;
    --border: #D8DBE4;
    --primary: #ACEF62;
    --primary-hover: #98EB3D;
    --on-primary: #111111;
    --primary-text: #314F11;
    --accent: #314F11;
    --on-accent: #FFFFFF;
    --accent-text: #314F11;
    --dark-band: #2B4211;
    --on-dark: #FFFFFF;
    --on-dark-muted: #CCCFD5;
    --brand-btn-bg: #111111;
    --brand-btn-text: #ACEF62;
    --section-alt-bg: radial-gradient(60% 110% at 82% 0%, #DBF4C5 0%, #E0F4CF 22%, #E5F4D9 48%, #EAF4E1 74%, #EDF4E4 100%);
    --dark-band-bg: #2B4211;
    --brand-band-bg: #ACEF62;
    --hero-bg: radial-gradient(70% 100% at 82% 0%, #D5F0BE 0%, #DCF1CA 22%, #E3F3D6 48%, #E9F4E0 74%, #EDF4E4 100%);
    --on-hero: #1E222E;
    --footer-bg: #2B4211;
    --on-footer: #FFFFFF;
    --on-footer-muted: #CCCFD5;
}

/* /site palette */

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: 'Scada', sans-serif;
    background-color: var(--bg);
    color: var(--text);
    line-height: 1.6;
    margin: 0;
    padding: 0;
}

.text-muted {
    color: var(--text-muted) !important;
}

.nkv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: var(--primary);
    color: var(--on-primary);
    border: 1px solid var(--primary);
    border-radius: 6px;
    padding: 12px 24px;
    font-weight: 700;
    font-family: 'Scada', sans-serif;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 100ms ease, border-color 100ms ease, color 100ms ease;
    box-shadow: none !important;
}

.nkv-btn:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

.nkv-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: transparent;
    color: var(--primary-text);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 12px 24px;
    font-weight: 700;
    font-family: 'Scada', sans-serif;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 100ms ease, background-color 100ms ease, color 100ms ease;
    box-shadow: none !important;
}

.nkv-btn-alt:hover {
    border-color: var(--accent);
    background-color: var(--surface);
    color: var(--accent-text);
}

.nkv-card {
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    transition: border-color 100ms ease;
    box-shadow: none !important;
}

.nkv-card:hover {
    border-color: var(--accent);
}

.nkv-media {
    aspect-ratio: 4/3;
    border-radius: 6px;
    border: 1px solid var(--border);
    overflow: hidden;
    margin-bottom: 16px;
    flex-shrink: 0;
}

.nkv-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nkv-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 12px;
    font-weight: 700;
    color: var(--primary-text);
    display: inline-block;
    margin-bottom: 8px;
}

.nkv-title {
    font-family: 'Scada', sans-serif;
    font-size: clamp(26px, 3.5vw, 36px);
    font-weight: 700;
    color: var(--text);
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin: 0 0 12px 0;
    position: relative;
}

.nkv-title::after {
    content: '';
    display: block;
    width: 48px;
    height: 3px;
    background-color: var(--accent);
    margin-top: 12px;
}

.nkv-badge {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 4px;
    background-color: var(--surface-alt);
    color: var(--primary-text);
    border: 1px solid var(--border);
}

.nkv-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background-color: var(--surface-alt);
    border: 1px solid var(--border);
    color: var(--primary-text);
    font-size: 20px;
    flex-shrink: 0;
}

.nkv-section {
    background-color: var(--bg);
    padding: 56px 0;
    border-bottom: 1px solid var(--border);
}

.nkv-section-alt {
    background: var(--section-alt-bg, var(--surface-alt));
    padding: 56px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.nkv-section-dark {
    background-color: var(--dark-band-bg, var(--dark-band));
    color: var(--on-dark);
    padding: 56px 0;
    border-top: 1px solid var(--dark-band);
    border-bottom: 1px solid var(--dark-band);
}

.nkv-section-brand {
    background-color: var(--brand-band-bg, var(--primary));
    color: var(--on-primary);
    padding: 56px 0;
}

.nkv-section-brand .nkv-btn {
    background-color: var(--brand-btn-bg);
    color: var(--brand-btn-text);
    border-color: var(--brand-btn-bg);
}

.nkv-section-brand .nkv-btn:hover {
    background-color: #000000;
    color: var(--primary-hover);
    border-color: #000000;
}

.nkv-section-brand .nkv-btn-alt {
    border-color: var(--on-primary);
    color: var(--on-primary);
}

.nkv-section-brand .nkv-btn-alt:hover {
    background-color: rgba(0, 0, 0, 0.08);
    border-color: var(--on-primary);
}

.nkv-section-dark h1,
.nkv-section-dark h2,
.nkv-section-dark h3,
.nkv-section-dark h4,
.nkv-section-dark .nkv-title,
.nkv-on-dark h1,
.nkv-on-dark h2,
.nkv-on-dark h3,
.nkv-on-dark h4,
.nkv-on-dark .nkv-title {
    color: var(--on-dark);
}

.nkv-section-dark .nkv-title::after,
.nkv-on-dark .nkv-title::after {
    background-color: var(--primary);
}

.nkv-section-dark .nkv-eyebrow,
.nkv-on-dark .nkv-eyebrow {
    color: var(--primary);
}

.nkv-section-dark p,
.nkv-on-dark p {
    color: var(--on-dark-muted);
}

.nkv-section-dark .text-muted,
.nkv-on-dark .text-muted {
    color: var(--on-dark-muted) !important;
}

.nkv-section-dark .nkv-btn-alt,
.nkv-on-dark .nkv-btn-alt {
    border-color: var(--border);
    color: var(--on-dark);
}

.nkv-section-dark .nkv-btn-alt:hover,
.nkv-on-dark .nkv-btn-alt:hover {
    border-color: var(--primary);
    color: var(--primary);
    background-color: rgba(255, 255, 255, 0.05);
}

.nkv-section-dark .nkv-card,
.nkv-on-dark .nkv-card {
    background-color: var(--surface);
    color: var(--text);
    border-color: var(--border);
}

.nkv-section-dark .nkv-card h3,
.nkv-section-dark .nkv-card h4,
.nkv-on-dark .nkv-card h3,
.nkv-on-dark .nkv-card h4 {
    color: var(--text);
}

.nkv-section-dark .nkv-card p,
.nkv-on-dark .nkv-card p {
    color: var(--text-muted);
}

.nkv-section-dark .nkv-card .text-muted,
.nkv-on-dark .nkv-card .text-muted {
    color: var(--text-muted) !important;
}

.nkv-text-link {
    color: var(--primary-text);
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    margin-top: auto;
}

.nkv-text-link:hover {
    color: var(--accent);
    text-decoration: underline;
}

.nkv-decor-ring {
    width: 180px;
    height: 180px;
    border-radius: 9999px;
    border: 1px solid var(--border);
    position: absolute;
    pointer-events: none;
    opacity: 0.6;
}

@media (min-width: 768px) {

    .nkv-section,
    .nkv-section-alt,
    .nkv-section-dark,
    .nkv-section-brand {
        padding: 80px 0;
    }
}

/* ===== header ===== */
.lo-header {
    background-color: var(--bg);
    border-bottom: 1px solid var(--border);
}

.lo-header .lo-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.lo-header .lo-nav-link:hover {
    color: var(--primary-text);
}

.lo-header .nkv-btn {
    background-color: var(--primary);
    color: var(--on-primary);
    border: 1px solid var(--primary);
    transition: background-color 120ms ease, border-color 120ms ease;
    text-decoration: none;
}

.lo-header .nkv-btn:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

/* ===== understand_the_order_behind_every_laser_job ===== */
.nkv-hero-section {
    position: relative;
    background: var(--hero-bg);
    color: var(--on-hero);
    overflow: hidden;
}

.nkv-hero-section .nkv-card {
    background: var(--surface);
    border: 1px solid var(--border);
    box-shadow: none !important;
    transition: border-color 0.12s ease;
}

.nkv-hero-section .nkv-card:hover {
    border-color: var(--accent);
}

.nkv-hero-section h1,
.nkv-hero-section h2 {
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .nkv-hero-section h1 {
        font-size: 18px !important;
        line-height: 1.3;
    }

    .nkv-hero-section h2 {
        font-size: 16px !important;
        line-height: 1.35;
    }
}

/* ===== dictionary_for_beginners ===== */
.dict-section {
    position: relative;
}

.dict-section .dict-decor-ring {
    position: absolute;
    top: -60px;
    right: -60px;
    width: 240px;
    height: 240px;
    border-radius: 9999px;
    border: 1px solid rgba(49, 79, 17, 0.25);
    pointer-events: none;
}

.dict-section .dict-term-card {
    transition: border-color 0.12s ease;
    min-height: 100%;
}

.dict-section .dict-term-card:hover {
    border-color: var(--accent);
}

.dict-section .dict-icon-wrap {
    width: 32px;
    height: 32px;
}

@media (max-width: 767px) {
    .dict-section .dict-term-card {
        width: 100%;
    }
}

/* ===== answers_to_objections ===== */
.lo-objections {
    position: relative;
    background-color: var(--bg)
}

.lo-objections__accent-line {
    width: 48px;
    height: 3px;
    background-color: var(--accent);
    margin-top: 12px
}

.lo-objections__ring {
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 9999px;
    border: 1px solid var(--border);
    pointer-events: none;
    opacity: 0.6
}

.lo-objections__ring--tr {
    top: -40px;
    right: -40px
}

.lo-objections__ring--bl {
    bottom: -50px;
    left: -50px
}

.lo-objections__card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 20px;
    box-shadow: none;
    transition: border-color 120ms ease-in-out
}

.lo-objections__card:hover {
    border-color: var(--accent)
}

.lo-objections__icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 6px;
    border: 1px solid var(--border);
    background-color: var(--bg)
}

/* ===== interactive_product_tour_concept ===== */
.nkv-tour-block .nkv-tour-step-btn.active {
    border-color: var(--accent);
    background-color: var(--surface);
}

.nkv-tour-block .nkv-tour-step-btn:not(.active) {
    border-color: var(--border);
}

.nkv-tour-block .nkv-tour-step-btn:hover {
    border-color: var(--accent);
}

.nkv-tour-block .js-tour-view.is-visible {
    display: block;
}

.nkv-tour-block .js-tour-view.is-hidden {
    display: none;
}

/* ===== cost_estimator_concept ===== */
.cost-calc-block {
    background-color: var(--bg);
}

.cost-calc-decor {
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 9999px;
    border: 1px solid var(--border);
    pointer-events: none;
    opacity: 0.5;
}

.cost-calc-decor--top {
    top: -40px;
    right: -40px;
}

.cost-calc-decor--bottom {
    bottom: -40px;
    left: -40px;
}

.cost-calc-preset-btn {
    background-color: var(--surface);
    border-color: var(--border);
    cursor: pointer;
}

.cost-calc-preset-btn:hover {
    border-color: var(--accent);
}

.cost-calc-preset-btn.active {
    border-color: var(--accent);
    background-color: var(--surface-alt);
}

@media (max-width: 767px) {
    .cost-calc-decor {
        display: none;
    }
}

/* ===== latest_knowledge_base_articles ===== */
.kb-articles-grid .kb-articles-grid__accent-bar {
    width: 48px;
    height: 3px;
    background: var(--accent);
    margin-top: 12px;
}

.kb-articles-grid .kb-articles-grid__decor-ring {
    position: absolute;
    right: -40px;
    top: -40px;
    width: 180px;
    height: 180px;
    border-radius: 9999px;
    border: 1px solid var(--border);
    pointer-events: none;
    opacity: 0.6;
}

.kb-articles-grid .kb-articles-grid__card:hover {
    border-color: var(--accent);
}

/* ===== equipment_reviews ===== */
.equipment-reviews-block .equipment-decor-ring {
    position: absolute;
    top: 18px;
    right: -60px;
    width: 180px;
    height: 180px;
    border-radius: 9999px;
    border: 1px solid var(--border);
    pointer-events: none;
    opacity: 0.6;
}

.equipment-reviews-block .equipment-title-accent {
    display: block;
    width: 48px;
    height: 3px;
    background: var(--accent);
    margin-top: 12px;
}

.equipment-reviews-block .equipment-card {
    box-shadow: none !important;
}

.equipment-reviews-block .equipment-card:hover {
    border-color: var(--accent);
}

.equipment-reviews-block .equipment-card:hover .equipment-title-link {
    color: var(--accent);
}

.equipment-reviews-block .equipment-title-link:hover {
    color: var(--accent);
    text-decoration: underline;
}

.equipment-reviews-block .equipment-action-btn:hover {
    background: var(--surface-alt);
    border-color: var(--accent);
    color: var(--accent-text);
}

.equipment-reviews-block .equipment-action-btn:focus {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .equipment-reviews-block .equipment-grid {
        grid-template-columns: 1fr;
    }

    .equipment-reviews-block .equipment-decor-ring {
        display: none;
    }
}

/* ===== footer ===== */
.lof-footer {
    background-color: var(--footer-bg);
    color: var(--on-footer);
}

.lof-footer-disclaimer {
    border: 1px solid rgba(172, 239, 98, 0.35);
    background-color: #1a2a0a;
}

.lof-footer-link {
    text-decoration: none;
}

.lof-footer-link:hover {
    color: var(--primary);
}

@media (max-width: 767px) {
    .lof-footer .grid {
        grid-template-columns: 1fr;
    }
}

/* ===== PAGE: equipment ===== */
.equipment-page .equipment-page__card:hover { border-color: var(--accent); }
.equipment-page .equipment-page__link:hover { color: var(--accent); }
.equipment-page .equipment-page__sidebar { position: -webkit-sticky; position: sticky; }
@media (max-width: 767px) {
  .equipment-page .grid { grid-template-columns: 1fr; }
  .equipment-page .equipment-page__sidebar { position: static; }
}

/* ===== PAGE: software-setup ===== */
.setup-workflow-block { box-shadow: none !important; }
.setup-workflow-block__card { min-width: 0; }
.setup-workflow-block__panel { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04); }
@media (max-width: 767px) {
  .setup-workflow-block__list { flex-direction: column; align-items: stretch; }
  .setup-workflow-block__card { width: 100% !important; margin-bottom: 24px; }
  .setup-workflow-block__card:last-child { margin-bottom: 0; }
}

/* ===== PAGE: knowledge-base ===== */
.kb-operation-principles .kb-decor-circle {
  position: absolute;
  top: -40px;
  right: -40px;
  width: 180px;
  height: 180px;
  border-radius: 9999px;
  border: 1px solid var(--border);
  pointer-events: none;
  opacity: 0.6;
}

.kb-operation-principles .kb-card {
  box-shadow: none !important;
}

.kb-operation-principles .kb-card:hover {
  border-color: var(--accent);
}

@media (max-width: 767px) {
  .kb-operation-principles .kb-articles-grid {
    grid-template-columns: 1fr;
  }
}

/* ===== PAGE: lightburn-support ===== */
.lb-guide-wrapper { font-family: 'Scada', sans-serif; }
.lb-guide-section { border-bottom: 1px solid var(--border); }
.lb-heading-accent { width: 48px; height: 3px; background: var(--accent); margin-top: 12px; }
.lb-heading-accent-light { width: 48px; height: 3px; background: var(--primary); margin-top: 12px; }
.lb-decor-ring { width: 180px; height: 180px; border-radius: 9999px; border: 1px solid var(--border); position: absolute; opacity: 0.6; pointer-events: none; }
.lb-card { background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 20px; transition: border-color 120ms ease; height: 100%; }
.lb-card:hover { border-color: var(--accent); }
.lb-checklist-card { background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 20px; transition: border-color 120ms ease; height: 100%; }
.lb-checklist-card:hover { border-color: var(--accent); }
.lb-text-link { color: var(--primary-text); text-decoration: none; display: inline-flex; items-center: center; gap: 6px; transition: color 120ms ease; }
.lb-text-link:hover { color: var(--accent); text-decoration: underline; }
.lb-tab-btn { background: var(--bg); border-color: var(--border); color: var(--text); cursor: pointer; transition: all 120ms ease; }
.lb-tab-btn:hover { border-color: var(--accent); color: var(--primary-text); }
.lb-tab-btn.active { background: var(--surface-alt); border-color: var(--accent); color: var(--primary-text); }
.lb-dark-section { background: var(--dark-band-bg); color: var(--on-dark); border-bottom: 1px solid var(--dark-band); }
.lb-brand-cta { background: var(--brand-band-bg); color: var(--on-primary); }
.lb-cta-primary-btn { background: var(--brand-btn-bg); color: var(--brand-btn-text); border: 1px solid var(--brand-btn-bg); border-radius: 6px; padding: 12px 24px; font-weight: 700; text-decoration: none; display: inline-block; transition: background 120ms ease; }
.lb-cta-primary-btn:hover { background: #000000; color: var(--primary-hover); border-color: #000000; }
.lb-cta-secondary-btn { background: transparent; color: var(--on-primary); border: 1px solid var(--on-primary); border-radius: 6px; padding: 12px 24px; font-weight: 700; text-decoration: none; display: inline-block; transition: background 120ms ease; }
.lb-cta-secondary-btn:hover { background: rgba(0, 0, 0, 0.1); color: var(--on-primary); border-color: var(--on-primary); }
@media (max-width: 767px) {
  .lb-guide-section h2 { font-size: 16px; }
  .lb-guide-section h3 { font-size: 14px; }
  .lb-card, .lb-checklist-card { width: 100%; }
}

/* ===== PAGE: about ===== */
.about-page-wrapper { width: 100%; overflow-x: hidden; }
.about-page-wrapper .about-accent-line { height: 3px; }
.about-page-wrapper .nkv-card:hover { border-color: var(--accent); }
.about-page-wrapper .about-media-frame { box-shadow: none; }
@media (max-width: 767px) {
  .about-page-wrapper h2 { font-size: 16px; line-height: 1.25; }
  .about-page-wrapper h3 { font-size: 14px; line-height: 1.3; }
  .about-page-wrapper .nkv-eyebrow { font-size: 11px; }
}

/* ===== PAGE: contact ===== */
.lo-contact { background-color: var(--bg); position: relative; }
.lo-contact__ring { position: absolute; border: 1px solid var(--border); border-radius: 9999px; pointer-events: none; opacity: 0.6; z-index: 1; }
.lo-contact__ring--top { width: 220px; height: 220px; top: -70px; right: -70px; }
.lo-contact__ring--bottom { width: 160px; height: 160px; bottom: -50px; left: -50px; }
.lo-contact .nkv-card:hover { border-color: var(--accent); }

/* ===== PAGE: privacy ===== */
.privacy-content-block { overflow-wrap: anywhere; }
.privacy-content-block__title-line { width: 48px; height: 3px; background-color: var(--accent); }
.privacy-content-block__decor-ring { width: 180px; height: 180px; border-radius: 9999px; border: 1px solid var(--border); opacity: 0.6; }

/* ===== PAGE: terms ===== */
.terms-content-block{position:relative;background-color:var(--bg);color:var(--text);font-family:'Scada',sans-serif;box-sizing:border-box}.terms-content-block *{box-sizing:border-box}.terms-content-block .terms-decor-ring{position:absolute;width:180px;height:180px;border-radius:9999px;border:1px solid var(--border);pointer-events:none;opacity:0.4;z-index:1}.terms-content-block .terms-decor-ring--tr{top:-40px;right:-40px}.terms-content-block .terms-decor-ring--bl{bottom:-40px;left:-40px}.terms-content-block .terms-quicklink{text-decoration:none}.terms-content-block .terms-quicklink.active{color:var(--accent)}.terms-content-block .terms-article{overflow-wrap:anywhere}.terms-content-block a{transition:color 120ms ease,border-color 120ms ease}@media (max-width:767px){.terms-content-block .terms-decor-ring{display:none}.terms-content-block .grid{grid-template-columns:1fr}}

/* ===== PAGE: disclaimer ===== */
.disclaimer-page__decor-ring {
  position: absolute;
  top: -60px;
  right: -60px;
  width: 220px;
  height: 220px;
  border-radius: 9999px;
  border: 1px solid var(--border);
  pointer-events: none;
  opacity: 0.5;
}
.disclaimer-page .nkv-card {
  transition: border-color 100ms ease;
}
.disclaimer-page .nkv-card:hover {
  border-color: var(--accent);
}
@media (max-width: 767px) {
  .disclaimer-page .nkv-title {
    font-size: 16px;
    hyphens: auto;
  }
  .disclaimer-page h3 {
    font-size: 14px;
    hyphens: auto;
  }
  .disclaimer-page h4 {
    font-size: 14px;
  }
}

/* ===== PAGE TEMPLATE: equipment-items ===== */
.lo-header {
    background-color: var(--bg);
    border-bottom: 1px solid var(--border);
}

.lo-header .lo-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.lo-header .lo-nav-link:hover {
    color: var(--primary-text);
}

.lo-header .nkv-btn {
    background-color: var(--primary);
    color: var(--on-primary);
    border: 1px solid var(--primary);
    transition: background-color 120ms ease, border-color 120ms ease;
    text-decoration: none;
}

.lo-header .nkv-btn:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

.nkv-hero-section {
    position: relative;
    background: var(--hero-bg);
    color: var(--on-hero);
    overflow: hidden;
}

.nkv-hero-section .nkv-card {
    background: var(--surface);
    border: 1px solid var(--border);
    box-shadow: none !important;
    transition: border-color 0.12s ease;
}

.nkv-hero-section .nkv-card:hover {
    border-color: var(--accent);
}

.nkv-hero-section h1,
.nkv-hero-section h2 {
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .nkv-hero-section h1 {
        font-size: 18px !important;
        line-height: 1.3;
    }

    .nkv-hero-section h2 {
        font-size: 16px !important;
        line-height: 1.35;
    }
}

.lo-mag-section .lo-striped-table tr:hover td {
    background-color: var(--surface-alt);
}

.lo-mag-section .js-option-btn {
    cursor: pointer;
    box-shadow: none !important;
}

.lo-mag-section .js-option-btn.is-active {
    border-color: var(--accent);
}

.lo-faq-section .js-accordion-btn {
    transition: color 0.12s ease;
}

.lo-related-section .nkv-card {
    box-shadow: none !important;
    transition: border-color 0.12s ease;
}

.lo-related-section .nkv-card:hover {
    border-color: var(--accent);
}

@media (max-width: 767px) {
    .lo-mag-section .lo-striped-table thead {
        display: none;
    }

    .lo-mag-section .lo-striped-table,
    .lo-mag-section .lo-striped-table tbody,
    .lo-mag-section .lo-striped-table tr,
    .lo-mag-section .lo-striped-table td {
        display: block;
        width: 100%;
    }

    .lo-mag-section .lo-striped-table td {
        padding: 8px 12px;
        border-bottom: 1px solid var(--border);
    }

    .lo-mag-section .lo-striped-table tr {
        border-bottom: 2px solid var(--border);
    }
}

.lof-footer {
    background-color: var(--footer-bg);
    color: var(--on-footer);
}

.lof-footer-disclaimer {
    border: 1px solid rgba(172, 239, 98, 0.35);
    background-color: #1a2a0a;
}

.lof-footer-link {
    text-decoration: none;
}

.lof-footer-link:hover {
    color: var(--primary);
}

@media (max-width: 767px) {
    .lof-footer .grid {
        grid-template-columns: 1fr;
    }
}

/* ===== PAGE TEMPLATE: software-items ===== */
.lo-header {
    background-color: var(--bg);
    border-bottom: 1px solid var(--border);
}

.lo-header .lo-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.lo-header .lo-nav-link:hover {
    color: var(--primary-text);
}

.lo-header .nkv-btn {
    background-color: var(--primary);
    color: var(--on-primary);
    border: 1px solid var(--primary);
    transition: background-color 120ms ease, border-color 120ms ease;
    text-decoration: none;
}

.lo-header .nkv-btn:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

.nkv-hero-section {
    position: relative;
    background: var(--hero-bg);
    color: var(--on-hero);
    overflow: hidden;
}

.sw-detail-article {
    background-color: var(--bg);
}

.sw-detail-article .sw-first-p::first-letter {
    font-size: 3rem;
    font-weight: 700;
    float: left;
    line-height: 0.85;
    margin-right: 0.75rem;
    margin-top: 0.15rem;
    color: var(--accent);
}

.sw-detail-article h1,
.sw-detail-article h2,
.sw-detail-article h3 {
    overflow-wrap: anywhere;
}

.sw-related-section .nkv-card {
    transition: border-color 120ms ease;
}

.sw-related-section .nkv-card:hover {
    border-color: var(--accent);
}

.js-faq-item.is-open .js-faq-icon {
    transform: rotate(180deg);
}

.lof-footer {
    background-color: var(--footer-bg);
    color: var(--on-footer);
}

.lof-footer-disclaimer {
    border: 1px solid rgba(172, 239, 98, 0.35);
    background-color: #1a2a0a;
}

.lof-footer-link {
    text-decoration: none;
}

.lof-footer-link:hover {
    color: var(--primary);
}

@media (max-width: 767px) {
    .sw-detail-article h1 {
        font-size: 18px !important;
        line-height: 1.3;
    }

    .sw-detail-article h2 {
        font-size: 16px !important;
        line-height: 1.35;
    }

    .sw-detail-article h3 {
        font-size: 14px !important;
        line-height: 1.35;
    }

    .lof-footer .grid {
        grid-template-columns: 1fr;
    }
}

/* ===== PAGE TEMPLATE: kb-items ===== */
.lo-header {
    background-color: var(--bg);
    border-bottom: 1px solid var(--border);
}

.lo-header .lo-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.lo-header .lo-nav-link:hover {
    color: var(--primary-text);
}

.lo-header .nkv-btn {
    background-color: var(--primary);
    color: var(--on-primary);
    border: 1px solid var(--primary);
    transition: background-color 120ms ease, border-color 120ms ease;
    text-decoration: none;
}

.lo-header .nkv-btn:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

.kb-hero-detail h1,
.kb-hero-detail h2 {
    overflow-wrap: anywhere;
}

.kb-article-view h2,
.kb-article-view h3 {
    overflow-wrap: anywhere;
}

.kb-article-view .nkv-card {
    box-shadow: none !important;
}

.kb-article-view .kb-prose p {
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .kb-hero-detail h1 {
        font-size: 18px !important;
        line-height: 1.3;
    }

    .kb-article-view h2 {
        font-size: 16px !important;
        line-height: 1.35;
    }

    .kb-article-view h3 {
        font-size: 14px !important;
        line-height: 1.35;
    }
}

.lof-footer {
    background-color: var(--footer-bg);
    color: var(--on-footer);
}

.lof-footer-disclaimer {
    border: 1px solid rgba(172, 239, 98, 0.35);
    background-color: #1a2a0a;
}

.lof-footer-link {
    text-decoration: none;
}

.lof-footer-link:hover {
    color: var(--primary);
}

@media (max-width: 767px) {
    .lof-footer .grid {
        grid-template-columns: 1fr;
    }
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}
