/* 03 · Northlight Legal — estate law. White paper (cool, never cream), navy, brass; Source Serif 4.
   An editorial spread: a full-width photograph, a two-column headline, a pinned process. */
.v-nl { --bg: #ffffff; --bg2: #eef2f7; --fg: #0f1e33; --mut: #56657a; --acc: #b8892e; --edge: #d9e0ea; background: var(--bg); color: var(--fg); --btn-r: 0; --fx-pin-accent: var(--acc); --fx-step-accent: var(--acc); }
.v-nl .nl-photo { height: min(72svh, 720px); }
.v-nl .nl-photo img { filter: none; }
.v-nl .nl-caption { position: absolute; left: var(--gutter); bottom: 20px; font: italic 400 15px/1.3 "Source Serif 4", Georgia, serif; color: #fff; text-shadow: 0 1px 12px rgb(0 0 0 / 0.5); }
.v-nl .nl-in { padding-block: clamp(56px, 7vw, 100px); }
.v-nl .chapter { color: var(--fg); }
.v-nl .nl-cols { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(32px, 5vw, 96px); align-items: start; }
.v-nl h2 { font: 400 clamp(44px, 6.2vw, 96px)/1.02 "Source Serif 4", Georgia, serif; letter-spacing: -0.02em; }
.v-nl h2 span { display: block; }
.v-nl h2 em { font-style: italic; color: var(--acc); }
.v-nl .eyebrow { color: var(--acc); }
.v-nl .lede { color: var(--mut); font-family: "Source Serif 4", Georgia, serif; font-size: clamp(18px, 1.5vw, 21px); }
.v-nl .nl-cred { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 30px; font: 600 11.5px/1 var(--sans); letter-spacing: 0.24em; text-transform: uppercase; color: var(--mut); }
.v-nl .btn { background: var(--fg); color: #fff; }
.v-nl .nl-process { margin-top: clamp(56px, 8vw, 120px); --fx-step-accent: var(--acc); }
.v-nl .nl-process h3 { font: 600 clamp(24px, 2.4vw, 34px)/1.1 "Source Serif 4", Georgia, serif; }
.v-nl .nl-process p { color: var(--mut); margin-top: 8px; max-width: 48ch; }
.v-nl .nl-step-ph { margin-top: 22px; aspect-ratio: 16 / 9; }
.v-nl .nl-faq { margin-top: clamp(56px, 7vw, 96px); border-top: 1px solid var(--edge); max-width: 760px; }
.v-nl details { border-bottom: 1px solid var(--edge); }
.v-nl summary { display: flex; gap: 22px; align-items: baseline; padding: 20px 0; cursor: pointer; font: 600 18px/1.3 var(--sans); list-style: none; }
.v-nl summary::-webkit-details-marker { display: none; }
.v-nl summary span { font: 600 22px/1 "Source Serif 4", Georgia, serif; color: var(--acc); }
.v-nl details p { padding: 0 0 22px 44px; color: var(--mut); }
.v-nl .fxlist { color: var(--mut); }
@media (max-width: 900px) { .v-nl .nl-cols { grid-template-columns: 1fr; } }
