:root { --nl-navy: #050B15; --nl-panel: #0e1a2b; --nl-green: #38D98A; --nl-teal: #39C6D6; --nl-white: #FFFFFF; --nl-slate-300: #BFC9D1; --nl-divider-height: 3px; --nl-section-divider: linear-gradient(90deg, var(--nl-green), var(--nl-teal) 50%, var(--nl-green)); --nl-funnel-hero-size: clamp(3rem, 4.6vw, 4.5rem); --nl-motion-tab: 150ms; --nl-motion-reveal: 240ms; }
.nl-kicker { align-items: center; background: rgba(56,217,138,.11); border-left: 4px solid var(--nl-green); color: var(--nl-green); display: inline-flex; font: 900 clamp(.92rem, 1.1vw, 1.08rem)/1.2 Inter, sans-serif; letter-spacing: .18em; margin: 0 0 1rem; min-height: 2rem; padding: .42rem .82rem; text-transform: uppercase; }
.nl-reading .nl-kicker { background: rgba(56,217,138,.11); }
.nl-card-eyebrow { align-items:center; align-self:flex-start; background:rgba(56,217,138,.09); border-left:3px solid var(--nl-green); color:var(--nl-green); display:inline-flex; font:900 .72rem/1.2 Inter,sans-serif; letter-spacing:.15em; margin:0 0 .85rem; padding:.28rem .55rem; text-transform:uppercase; width:fit-content !important; }
.nl-elevated-card { transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }.nl-elevated-card:hover { border-color:var(--nl-green) !important; box-shadow:0 18px 38px rgba(0,0,0,.22),0 0 25px rgba(56,217,138,.09); transform:translateY(-4px); }@media (prefers-reduced-motion:reduce){.nl-elevated-card{transition:none}.nl-elevated-card:hover{transform:none}}
.nl-site-nav { background: var(--nl-navy); color: var(--nl-white); font: 600 14px/1.2 Inter, sans-serif; position: relative; }
.nl-site-nav::after, .nl-site-footer__main::after { background: var(--nl-section-divider); content: ''; display: block; height: var(--nl-divider-height); left: 0; position: absolute; right: 0; }
.nl-site-nav::after { bottom: 0; }
.nl-site-nav__inner, .nl-site-footer__inner { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.nl-site-nav__inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.nl-wordmark { color: var(--nl-white); font: 900 clamp(1.7rem, 3vw, 2.3rem)/1 Inter, sans-serif; letter-spacing: -.065em; text-decoration: none; }
.nl-wordmark span { color: var(--nl-green); }
.nl-site-nav__links { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 18px; }
.nl-site-nav a { color: inherit; text-decoration: none; } .nl-site-nav a:hover, .nl-site-nav a:focus-visible { color: var(--nl-green); }
.nl-site-nav a.nl-wordmark, .nl-site-nav a.nl-wordmark:hover, .nl-site-nav a.nl-wordmark:focus-visible, .nl-site-footer a.nl-wordmark, .nl-site-footer a.nl-wordmark:hover, .nl-site-footer a.nl-wordmark:focus-visible { color: var(--nl-white) !important; text-decoration: none !important; }
.nl-site-nav a.nl-wordmark span, .nl-site-nav a.nl-wordmark:hover span, .nl-site-nav a.nl-wordmark:focus-visible span, .nl-site-footer a.nl-wordmark span, .nl-site-footer a.nl-wordmark:hover span, .nl-site-footer a.nl-wordmark:focus-visible span { color: var(--nl-green) !important; }
.nl-site-nav__links .nl-nav-cta, .nl-site-nav__links .nl-nav-cta:hover, .nl-site-nav__links .nl-nav-cta:focus-visible { background: var(--nl-green); border-radius: 999px; color: var(--nl-navy) !important; font-weight: 900; letter-spacing: .08em; padding: .75rem 1rem; text-decoration: none; text-transform: uppercase; }
.nl-site-nav__links .nl-nav-cta:hover, .nl-site-nav__links .nl-nav-cta:focus-visible { background: var(--nl-teal); }
/* One CTA token: brand-green actions always carry dark navy text, including hover. */
[class~="bg-nl-green"], [class~="bg-[#38D98A]"],
a[class~="bg-nl-green"], button[class~="bg-nl-green"], input[type="submit"][class~="bg-nl-green"],
a[class~="bg-[#38D98A]"], button[class~="bg-[#38D98A]"], input[type="submit"][class~="bg-[#38D98A]"],
a.nl-button, button.nl-button, input[type="submit"].nl-button,
a.btn-primary, button.btn-primary, input[type="submit"].btn-primary {
  background-color: var(--nl-green) !important;
  color: var(--nl-navy) !important;
}
a[class~="bg-nl-green"]:hover, a[class~="bg-nl-green"]:focus-visible,
button[class~="bg-nl-green"]:hover, button[class~="bg-nl-green"]:focus-visible,
a[class~="bg-[#38D98A]"]:hover, a[class~="bg-[#38D98A]"]:focus-visible,
button[class~="bg-[#38D98A]"]:hover, button[class~="bg-[#38D98A]"]:focus-visible,
a.nl-button:hover, a.nl-button:focus-visible, button.nl-button:hover, button.nl-button:focus-visible,
a.btn-primary:hover, a.btn-primary:focus-visible, button.btn-primary:hover, button.btn-primary:focus-visible {
  background-color: var(--nl-teal) !important;
  color: var(--nl-navy) !important;
}
.nl-site-footer { background: var(--nl-navy); color: var(--nl-slate-300); font: 400 16px/1.55 Inter, sans-serif; margin-top: 0; position: relative; }
.nl-site-footer::before { content: none; }
.nl-site-footer__main { background: var(--nl-panel); padding: 56px 0 40px; position: relative; }.nl-site-footer__main::after { bottom: 0; }.nl-site-footer__grid { display: grid; gap: 32px; grid-template-columns: 1.35fr 1fr 1fr; }
.nl-site-footer h2 { color: var(--nl-white) !important; font: 400 .8rem/1.2 Inter, sans-serif !important; letter-spacing: .14em !important; margin: 0 0 16px !important; text-transform: uppercase !important; }.nl-site-footer p { margin: 0 0 12px; }.nl-site-footer p, .nl-site-footer li { line-height: 1.55 !important; }.nl-site-footer ul { list-style: none; margin: 0; padding: 0; }.nl-site-footer li { margin: 0 0 10px; }.nl-site-footer a { color: var(--nl-slate-300); text-decoration: none; }.nl-site-footer a:hover, .nl-site-footer a:focus-visible { color: var(--nl-white); text-decoration: underline; text-underline-offset: .2em; }
.nl-site-footer__tagline { color: var(--nl-green); font-style: italic; }.nl-pride-badge { display: inline-block; line-height: 0; margin-left: auto; position: relative; transition: filter .24s ease; }.nl-pride-badge::after { background: radial-gradient(circle at 22% 27%, rgba(255,255,255,.95) 0 1px, transparent 2px), radial-gradient(circle at 75% 20%, rgba(255,218,84,.9) 0 1px, transparent 2px), radial-gradient(circle at 83% 70%, rgba(85,202,255,.9) 0 1px, transparent 2px), radial-gradient(circle at 16% 78%, rgba(255,81,136,.9) 0 1px, transparent 2px); content: ''; inset: -8px; opacity: 0; pointer-events: none; position: absolute; transition: opacity .24s ease; }.nl-pride-badge img { display: block; position: relative; z-index: 1; }.nl-pride-badge:hover { filter: drop-shadow(0 0 4px rgba(255, 81, 136, .68)) drop-shadow(0 0 8px rgba(255, 218, 84, .52)) drop-shadow(0 0 12px rgba(85, 202, 255, .5)); }.nl-pride-badge:hover::after { opacity: 1; }.nl-pride-badge:focus-visible { border-radius: 10px; outline: 2px solid var(--nl-green); outline-offset: 3px; }
.nl-site-footer__legal { border: 0; padding: 27px 0 32px; }.nl-site-footer__legal-row { display: grid; gap: 14px 20px; grid-template-columns: 1fr; }.nl-site-footer__legal-row > div:first-child { grid-column: 1 / -1; }.nl-site-footer__legal-links { display: flex; flex-wrap: wrap; gap: 16px; grid-column: 1 / -1; width: 100%; }
@media (max-width: 820px) { .nl-site-nav__inner { align-items: flex-start; flex-direction: column; gap: 14px; padding: 18px 0; }.nl-site-nav__links { gap: 12px; justify-content: flex-start; }.nl-site-footer__grid { grid-template-columns: 1fr; }.nl-site-footer__legal { padding-right: 0; } }

/*
 * Exactly one divider owns each boundary: the bottom of each top-level
 * content section. Nested sections and legacy utility borders cannot add a
 * second line. The pseudo-element is viewport-width even when its section is
 * a constrained reading column.
 */
main > header, main > section, body > section { position: relative; }
main > header, main > section, body > section { border-bottom-width: 0 !important; border-top-width: 0 !important; }
main > header::after, main > section::after, body > section::after { background: var(--nl-section-divider); bottom: 0; content: ''; height: var(--nl-divider-height); left: 50%; pointer-events: none; position: absolute; right: auto; transform: translateX(-50%); width: 100vw; z-index: 2; }

/* Phase A reference page: home uses the dark-dominant surface system.
   Article, glossary and legal pages remain the reserved light reading surfaces. */
.nl-home-dark { background: var(--nl-navy); color: var(--nl-white); }
.nl-home-dark #free-tools,
.nl-home-dark #how-we-work,
.nl-home-dark > section.py-24.bg-white { background: var(--nl-navy) !important; }
.nl-home-dark #main-content,
.nl-home-dark #solutions { background: var(--nl-panel) !important; border-color: rgba(255, 255, 255, .12) !important; }
.nl-home-dark #solutions .service-card { background: #13243a; border-color: rgba(255, 255, 255, .14); box-shadow: 0 14px 36px rgba(0, 0, 0, .24); }
.nl-home-dark #solutions .service-card:hover { box-shadow: 0 22px 56px rgba(0, 0, 0, .34), 0 0 48px rgba(57, 198, 214, .18); }
.nl-home-dark #main-content h4,
.nl-home-dark #solutions h3,
.nl-home-dark #solutions h4,
.nl-home-dark #solutions p,
.nl-home-dark #solutions li,
.nl-home-dark #how-we-work h3,
.nl-home-dark #how-we-work h4,
.nl-home-dark #how-we-work p,
.nl-home-dark > section.py-24.bg-white h2,
.nl-home-dark > section.py-24.bg-white p { color: var(--nl-white) !important; }
.nl-home-dark #main-content p,
.nl-home-dark #solutions .text-slate-600,
.nl-home-dark #how-we-work .text-slate-600,
.nl-home-dark #how-we-work .text-slate-700,
.nl-home-dark > section.py-24.bg-white .text-slate-600 { color: var(--nl-slate-300) !important; }
.nl-home-dark #main-content .text-nl-navy,
.nl-home-dark #solutions .text-nl-navy,
.nl-home-dark #how-we-work .text-nl-navy { color: var(--nl-white) !important; }
.nl-home-dark #main-content .bg-nl-navy\/10 { background-color: rgba(255, 255, 255, .10) !important; }
.nl-home-dark main > section { position: relative; }
/* The global section rule supplies each boundary. Do not add a second home-only line. */
.nl-home-dark main > section + section::before { content: none; }
@media (prefers-reduced-motion: reduce) { .nl-pride-badge, .nl-pride-badge::after { transition: none; } }

/* Phase B marketing tokens: shared, dark-surface components. */
.nl-marketing { background: var(--nl-navy); color: var(--nl-white); font-family: Inter, system-ui, sans-serif; }
.nl-marketing main { overflow: hidden; }
.nl-marketing .nl-hero, .nl-marketing .nl-section { padding: clamp(4rem, 8vw, 7rem) max(1.5rem, calc((100vw - 1180px) / 2)); }
.nl-marketing .nl-hero { background: radial-gradient(circle at 78% 18%, rgba(57,198,214,.18), transparent 35%), radial-gradient(circle at 18% 72%, rgba(56,217,138,.13), transparent 38%), var(--nl-navy); }
.nl-marketing .nl-utility-header { padding-block: clamp(2.5rem, 5vw, 4.25rem); }
.nl-marketing .nl-utility-header h1 { font-size: clamp(2.2rem, 4vw, 3.7rem); max-width: 900px; }
.nl-marketing .nl-panel { background: var(--nl-panel); }
.nl-marketing main h1, .nl-marketing main h2 { letter-spacing: -.055em; line-height: 1; margin: .6rem 0 1.5rem; }
.nl-marketing main h1 { font-size: var(--nl-funnel-hero-size); }.nl-marketing main h2 { font-size: clamp(2rem, 4vw, 3.6rem); }
.nl-marketing h3 { margin: 0 0 .75rem; }.nl-marketing p, .nl-marketing li { line-height: 1.65; }
.nl-marketing .nl-lead { color: var(--nl-slate-300); font-size: clamp(1.1rem, 2vw, 1.4rem); max-width: 760px; }
.nl-marketing .nl-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); margin-top: 2.5rem; }
.nl-marketing .nl-card, .nl-marketing .nl-booking { background: #13243a; border: 1px solid rgba(255,255,255,.14); border-radius: 1.5rem; padding: 1.75rem; }
.nl-marketing .nl-card { transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.nl-marketing .nl-card:hover { border-color: var(--nl-green); box-shadow: 0 18px 38px rgba(0,0,0,.22), 0 0 25px rgba(56,217,138,.09); transform: translateY(-4px); }
.nl-marketing .nl-button { background: var(--nl-green); border-radius: 999px; color: var(--nl-navy); display: inline-block; font-size: .82rem; font-weight: 900; letter-spacing: .08em; margin-top: 1.5rem; padding: 1rem 1.4rem; text-decoration: none; text-transform: uppercase; }
.nl-marketing .nl-button:hover, .nl-marketing .nl-button:focus-visible { background: var(--nl-teal); color: var(--nl-navy); }
.nl-marketing .nl-link { color: var(--nl-green); display: inline-block; font-weight: 800; margin-top: 1.5rem; text-decoration: none; transition: color .2s ease; }
.nl-marketing .nl-link:hover, .nl-marketing .nl-link:focus-visible { color: var(--nl-teal); text-decoration: underline; text-underline-offset: .25em; }
.nl-marketing .nl-included { list-style: none; margin: 1rem 0; padding: 0; }.nl-marketing .nl-included li { color: var(--nl-slate-300); margin: .6rem 0; }.nl-marketing .nl-included li::before { color: var(--nl-green); content: '✓'; font-weight: 900; margin-right: .55rem; }
.nl-marketing .nl-booking { margin-top: 2rem; }.nl-marketing .calendly-inline-widget { min-width: 320px; height: 700px; }
@media (prefers-reduced-motion: reduce) { .nl-marketing .nl-card { transition: none; }.nl-marketing .nl-card:hover { transform: none; } }

/* Shared Phase B tokens. Section introductions are deliberately left-aligned. */
.nl-section-heading { margin-bottom: 2.5rem; text-align: left; }
.nl-section-heading .nl-kicker { margin-inline: 0; }
.nl-hero, main > header:first-child, main > section#main-content, body > section#main-content {
  background-color: var(--nl-navy) !important;
  background-image: radial-gradient(circle at 78% 18%, rgba(57,198,214,.18), transparent 35%), radial-gradient(circle at 18% 72%, rgba(56,217,138,.13), transparent 38%) !important;
}
.nl-icon-card { border-color: rgba(56,217,138,.24) !important; }
.nl-icon-card svg { color: var(--nl-teal) !important; }
.nl-icon-card:hover { border-color: var(--nl-green) !important; }
.nl-card:has(svg), .service-card:has(svg), .outcome-card:has(svg) { border-color: rgba(56,217,138,.24) !important; }
.nl-card:has(svg) svg, .service-card:has(svg) svg, .outcome-card:has(svg) svg { color: var(--nl-teal) !important; }
.nl-icon-card :is(h2, h3, h4), .nl-card:has(svg) :is(h2, h3, h4), .service-card:has(svg) :is(h2, h3, h4), .outcome-card:has(svg) :is(h2, h3, h4) { color: var(--nl-green) !important; }
main > section > div.text-center:has(> :is(.nl-kicker, h2, h3)), body > section > div.text-center:has(> :is(.nl-kicker, h2, h3)) { text-align: left !important; }
.nl-faq-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nl-faq-grid .nl-card { background: #13243a; border: 1px solid rgba(56,217,138,.24); border-radius: 1.5rem; height: 100%; padding: 1.75rem; }
.nl-faq-grid :is(h3, summary) { color: var(--nl-green) !important; font-weight: 600; }
.nl-faq-grid p { color: var(--nl-slate-300) !important; }
.faq-section .nl-faq-grid { margin-top: 0; }
section:has(> div > h2 + div.space-y-4) > div > .space-y-4 { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
section:has(> div > h2 + div.space-y-4) > div > h2 { font-size: 0 !important; }section:has(> div > h2 + div.space-y-4) > div > h2::before { color: var(--nl-green); content: 'COMMON QUESTIONS'; display: block; font: 900 .92rem/1.2 Inter,sans-serif; letter-spacing: .18em; margin-bottom: 1rem; }section:has(> div > h2 + div.space-y-4) > div > h2::after { color: var(--nl-navy); content: 'Plain answers.'; display: block; font: 900 clamp(2rem,4vw,3.6rem)/1 Inter,sans-serif; letter-spacing: -.055em; }
section:has(> div > h2 + div.space-y-4) > div > .space-y-4 details { background: #13243a !important; border: 1px solid rgba(56,217,138,.24) !important; border-radius: 1.5rem !important; box-shadow: none !important; height: 100%; padding: 1.75rem !important; }section:has(> div > h2 + div.space-y-4) > div > .space-y-4 details:not([open]) > :not(summary) { display: block !important; }section:has(> div > h2 + div.space-y-4) > div > .space-y-4 summary { color: var(--nl-green) !important; cursor: default !important; font-weight: 600 !important; list-style: none; pointer-events: none; }section:has(> div > h2 + div.space-y-4) > div > .space-y-4 summary::-webkit-details-marker { display: none; }section:has(> div > h2 + div.space-y-4) > div > .space-y-4 details :is(p, div) { color: var(--nl-slate-300) !important; }
main :is(h1, h2, h3, h4), .nl-card p, .service-card p, .outcome-card p, .nl-tabs__panels :is(h1,h2,h3,h4,h5,h6,p,li) { text-wrap: balance; }
.nl-pricing-router { align-items: center; display: flex; min-height: calc(100vh - 72px); }.nl-pricing-router__inner { width: min(1180px, 100%); }.nl-pricing-router h1 { font-size: clamp(2.3rem, 4.2vw, 3.8rem) !important; max-width: 760px; }.nl-pricing-router .nl-route-note { color: var(--nl-slate-300); font-size: 1.1rem; margin-top: 1.25rem; }.nl-pricing-router .nl-grid { margin-top: 2rem; }.nl-pricing-router .nl-card { text-decoration: none; }
.nl-services-compact { padding-block:clamp(2.5rem,4vw,4rem) !important; }.nl-services-compact h1 { font-size:clamp(2.35rem,4vw,3.5rem) !important; }.nl-services-compact .nl-grid { margin-top:1.75rem; }.nl-service-routes .nl-card { color: var(--nl-white); display: flex; flex-direction: column; position:relative; text-decoration: none; }.nl-service-routes .nl-card-top { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 1.25rem; }.nl-service-routes .nl-card-top .nl-card-eyebrow { margin-bottom: 0; }.nl-service-routes h2 { color:var(--nl-white) !important; font-size: clamp(1.35rem,2vw,1.75rem) !important; }.nl-service-routes h2 span, .nl-service-routes .nl-accent { color:var(--nl-green); }.nl-service-routes svg { fill: none; height: 2.4rem; margin: 0; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 2.4rem; }.nl-service-routes .nl-link { margin-top: auto; padding-top: 1.5rem; }.nl-service-routes .nl-card-arrow { bottom:1.35rem; color:var(--nl-green); font-size:1.3rem; font-weight:900; line-height:1; position:absolute; right:1.5rem; transition:transform .24s ease; }.nl-service-routes .nl-card:hover .nl-card-arrow, .nl-service-routes .nl-card:focus-visible .nl-card-arrow { transform:translateX(.35rem); }@media (prefers-reduced-motion:reduce){.nl-service-routes .nl-card-arrow{transition:none}}
.nl-home-hero { align-items:center; display:flex; gap:clamp(2rem,3vw,2.5rem); min-height:clamp(470px,68vh,680px); padding-block:clamp(2.8rem,5.6vw,4.9rem); }.nl-home-identity { flex:0 0 auto; min-width:0; }.nl-home-wordmark { color:var(--nl-white); display:block; font:900 clamp(4.25rem,10vw,8.5rem)/.8 Inter,sans-serif; letter-spacing:-.075em; text-decoration:none; }.nl-home-wordmark span { color:var(--nl-green); }.nl-home-strapline { color:var(--nl-green); font-size:clamp(1.15rem,2vw,1.45rem); font-style:italic; margin:1.5rem 0 0; }.nl-home-rule { align-self:stretch; background:var(--nl-green); flex:none; width:4px; }.nl-home-statement { flex:1 1 0; max-width:690px; min-width:0; }.nl-home-statement p { color:var(--nl-slate-300); font-size:clamp(1.08rem,1.8vw,1.35rem); margin:0 0 1.1rem; }.nl-home-statement p:first-child { color:var(--nl-white); font-weight:700; }.nl-tool-routes { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:800px; }.nl-tool-routes .nl-card { display:flex; flex-direction:column; text-decoration:none; }.nl-tool-routes .nl-link { margin-top:auto; }.nl-quote-card { border-left:4px solid var(--nl-green) !important; max-width:880px; }.nl-quote-card blockquote { font-size:clamp(1.1rem,2vw,1.4rem); line-height:1.6; margin:0; }.nl-quote-card figcaption { color:var(--nl-green); font-weight:800; margin-top:1.25rem; }@media(max-width:760px){.nl-home-hero{align-items:flex-start;flex-direction:column;min-height:auto}.nl-home-rule{align-self:auto;height:4px;width:64px}.nl-home-wordmark{font-size:clamp(4rem,20vw,6rem)}.nl-tool-routes{grid-template-columns:1fr}}
/* Phase C D47: existing interactive assessment keeps its form semantics, but shares the calculator's dark surface and elevated-card system. */
.nl-assessment { background:var(--nl-navy); color:var(--nl-white); }.nl-assessment :is(#main-content,main) { background:var(--nl-navy) !important; }.nl-assessment main > section { background:var(--nl-navy) !important; color:var(--nl-white); }.nl-assessment main > section:nth-of-type(even) { background:var(--nl-panel) !important; }.nl-assessment main :is(.bg-white,.bg-slate-50) { background:#13243a !important; }.nl-assessment main :is(.text-nl-navy,.text-slate-800) { color:var(--nl-white) !important; }.nl-assessment main :is(.text-slate-600,.text-slate-500,.text-slate-700) { color:var(--nl-slate-300) !important; }.nl-assessment .form-label { color:var(--nl-slate-300) !important; }.nl-assessment :is(.form-input,.form-select,.form-textarea) { background:var(--nl-navy-3,#101D33) !important; border-color:rgba(56,217,138,.24) !important; color:var(--nl-white) !important; }.nl-assessment :is(.radio-card,.checkbox-card) { background:#13243a !important; border-color:rgba(56,217,138,.24) !important; }.nl-assessment :is(.radio-card:hover,.checkbox-card:hover,.radio-card.selected,.checkbox-card.selected) { background:rgba(56,217,138,.1) !important; border-color:var(--nl-green) !important; }.nl-assessment main > section > div > div { border-color:rgba(56,217,138,.24) !important; box-shadow:0 14px 36px rgba(0,0,0,.22) !important; }
.nl-assessment #assessmentForm { background:#13243a; border:1px solid rgba(56,217,138,.24); border-radius:1.5rem; box-shadow:0 18px 38px rgba(0,0,0,.22); color:var(--nl-white); padding:clamp(1.5rem,4vw,3rem); }.nl-assessment #assessmentForm :is(.form-input,.form-select,.form-textarea) { background:#0b1622 !important; color:var(--nl-white) !important; }.nl-assessment #assessmentForm :is(.form-input,.form-select,.form-textarea)::placeholder { color:rgba(191,201,209,.6); }.nl-assessment #assessmentForm :is(.radio-card,.checkbox-card) { color:var(--nl-white) !important; }.nl-assessment #assessmentForm :is(.radio-card,.checkbox-card) :is(p,span,h3,h4,label) { color:inherit !important; }
/* Phase C D93: N4B case-study content stays verbatim inside the shared dark shell. */
.nl-autopilot { background:var(--nl-navy); color:var(--nl-white); }.nl-autopilot main > section { background:var(--nl-navy) !important; color:var(--nl-white); }.nl-autopilot main > section:nth-of-type(even) { background:var(--nl-panel) !important; }.nl-autopilot main :is(.bg-white,.bg-\[\#F8FAFC\],.bg-slate-50) { background:#13243a !important; }.nl-autopilot main :is(.text-nl-navy,.text-slate-800) { color:var(--nl-white) !important; }.nl-autopilot main :is(.text-slate-600,.text-slate-700,.text-slate-500) { color:var(--nl-slate-300) !important; }.nl-autopilot .nl-light-card { background:#13243a !important; border-color:rgba(56,217,138,.24) !important; box-shadow:0 14px 36px rgba(0,0,0,.22) !important; }.nl-autopilot .nl-dark-card { background:#13243a !important; border-color:rgba(56,217,138,.24) !important; }
/* D156 pilot: all service panels exist in the DOM; JS only selects the visible, hash-addressable panel. */
/* F11: continuous hairline under the tab strip, above the details.
   Paints across the full strip width including under the active tab;
   display:contents below 640px so the mobile accordion is unaffected. */
/* F16: D123 money-green on dark — all currency figures on automation-audit */
.nl-audit .nl-money { color: var(--nl-green) !important; }
/* F14: example panel labels render in brand green; blank-line spacing
   between label-led blocks so each reads as a separated section */
[data-panel^="example-"] h3 { color: var(--nl-green); }
[data-panel^="example-"] h3:not(:first-child) { margin-top: 2rem; }
.nl-tabs__list { border-bottom:1px solid var(--nl-green); }
.nl-tabs { margin-top:2rem; max-width:900px; }.nl-tabs__list { display:flex; flex-wrap:wrap; gap:0; margin-bottom:-1px; position:relative; z-index:2; }.nl-tabs__list button { align-items:center; background:#13243a; border:1px solid var(--nl-green); border-bottom:none; border-radius:0; color:var(--nl-slate-300); cursor:pointer; display:inline-flex; flex-grow:1; gap:.55rem; font:800 .85rem/1.25 Inter,sans-serif; justify-content:center; letter-spacing:.06em; max-height:calc(2.5em + 1.4rem); overflow:hidden; padding:.7rem 1rem; text-align:center; transition:color var(--nl-motion-tab) ease,border-color var(--nl-motion-tab) ease,background-color var(--nl-motion-tab) ease; }.nl-tabs__list button[aria-selected="true"] { background:#13243a; border-color:var(--nl-green); color:var(--nl-green); }.nl-tabs__list button svg { flex:none; height:1.35rem; width:1.35rem; }
.nl-tabs__list button svg * { fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.nl-tabs__list button:focus-visible { outline:2px solid var(--nl-green); outline-offset:-2px; }.nl-tabs__panels { overflow:visible; position:relative; z-index:1; transition:min-height .24s ease; }.nl-tabs__panels [role="tabpanel"] { background:#13243a; border:1px solid var(--nl-green); border-radius:0 0 1.5rem 1.5rem; padding:clamp(1.4rem,3vw,2.25rem); }.nl-tabs__panels h2 { color:var(--nl-white) !important; font-size:clamp(1.7rem,3vw,2.6rem) !important; }.nl-tabs__panels h2 span,.nl-tabs__panels .nl-accent { color:var(--nl-green); }.nl-tabs__panels p { max-width:none; }.nl-tabs__panels [hidden] { display:none; }.nl-tabs:not(.nl-tabs-ready) [hidden],html:not(.nl-tabs-ready) .nl-tabs [hidden] { display:block !important; }@media (max-width:639px) { .nl-tabs__list { flex-direction:column; gap:.4rem; } .nl-tabs__list button { flex-grow:0; font-size:.78rem; width:100%; } }@media(prefers-reduced-motion:reduce){.nl-tabs__panels,[role="tabpanel"]{animation:none;transition:none}}
.nl-tabs__panels .nl-link { background:var(--nl-green); border-radius:999px; color:var(--nl-navy) !important; font-size:.78rem; letter-spacing:.08em; margin-top:1.5rem; padding:.85rem 1.1rem; text-decoration:none; text-transform:uppercase; }.nl-tabs__panels .nl-link:hover,.nl-tabs__panels .nl-link:focus-visible { background:var(--nl-teal); color:var(--nl-navy) !important; text-decoration:none; }

/* D203: question accordion variant — static questions, typed answers, single-open */
.nl-accordion { margin-top:2rem; max-width:900px; }
.nl-accordion__item { border-bottom:1px solid rgba(56,217,138,.24); }
.nl-accordion__item:first-child { border-top:1px solid rgba(56,217,138,.24); }
.nl-accordion__header { align-items:center; background:none; border:none; color:var(--nl-white); cursor:pointer; display:flex; font:600 clamp(.95rem,1.8vw,1.1rem)/1.4 Inter,sans-serif; gap:1rem; justify-content:space-between; padding:1.25rem 0; text-align:left; width:100%; }
.nl-accordion__header:hover { color:var(--nl-green); }
.nl-accordion__header:focus-visible { outline:2px solid var(--nl-green); outline-offset:2px; }
.nl-accordion__chevron { flex:none; transition:transform var(--nl-motion-tab) ease; }
.nl-accordion__header[aria-expanded="true"] .nl-accordion__chevron { transform:rotate(180deg); }
.nl-accordion__body { padding:0 0 1.25rem; }
.nl-accordion__body[hidden] { display:none; }
.nl-accordion__body p { color:var(--nl-slate-300); line-height:1.65; }
html:not(.nl-tabs-ready) .nl-accordion__body[hidden] { display:block !important; }
@media (prefers-reduced-motion:reduce) { .nl-accordion__chevron { transition:none; } }

/* D204: below 640px, tab components render as in-place accordions */
@media (max-width:639px) {
  .nl-tabs { display:flex; flex-direction:column; }
  .nl-tabs__list, .nl-tabs__panels { display:contents; }
  .nl-tabs__list button { border:1px solid rgba(56,217,138,.24); border-radius:.75rem; flex-grow:0; justify-content:space-between; padding:1rem 1.25rem; text-align:left; width:100%; }
  .nl-tabs__list button::after { content:'\25BE'; flex:none; font-size:.8rem; transition:transform var(--nl-motion-tab) ease; }
  .nl-tabs__list button[aria-selected="true"]::after { transform:rotate(180deg); }
  .nl-tabs__list button[aria-selected="true"] { border-radius:.75rem .75rem 0 0; border-bottom:none; }
  .nl-tabs__panels [role="tabpanel"] { border-radius:0 0 .75rem .75rem; border-top:none; }
  .nl-tabs__list button:nth-child(1) { order:1; } .nl-tabs__panels [role="tabpanel"]:nth-of-type(1) { order:2; }
  .nl-tabs__list button:nth-child(2) { order:3; } .nl-tabs__panels [role="tabpanel"]:nth-of-type(2) { order:4; }
  .nl-tabs__list button:nth-child(3) { order:5; } .nl-tabs__panels [role="tabpanel"]:nth-of-type(3) { order:6; }
  .nl-tabs__list button:nth-child(4) { order:7; } .nl-tabs__panels [role="tabpanel"]:nth-of-type(4) { order:8; }
  .nl-tabs__list button:nth-child(5) { order:9; } .nl-tabs__panels [role="tabpanel"]:nth-of-type(5) { order:10; }
  .nl-tabs__list button:nth-child(6) { order:11; } .nl-tabs__panels [role="tabpanel"]:nth-of-type(6) { order:12; }
  .nl-tabs__list button:nth-child(7) { order:13; } .nl-tabs__panels [role="tabpanel"]:nth-of-type(7) { order:14; }
  .nl-tabs__list button:nth-child(8) { order:15; } .nl-tabs__panels [role="tabpanel"]:nth-of-type(8) { order:16; }
}
.nl-carousel__track{overflow:hidden}.nl-carousel__controls{align-items:center;display:flex;gap:.75rem;margin-top:1rem}.nl-carousel__controls button{background:transparent;border:1px solid rgba(56,217,138,.35);border-radius:999px;color:var(--nl-white);cursor:pointer;padding:.55rem .8rem}.nl-carousel__controls span{display:flex;gap:.4rem}.nl-carousel__controls [data-carousel-dot]{height:.7rem;padding:0;width:.7rem}.nl-carousel__controls [data-carousel-dot][aria-current="true"]{background:var(--nl-green)}
.nl-founder-hero { align-items: center; display: grid; gap: clamp(2rem,5vw,5rem); grid-template-columns: minmax(0,1.25fr) minmax(240px,.55fr); }.nl-founder-hero img { border: 1px solid rgba(56,217,138,.3); border-radius: 1.5rem; max-width: 100%; width: 100%; }
.calculator-page .nl-next-panel { border-color: rgba(56,217,138,.3); box-shadow: 0 14px 36px rgba(0,0,0,.2); }.calculator-page .nl-next-panel a { color: var(--green); font-weight: 700; }.calculator-page > section::after { content: none; }.calculator-page > #faq { margin-bottom: 1.5rem; }.calculator-page > #faq .nl-faq-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
/* Automation Audit: Phase B dark surface reskin, retaining approved content. */
.nl-audit { background: var(--nl-navy); color: var(--nl-white); }.nl-audit main > section { background: var(--nl-navy) !important; color: var(--nl-white); }.nl-audit main > section:nth-of-type(even) { background: var(--nl-panel) !important; }.nl-audit main > section:first-child { background-image: radial-gradient(circle at 78% 18%, rgba(57,198,214,.18), transparent 35%), radial-gradient(circle at 18% 72%, rgba(56,217,138,.13), transparent 38%) !important; }.nl-audit main :is(h1,h2,h3), .nl-audit main .text-nl-navy { color: var(--nl-white) !important; }.nl-audit main :is(.text-slate-600,.text-slate-500,.text-slate-400,.text-nl-slate,.text-slate-700) { color: var(--nl-slate-300) !important; }.nl-audit main .text-center { text-align: left !important; }.nl-audit main :is(.bg-white,.bg-slate-50) { background: #13243a !important; }.nl-audit main :is(.border-slate-100,.border-slate-200) { border-color: rgba(56,217,138,.24) !important; }.nl-audit .btn-primary { color: var(--nl-navy) !important; }.nl-audit main > section:first-child > div > div > p.text-3xl { display: none; }.nl-audit #included > div > div.text-center::before { color: var(--nl-green); content: 'WHAT YOU GET'; display: block; font: 900 .92rem/1.2 Inter,sans-serif; letter-spacing: .18em; margin-bottom: 1rem; }.nl-audit .tier-card { background: #13243a !important; border-color: var(--nl-green) !important; color: var(--nl-white) !important; }.nl-audit .tier-card .border-t { border-color: rgba(255,255,255,.14) !important; }.nl-audit main article { border-color: rgba(56,217,138,.24) !important; box-shadow: 0 14px 36px rgba(0,0,0,.22); }.nl-audit main article:hover { border-color: var(--nl-green) !important; }.nl-audit main article svg { color: var(--nl-teal) !important; }.nl-audit main article :is(h2,h3) { color: var(--nl-green) !important; }.nl-audit section:has(> div > h2 + div.space-y-4) > div > h2::after { color: var(--nl-white); }.nl-audit .nl-kicker { border-radius: 0; }
.nl-aics { background: var(--nl-navy); color: var(--nl-white); }
.nl-aics > section { background: var(--nl-navy) !important; color: var(--nl-white); padding: clamp(4rem, 8vw, 7rem) max(1.5rem, calc((100vw - 1180px) / 2)); }
.nl-aics > section:nth-of-type(even) { background: var(--nl-panel) !important; }
.nl-aics h1, .nl-aics h2, .nl-aics h3, .nl-aics h4 { color: var(--nl-white) !important; }
.nl-aics .text-slate-700, .nl-aics .text-slate-600, .nl-aics .text-slate-500, .nl-aics .text-slate-400, .nl-aics .text-nl-slate { color: var(--nl-slate-300) !important; }
.nl-aics .text-nl-teal { color: var(--nl-green) !important; }
.nl-aics .nl-card, .nl-aics .nl-elevated-card { background: #13243a; border: 1px solid rgba(255,255,255,.14); border-radius: 1.5rem; }
.nl-aics .nl-card { padding: 1.75rem; }
.nl-aics .nl-button { background: var(--nl-green); border-radius: 999px; color: var(--nl-navy) !important; display: inline-block; font-size: .82rem; font-weight: 900; letter-spacing: .08em; margin-top: 1.5rem; padding: 1rem 1.4rem; text-decoration: none; text-transform: uppercase; }
.nl-aics .nl-button:hover, .nl-aics .nl-button:focus-visible { background: var(--nl-teal); color: var(--nl-navy) !important; }
.nl-aics .nl-quote-panel { border-left: 4px solid var(--nl-green); max-width: 860px; }
.nl-aics .nl-session-lead { color: var(--nl-slate-300); font-size: clamp(1.15rem, 2vw, 1.4rem); max-width: 760px; }
.nl-aics .nl-step-grid { display:grid; gap:1.25rem; grid-template-columns:repeat(4, minmax(0,1fr)); }
.nl-aics .nl-step-card { min-height: 200px; }
.nl-aics .nl-step-number { color: var(--nl-green); font-size: 1.5rem; font-weight: 900; margin-bottom: .75rem; }
.nl-aics .nl-step-card p:last-child { color: var(--nl-slate-300); font-size: .95rem; }
.nl-aics .nl-founder-card { align-items:center; display:flex; gap:1.25rem; max-width:760px; }
.nl-aics .nl-founder-card img { border:1px solid rgba(56,217,138,.3); border-radius:999px; height:88px; object-fit:cover; width:88px; }
.nl-aics .nl-price-old { color: var(--nl-slate-300) !important; text-decoration: line-through; }
.nl-aics .nl-price-current { color: var(--nl-green) !important; }
.nl-founder-routes { align-items: stretch; }.nl-founder-routes .nl-card { display:flex; flex-direction:column; }.nl-founder-routes .nl-link { margin-top:auto; padding-top:1.5rem; }
@media (max-width: 960px) { .nl-faq-grid, section:has(> div > h2 + div.space-y-4) > div > .space-y-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .nl-faq-grid, .nl-aics .nl-step-grid, section:has(> div > h2 + div.space-y-4) > div > .space-y-4 { grid-template-columns: 1fr; }.nl-aics .nl-founder-card { align-items:flex-start; }.nl-aics .nl-founder-card img { height:64px; width:64px; }.nl-pricing-router { min-height: auto; }.nl-founder-hero { grid-template-columns: 1fr; }.nl-founder-hero img { max-width: 360px; } }
/* Phase C legacy/support surfaces: retain their approved copy in the shared dark shell. */
.nl-legacy-surface { background:var(--nl-navy) !important; color:var(--nl-white); }.nl-legacy-surface main > section, .nl-legacy-surface > section { background:var(--nl-navy) !important; color:var(--nl-white); }.nl-legacy-surface main > section:nth-of-type(even) { background:var(--nl-panel) !important; }.nl-legacy-surface :is(.bg-white,.bg-slate-50,.bg-\[\#F8FAFC\]) { background:#13243a !important; }.nl-legacy-surface :is(.text-nl-navy,.text-slate-800,.text-slate-700,.text-slate-600,.text-slate-500,.text-gray-600) { color:var(--nl-slate-300) !important; }.nl-legacy-surface :is(h1,h2,h3,h4) { color:var(--nl-white) !important; }.nl-legacy-surface main a:not(.nl-button):not(.nl-nav-cta) { color:var(--nl-green); }.nl-legacy-surface main :is(.bg-white,.bg-slate-50,.bg-\[\#F8FAFC\]) { border-color:rgba(56,217,138,.24) !important; }.nl-legacy-surface form :is(input,textarea,select) { background:#0e1a2b !important; border-color:rgba(255,255,255,.18) !important; color:var(--nl-white) !important; }.nl-legacy-surface form label, .nl-legacy-surface form span { color:var(--nl-slate-300) !important; }.nl-legacy-surface form ::placeholder { color:#9eacb8 !important; }
/* F17-contrast: .nl-button elements carry their own explicit background and
   text colour. The legacy-surface override must not re-colour their text. */
.nl-legacy-surface .nl-button:is(.text-nl-navy,.text-slate-800,.text-slate-700,.text-slate-600,.text-slate-500,.text-gray-600) { color: var(--nl-navy) !important; }
/* F17-contrast: nl-light-card is an explicit light zone inside nl-legacy-surface.
   The legacy-surface rule overrides dark text to slate-300 for dark backgrounds;
   inside nl-light-card the background is white, so dark text must be preserved. */
.nl-legacy-surface .nl-light-card :is(.text-nl-navy,.text-slate-800,.text-slate-700,.text-slate-600,.text-slate-500,.text-gray-600) { color: #050b15 !important; }
.nl-legacy-surface .nl-light-card :is(p,li,span,div) { color: #334155; }
.nl-contact-layout{display:grid;gap:1.5rem}.nl-contact-form-panel{order:-1}.nl-contact-proof{display:grid;align-content:start;gap:1.25rem}.nl-contact-book{padding:1.5rem}.nl-contact-book p{color:var(--nl-slate-300);line-height:1.6}.nl-contact-book .nl-button{margin-top:1rem;display:block;text-align:center}@media(min-width:900px){.nl-contact-layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:start}}
/* D168: articles retain readable light editorial panels within the canonical dark chrome. */
.nl-reading{background:var(--nl-navy)!important;color:var(--nl-slate-300)}.nl-reading main{background:var(--nl-navy)!important;max-width:none!important;padding:clamp(6.5rem,10vw,9rem) max(1.25rem,calc((100vw - 960px)/2)) clamp(4rem,7vw,6rem)!important}.nl-reading main>article,.nl-reading main>.article-content{background:#f8fafc;border:1px solid rgba(56,217,138,.26);border-radius:1.5rem;box-shadow:0 18px 44px rgba(0,0,0,.24);color:#172033;margin-inline:auto;max-width:900px;padding:clamp(1.5rem,4vw,3.25rem)}.nl-reading main>article :is(h1,h2,h3,h4),.nl-reading main>.article-content :is(h1,h2,h3,h4){color:var(--nl-navy)!important}.nl-reading main>article :is(p,li),.nl-reading main>.article-content :is(p,li){color:#3f4b59!important}.nl-reading main>article a,.nl-reading main>.article-content a{color:#057f68!important}.nl-reading .nl-article-door{background:#13243a;border:1px solid rgba(56,217,138,.3);border-radius:1.5rem;margin:1.5rem auto 0;max-width:900px;padding:clamp(1.5rem,4vw,2.5rem);text-align:left}.nl-reading .nl-article-door h2{color:var(--nl-white)!important;font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 .6rem}.nl-reading .nl-article-door p{color:var(--nl-slate-300)!important;margin:0}.nl-reading .nl-article-door .nl-button{background:var(--nl-green);border-radius:999px;color:var(--nl-navy)!important;display:inline-block;font-size:.8rem;font-weight:900;letter-spacing:.08em;margin-top:1.25rem;padding:.9rem 1.2rem;text-decoration:none;text-transform:uppercase}.nl-reading .nl-article-door .nl-button:hover{background:var(--nl-teal)}.nl-reading.nl-article-index main{max-width:none!important}
/* R48.39: site map — sections separate by spacing alone; hairline above the
   footer moved to the container edge under F7 (divider-then-void fix) */
.nl-sitemap > section::after { content: none !important; }
.nl-sitemap > section { background: transparent !important; }
/* R48.41: landing re-skin — suffolk-ai-consultant, uk-sme-ai-automation. Structure unchanged; tokens applied. */
.nl-landing main > section:first-child, .nl-landing body > section:first-of-type, .nl-landing > section:first-of-type { background: radial-gradient(circle at 78% 18%, rgba(57,198,214,.18), transparent 35%), radial-gradient(circle at 18% 72%, rgba(56,217,138,.13), transparent 38%), var(--nl-navy) !important; }
.nl-landing h1 { font-size: var(--nl-funnel-hero-size) !important; letter-spacing: -.045em !important; line-height: 1.05 !important; }
.nl-landing main h2:not(.nl-kicker), .nl-landing main h3:not(.nl-kicker) { font-size: clamp(1.9rem, 3.6vw, 3rem) !important; letter-spacing: -.035em; line-height: 1.1; }
.nl-landing main h4 { font-size: clamp(1.2rem, 1.8vw, 1.45rem) !important; }
.nl-landing .nl-cta-pair .nl-button, .nl-landing .nl-cta-pair .nl-button-secondary { margin-top: 0; }
.nl-landing .nl-button { background: var(--nl-green); border-radius: 999px; color: var(--nl-navy) !important; display: inline-block; font-size: .82rem; font-weight: 900; letter-spacing: .08em; padding: 1rem 1.4rem; text-decoration: none; text-transform: uppercase; }
.nl-landing .nl-button:hover, .nl-landing .nl-button:focus-visible { background: var(--nl-teal); color: var(--nl-navy) !important; }
.nl-landing .info-card { transition: border-color .2s ease; }
.nl-landing .info-card:hover { border-color: var(--nl-green) !important; }
/* R48.15: articles index header and card contrast fixes */
.nl-reading.nl-article-index main>div:first-child{background:#13243a;border:1px solid rgba(56,217,138,.26);border-radius:1.5rem;padding:clamp(1.5rem,4vw,3rem)}
.nl-reading.nl-article-index main>div:first-child :is(h1,h2,h3){color:var(--nl-white)!important}
.nl-reading.nl-article-index main>div:first-child p{color:var(--nl-slate-300)!important}
.nl-reading.nl-article-index article a{text-decoration:none}
.nl-reading.nl-article-index article .text-nl-teal{color:#057f68!important}
.nl-reading.nl-article-index article .text-nl-green{color:#057f68!important}.nl-reading.nl-article-index main>article{background:#f8fafc}.nl-reading.nl-article-index main>section{margin-inline:auto;max-width:1180px}.nl-reading.nl-article-index main>section:first-child{background:#13243a;border:1px solid rgba(56,217,138,.26);border-radius:1.5rem;padding:clamp(1.5rem,4vw,3rem)}.nl-reading.nl-article-index main>section:first-child :is(h1,h2,h3,p){color:var(--nl-white)!important}.nl-reading.nl-article-index main>section:first-child p{color:var(--nl-slate-300)!important}@media(max-width:760px){.nl-reading main{padding-inline:1rem!important}.nl-reading main>article,.nl-reading main>.article-content{border-radius:1rem;padding:1.25rem}.nl-reading .nl-article-door{border-radius:1rem}}
/* F10: assessment page has no <main> element, so the main-scoped re-skin
   rules above never matched (half-skinned form: white wrapper, navy-on-navy
   headings). Re-skin the form area directly: wrapper chrome removed so the
   form card is the only card; headings white; subtitles slate. */
.nl-assessment .bg-white.rounded-xl { background:transparent !important; border:none !important; box-shadow:none !important; padding:0 !important; }
.nl-assessment #assessmentForm :is(h1,h2,h3,h4) { color:var(--nl-white) !important; }
.nl-assessment #assessmentForm :is(.text-slate-600,.text-slate-500,.text-slate-700) { color:var(--nl-slate-300) !important; }
.nl-pricing-router{padding-block:clamp(4rem,8vw,7rem)!important}.nl-audit .btn-primary,.nl-audit .btn-secondary{background:var(--nl-green)!important;color:var(--nl-navy)!important}.nl-audit .bg-nl-navy .text-nl-green{color:var(--nl-green)!important}.nl-reading .nl-kicker{margin-bottom:1rem}.nl-reading .nl-article-door{margin-bottom:2.5rem}
.nl-kicker{isolation:isolate;position:relative;overflow:hidden}.nl-kicker::before{background:rgba(56,217,138,.11);content:'';inset:0;position:absolute;transform-origin:left;z-index:-1}.nl-qanda-booking{background:var(--nl-navy)!important;padding:clamp(4rem,7vw,6rem) max(1.5rem,calc((100vw - 1180px)/2))!important;text-align:left!important}.nl-qanda-booking__heading{font-size:clamp(2rem,4vw,3.6rem)!important;text-align:left!important}.nl-qanda-booking .container,.nl-qanda-booking .max-w-2xl{margin-inline:0!important;text-align:left!important}.nl-qanda-booking .flex{justify-content:flex-start!important}
.nl-button-secondary { background:transparent; border:1px solid var(--nl-green); border-radius:999px; color:var(--nl-green) !important; display:inline-block; font-size:.82rem; font-weight:900; letter-spacing:.08em; margin-top:1.5rem; padding:1rem 1.4rem; text-decoration:none; text-transform:uppercase; transition:background .2s ease,color .2s ease; }.nl-button-secondary:hover,.nl-button-secondary:focus-visible { background:var(--nl-green); color:var(--nl-navy) !important; }.nl-cta-pair { display:flex; flex-wrap:wrap; gap:.9rem; align-items:center; }
.nl-reading main>.nl-breadcrumb{color:var(--nl-slate-300)!important}.nl-reading main>.nl-breadcrumb a{color:var(--nl-green)!important}.nl-reading main>.nl-breadcrumb+div :is(h1,p,span,time){color:var(--nl-white)!important}.nl-reading main>.nl-breadcrumb+div .bg-nl-green\/10{color:var(--nl-green)!important}
.nl-kicker::before{pointer-events:none;z-index:0}

/* D213: typewriter removed site-wide. One global reveal: content renders
   complete in final layout, then fades in with a short upward drift.
   Classes are only ever added by JS, so no-JS content is always visible.
   Reduced-motion: JS never adds the run class; content appears instantly. */
.nl-reveal-pending { opacity:0; }
.nl-reveal-run { animation:nl-reveal-in var(--nl-motion-reveal) ease-out both; }
@keyframes nl-reveal-in { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .nl-reveal-run { animation:none !important; } .nl-reveal-pending { opacity:1 !important; } }
/* F5: COMMON QUESTIONS accordions sit inside the standard framed panel */
.nl-accordion--framed { background:#13243a; border:1px solid var(--nl-green); border-radius:1.5rem; padding:.25rem clamp(1.4rem,3vw,2.25rem); }
.nl-accordion--framed .nl-accordion__item:first-child { border-top:none; }
.nl-accordion--framed .nl-accordion__item:last-child { border-bottom:none; }
/* F5: Q&A topic panels carry their accordions inside the tab frame */
.nl-tabs__panels .nl-accordion { margin-top:1.25rem; max-width:none; }
/* F7: articles — single hairline directly above the footer boundary with
   standard section spacing; per-section dividers off (divider-then-void).
   Same pattern applied to the calculator (R48.34) and site map (R48.39),
   whose last-section hairlines left the same dead band. */
.nl-reading main > section::after, .nl-reading main > header::after { content:none !important; }
.calculator-page > section:last-of-type::after, .nl-sitemap > section:last-of-type::after { content:none !important; }
.nl-reading main, .calculator-page, .nl-sitemap { position:relative; }
.nl-reading main::after, .calculator-page::after, .nl-sitemap::after { background:var(--nl-section-divider); bottom:0; content:''; height:var(--nl-divider-height); left:50%; pointer-events:none; position:absolute; right:auto; transform:translateX(-50%); width:100vw; z-index:2; }
/* R48.19: single frame for pricing tabs — remove card borders inside tab panels */
.nl-tabs--pricing .nl-tabs__panels .nl-pricing-card { border:none; box-shadow:none; padding:0; }
.nl-tabs--pricing .nl-tabs__panels .nl-pricing-card:hover { border:none; box-shadow:none; transform:none; }
/* R48.24: reduce gap between pricing tabs and THE FIRST THREE MONTHS */
#pricing .nl-terms { margin-top:1rem; }
