.nt-home-page,
.nt-home-page * {
    box-sizing: border-box;
}

.nt-home-page {
    margin: 0;
    color: var(--nt-color-text);
    background: var(--nt-color-surface);
    font-family: var(--nt-font-family);
    font-size: var(--nt-font-size-base);
    line-height: var(--nt-line-height-body);
}

.nt-home-page .custom-container {
    width: 100%;
    overflow: clip;
}

.nt-home-page a {
    color: inherit;
}

.nt-home-page img {
    display: block;
    max-width: 100%;
}

.nt-app-shell {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.nt-content-area {
    width: 100%;
    min-width: 0;
    flex: 1 0 auto;
}

.nt-app-footer {
    flex: 0 0 auto;
}

.nt-skip-link {
    position: fixed;
    inset-block-start: var(--nt-space-3);
    inset-inline-start: var(--nt-space-3);
    z-index: var(--nt-z-overlay);
    padding: var(--nt-space-3) var(--nt-space-4);
    border-radius: var(--nt-radius-sm);
    color: var(--nt-color-surface);
    background: var(--nt-color-brand-900);
    font-weight: var(--nt-font-weight-semibold);
    text-decoration: none;
    transform: translateY(calc(-100% - var(--nt-space-5)));
    transition: transform var(--nt-duration-fast) var(--nt-timing-standard);
}

.nt-skip-link:focus {
    transform: translateY(0);
}

.nt-home-page header {
    position: relative;
    z-index: var(--nt-z-header);
    border-bottom: var(--nt-border-width) solid var(--nt-color-border);
    background: rgb(255 255 255 / 96%);
}

.nt-home-page header .header-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 4.75rem;
    gap: var(--nt-space-5);
    padding: var(--nt-space-3) var(--nt-page-gutter);
}

.nt-home-page .header-logo {
    color: var(--nt-color-brand-900);
    font-family: var(--nt-font-family-display);
    font-size: 1.75rem;
    font-weight: var(--nt-font-weight-bold);
    letter-spacing: -0.02em;
    text-decoration: none;
}

.nt-home-page .right-cluster,
.nt-home-page .header-menu-links,
.nt-home-page .auth-slot {
    display: flex;
    align-items: center;
    gap: var(--nt-space-5);
}

.nt-home-page .header-menu-links a,
.nt-home-page .login-button {
    color: var(--nt-color-text);
    font-weight: var(--nt-font-weight-semibold);
    text-decoration: none;
}

.nt-home-page .login-button {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: var(--nt-space-2) var(--nt-space-5);
    border: var(--nt-border-width) solid var(--nt-color-brand-700) !important;
    border-radius: var(--nt-radius-pill);
    color: var(--nt-color-surface) !important;
    background: var(--nt-color-brand-700) !important;
}

.nt-home-page .language-dropdown .dropdown-menu {
    width: min(50rem, calc(100vw - 2rem));
    border: var(--nt-border-width) solid var(--nt-color-border);
    border-radius: var(--nt-radius-md);
    box-shadow: var(--nt-shadow-md);
}

.nt-home-page .language-dropdown .menu-title-div {
    padding: var(--nt-space-3) var(--nt-space-4);
    color: var(--nt-color-surface);
    background: var(--nt-color-brand-800);
    font-weight: var(--nt-font-weight-bold);
    text-align: center;
}

.nt-home-page .language-dropdown .dropdown-body {
    padding: var(--nt-space-4);
}

.nt-home-page .language-dropdown .list-group-item {
    min-height: 2.75rem;
    cursor: pointer;
}

.nt-home-page .active-language {
    color: var(--nt-color-surface);
    background: var(--nt-color-brand-700);
}

.nt-home-page .kebab-wrapper {
    display: none;
}

.nt-home-page .kebab-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: var(--nt-border-width) solid var(--nt-color-border);
    border-radius: var(--nt-radius-pill);
    color: var(--nt-color-surface);
    background: var(--nt-color-brand-700);
}

.nt-home-page :focus-visible {
    outline: 0.1875rem solid var(--nt-color-focus);
    outline-offset: 0.1875rem;
}

.nt-container {
    width: calc(100% - (2 * var(--nt-page-gutter)));
    max-width: var(--nt-container-standard);
    margin-inline: auto;
}

.nt-container--wide {
    max-width: var(--nt-container-wide);
}

.nt-section {
    padding-block: var(--nt-space-9);
}

.nt-section--soft {
    background: var(--nt-color-surface-soft);
}

.nt-section--warm {
    background: var(--nt-color-surface-warm);
}

.nt-section--brand {
    color: var(--nt-color-surface);
    background: var(--nt-color-brand-900);
}

.nt-grid {
    display: grid;
    gap: var(--nt-grid-gap);
}

.nt-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nt-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nt-grid--align-center {
    align-items: center;
}

.nt-grid--align-stretch {
    align-items: stretch;
}

.nt-stack {
    display: flex;
}

.nt-stack--vertical {
    flex-direction: column;
}

.nt-stack--horizontal,
.nt-stack--inline {
    flex-direction: row;
}

.nt-stack--gap-compact {
    gap: var(--nt-space-3);
}

.nt-stack--gap-default {
    gap: var(--nt-space-5);
}

.nt-stack--gap-loose {
    gap: var(--nt-space-7);
}

.nt-stack--align-start {
    align-items: flex-start;
}

.nt-stack--align-center {
    align-items: center;
}

.nt-stack--align-stretch {
    align-items: stretch;
}

.nt-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nt-list--grid {
    display: grid;
    gap: var(--nt-grid-gap);
}

.nt-list--columns-1 {
    grid-template-columns: 1fr;
}

.nt-list--columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nt-list--columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nt-list--columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nt-list--grid > li {
    min-width: 0;
}

.nt-content-block > :last-child,
.nt-feature > :last-child,
.nt-card__content > :last-child,
.nt-cta-block > :last-child {
    margin-bottom: 0;
}

.nt-eyebrow {
    margin: 0 0 var(--nt-space-3);
    color: var(--nt-color-brand-700);
    font-size: var(--nt-font-size-xs);
    font-weight: var(--nt-font-weight-bold);
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.nt-section--brand .nt-eyebrow {
    color: var(--nt-color-accent-100);
}

.nt-display-title,
.nt-section h2,
.nt-feature__title,
.nt-card h3 {
    font-family: var(--nt-font-family-display);
    font-weight: var(--nt-font-weight-bold);
    line-height: var(--nt-line-height-heading);
}

.nt-display-title {
    max-width: 11ch;
    margin: 0 0 var(--nt-space-5);
    font-size: var(--nt-font-size-display);
    line-height: var(--nt-line-height-tight);
    letter-spacing: -0.035em;
}

.nt-display-title span {
    display: block;
    color: var(--nt-color-brand-700);
}

.nt-section h2 {
    margin: 0 0 var(--nt-space-4);
    font-size: var(--nt-font-size-h2);
    letter-spacing: -0.025em;
}

.nt-lead,
.nt-section-heading > p {
    max-width: 42rem;
    color: var(--nt-color-text-muted);
    font-size: var(--nt-font-size-lg);
}

.nt-section-heading {
    max-width: 48rem;
    margin-bottom: var(--nt-space-7);
}

.nt-section-heading--center {
    margin-inline: auto;
    text-align: center;
}

.nt-section-heading--center > p {
    margin-inline: auto;
}

.nt-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: var(--nt-space-3) var(--nt-space-6);
    border: var(--nt-border-width) solid transparent;
    border-radius: var(--nt-radius-pill);
    font-weight: var(--nt-font-weight-bold);
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color var(--nt-duration-standard) var(--nt-timing-standard),
        border-color var(--nt-duration-standard) var(--nt-timing-standard),
        color var(--nt-duration-standard) var(--nt-timing-standard);
}

.nt-button--primary {
    color: var(--nt-color-surface);
    background: var(--nt-color-brand-700);
}

.nt-button--primary:hover {
    color: var(--nt-color-surface);
    background: var(--nt-color-brand-900);
}

.nt-button--secondary {
    border-color: var(--nt-color-brand-700);
    color: var(--nt-color-brand-800);
    background: transparent;
}

.nt-button--secondary:hover {
    color: var(--nt-color-surface);
    background: var(--nt-color-brand-700);
}

.nt-button--light {
    color: var(--nt-color-brand-900);
    background: var(--nt-color-surface);
}

.nt-image-block {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: var(--nt-radius-lg);
    background: var(--nt-color-brand-100);
    box-shadow: var(--nt-shadow-sm);
}

.nt-image-block img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nt-feature {
    height: 100%;
    padding: var(--nt-space-6);
    border: var(--nt-border-width) solid var(--nt-color-border);
    border-radius: var(--nt-radius-md);
    background: var(--nt-color-surface);
}

.nt-feature__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: var(--nt-space-4);
    border-radius: var(--nt-radius-pill);
    color: var(--nt-color-surface);
    background: var(--nt-color-brand-700);
    font-weight: var(--nt-font-weight-bold);
}

.nt-feature__title {
    margin: 0 0 var(--nt-space-3);
    font-size: var(--nt-font-size-h3);
}

.nt-feature__content {
    color: var(--nt-color-text-muted);
}

.nt-card {
    height: 100%;
    overflow: hidden;
    border: var(--nt-border-width) solid var(--nt-color-border);
    border-radius: var(--nt-radius-lg);
    background: var(--nt-color-surface);
    box-shadow: var(--nt-shadow-sm);
}

.nt-card > .nt-image-block {
    height: 16rem;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.nt-card__content {
    padding: var(--nt-space-6);
}

.nt-card h3 {
    margin: 0 0 var(--nt-space-3);
    font-size: var(--nt-font-size-h3);
}

.nt-badge {
    display: inline-flex;
    padding: var(--nt-space-2) var(--nt-space-4);
    border-radius: var(--nt-radius-pill);
    color: var(--nt-color-brand-900);
    background: var(--nt-color-brand-100);
    font-size: var(--nt-font-size-sm);
    font-weight: var(--nt-font-weight-semibold);
}

.nt-text-link,
.nt-inline-links a {
    color: var(--nt-color-brand-700);
    font-weight: var(--nt-font-weight-semibold);
    text-underline-offset: 0.2em;
}

.nt-inline-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--nt-space-4) var(--nt-space-5);
    margin-top: var(--nt-space-5);
}

.nt-section-action {
    margin-top: var(--nt-space-6);
}

.nt-cta-block {
    max-width: 52rem;
    margin-inline: auto;
    text-align: center;
}

.nt-cta-block p {
    margin-inline: auto;
    font-size: var(--nt-font-size-lg);
}

.nt-alert {
    width: min(calc(100% - (2 * var(--nt-page-gutter))), var(--nt-container-standard));
    margin: var(--nt-space-5) auto;
    padding: var(--nt-space-4) var(--nt-space-5);
    border: var(--nt-border-width) solid;
    border-radius: var(--nt-radius-md);
}

.nt-alert--error {
    border-color: var(--nt-color-error);
    color: var(--nt-color-error);
    background: var(--nt-color-error-surface);
}

@media (max-width: 64rem) {
    .nt-home-page .header-menu-links {
        display: none;
    }

    .nt-home-page .kebab-wrapper {
        display: block;
    }

    .nt-section {
        padding-block: var(--nt-space-8);
    }
}

@media (max-width: 48rem) {
    .nt-grid--2,
    .nt-grid--3,
    .nt-list--columns-2,
    .nt-list--columns-3,
    .nt-list--columns-4 {
        grid-template-columns: 1fr;
    }

    .nt-section {
        padding-block: var(--nt-space-7);
    }

    .nt-home-page header .header-wrap {
        min-height: 4rem;
        gap: var(--nt-space-3);
    }

    .nt-home-page .right-cluster {
        gap: var(--nt-space-2);
    }

    .nt-home-page .language-dropdown .login-button {
        padding-inline: var(--nt-space-3);
    }
}

@media (max-width: 32rem) {
    .nt-home-page .auth-slot {
        display: none;
    }

    .nt-home-page header .header-wrap {
        padding-inline: var(--nt-space-4);
    }
}

@media (prefers-reduced-motion: reduce) {
    .nt-home-page *,
    .nt-home-page *::before,
    .nt-home-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
*,
*::before,
*::after {
    box-sizing: border-box;
}
