h1, h2, h3, h4, h5, h6, p {
    font-family: var(--font-family);
    color: var(--color);
    letter-spacing: var(--letter-spacing);
}

h1, h2, h3, h4, h5, h6 {
    margin: var(--heading-margin);
}

strong {
    font-weight: 700;
}

p {
    font-size: var(--font-size);
    margin: var(--paragraph-margin);
    line-height: var(--line-height);
}

h1 {
    font-size: calc(var(--font-size) * 2);
}

h2 {
    font-size: calc(var(--font-size) * 1.75);
}

h3 {
    font-size: calc(var(--font-size) * 1.5);
}
h4 {
    font-size: calc(var(--font-size) * 1.25);
}

h5 {
    font-size: calc(var(--font-size) * 1.10);
}

h6 {
    font-size: calc(var(--font-size) * 1.025);
}

.nl-home, .nl-header, .nl-footer { font-family: Inter, var(--font-family), Arial, sans-serif; color: var(--nl-text); }
.nl-home h1, .nl-home h2, .nl-home h3, .nl-header, .nl-footer { color: var(--nl-text); }
.nl-hero h1 { max-width: 620px; margin: 0; color: var(--nl-text); font-size: clamp(42px, 6.2vw, 72px); font-weight: 650; letter-spacing: -.065em; line-height: .98; }
.nl-hero h1 span { color: var(--nl-gold); }
.nl-lead { max-width: 540px; margin: 21px 0 26px; color: #a7adb1; font-size: 14px; line-height: 1.8; }
.nl-section-title { color: var(--nl-text); font-size: clamp(28px, 4vw, 40px); font-weight: 600; letter-spacing: -.055em; line-height: 1.08; }
.nl-section-intro { font-size: 13px; line-height: 1.8; }
.nl-feature h3, .nl-step h3, .nl-responsibilities h3, .nl-plan h3, .nl-inclusions h3, .nl-framework h3 { margin: 8px 0 7px; color: var(--nl-text); font-size: 14px; font-weight: 600; letter-spacing: -.02em; line-height: 1.4; }
.nl-feature p, .nl-step p, .nl-plan-desc, .nl-framework p { color: var(--nl-muted); font-size: 11px; line-height: 1.75; }
.nl-index { color: var(--nl-gold); font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.nl-step h3 { margin-top: 9px; font-size: 13px; }
.nl-responsibilities h3, .nl-inclusions h3 { margin: 0 0 12px; color: var(--nl-gold); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.nl-responsibilities li, .nl-inclusions li { position: relative; padding-left: 15px; color: #c0c4c6; font-size: 10px; line-height: 1.8; }
.nl-responsibilities li::before, .nl-inclusions li::before { content: "—"; position: absolute; left: 0; color: var(--nl-gold); }
.nl-plan h3 { margin: 0 0 8px; font-size: 15px; }
.nl-plan-desc { min-height: 58px; }
.nl-price { margin: 17px 0 3px; color: var(--nl-text); font-size: 23px; font-weight: 650; letter-spacing: -.04em; }
.nl-price small { color: var(--nl-muted); font-size: 10px; font-weight: 400; letter-spacing: 0; }
.nl-setup { margin: 0 0 15px; color: #969da0; font-size: 10px; }
.nl-plan ul { margin: 0 0 19px; padding: 13px 0 0; border-top: 1px solid var(--nl-line); }
.nl-plan li { position: relative; padding: 4px 0 4px 15px; color: #c1c5c7; font-size: 10px; line-height: 1.55; }
.nl-plan li::before { content: "✓"; position: absolute; left: 0; color: var(--nl-gold); }
.nl-plan-featured { border-color: #9b741f; box-shadow: inset 0 0 0 1px rgba(242,182,50,.08); }
.nl-plan-featured h3 { color: var(--nl-gold-bright); }
.nl-security-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 24px; }
.nl-security-list li { position: relative; padding: 17px 0 17px 19px; border-bottom: 1px solid var(--nl-line); color: #d0d2d1; font-size: 11px; line-height: 1.55; }
.nl-security-list li::before { content: "◆"; position: absolute; left: 0; top: 19px; color: var(--nl-gold); font-size: 6px; }
.nl-framework { padding: 23px 24px; border: 1px solid var(--nl-line); background: var(--nl-surface); }
.nl-framework h3 { color: var(--nl-gold); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.nl-framework p { margin: 9px 0 0; }
.nl-cta h2 { max-width: 700px; margin: 0 0 13px; color: var(--nl-text); font-size: clamp(28px, 4vw, 40px); font-weight: 600; letter-spacing: -.055em; line-height: 1.08; }
.nl-cta p { max-width: 650px; margin: 0 0 20px; color: var(--nl-muted); font-size: 12px; line-height: 1.8; }
.nl-footer-grid h2 { margin: 0 0 4px; color: #777e83; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 680px) {
  .nl-hero h1 { font-size: clamp(42px, 13vw, 60px); }
  .nl-plan-desc { min-height: 0; }
  .nl-security-list { grid-template-columns: 1fr; }
}
