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

:root {
    --nt-primary:      #1f7a45;
    --nt-primary-soft: #dff3e6;
    --nt-ink:          #15202b;
    --nt-text:         #3f4d5d;
    --nt-muted:        #7a8694;
    --nt-line:         #d9e1e8;
    --nt-paper:        #f6f4ef;
    --nt-ease:         .24s cubic-bezier(.4,0,.2,1);
}

body { background: #fff; color: var(--nt-ink); }

.nt-shell {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
}

/* ── Hero ── */
.nt-hero {
    background:
        linear-gradient(rgba(21,32,43,.70) 0%, rgba(21,32,43,.60) 100%),
        url('/images/hero_1.png') center / cover no-repeat;
    height: 100px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--nt-line);
}
.nt-hero .nt-shell { width: 100%; }
.nt-hero-copy { text-align: center; }
.nt-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.75);
}
.nt-label::before {
    content: '';
    width: 28px;
    height: 1px;
    background: currentColor;
}
.nt-hero-title {
    font-size: clamp(2rem, 3.2vw, 3rem);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: 1.1;
    color: #fff;
    margin: 14px 0 0;
}
.nt-hero-desc {
    font-size: .96rem;
    line-height: 1.9;
    color: rgba(255,255,255,.72);
    margin: 14px 0 0;
}

.nt-section { padding: 80px 0 100px; }

.nt-btn-list {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border: 1.5px solid var(--nt-line);
    border-radius: 6px;
    font-size: .9rem;
    font-weight: 800;
    color: var(--nt-text);
    text-decoration: none;
    transition: var(--nt-ease);
}
.nt-btn-list:hover { border-color: var(--nt-primary); color: var(--nt-primary); }
.nt-btn-product {
    background: var(--nt-primary);
    color: #fff !important;
    border-color: var(--nt-primary);
}
.nt-btn-product:hover {
    background: #165f35;
    border-color: #165f35;
    color: #fff !important;
}

@media (max-width: 820px) {
    .nt-shell { padding: 0 20px; }
}
@media (max-width: 640px) {
    .nt-hero-title { font-size: 1.8rem; }
    .nt-section    { padding: 48px 0 64px; }
}
