/*
 * NLCPA pricing enhancement — editorial financial-luxury design.
 * Deep evergreen surfaces, strategic gold accents, serif display type,
 * compact uppercase labels, square geometry, and restrained motion.
 */

.nlcpa-solutions {
  --nl-deep: var(--gd, #0d2418);
  --nl-ink: var(--gk, #122d1e);
  --nl-panel: var(--gm, #1a3d28);
  --nl-green: var(--gl, #2a5c3f);
  --nl-gold: var(--go, #c9a84c);
  --nl-gold-light: var(--gl2, #e2c47a);
  --nl-paper: var(--ow, #faf7f2);
  --nl-copy: var(--td, #f0e6d0);
  --nl-muted: var(--tm, #9aab9f);
  --nl-line: rgba(201, 168, 76, 0.18);
  margin-top: 46px;
  color: var(--nl-copy);
}

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

.nlcpa-section-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  color: var(--nl-gold);
  font-family: "Josefin Sans", "Poppins", sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.4;
  text-transform: uppercase;
}

.nlcpa-section-label::before {
  width: 30px;
  height: 1px;
  background: var(--nl-gold);
  content: "";
  opacity: 0.72;
}

.nlcpa-section-heading {
  max-width: 780px;
  margin: 0;
  color: var(--nl-paper);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: clamp(40px, 4.6vw, 64px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 0.94;
}

.nlcpa-section-heading em {
  color: var(--nl-gold-light);
  font-weight: 500;
}

.nlcpa-section-intro {
  max-width: 760px;
  margin: 20px 0 0;
  color: var(--nl-muted);
  font-family: "Josefin Sans", "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.015em;
  line-height: 1.75;
}

.nlcpa-package-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  margin: 30px 0 18px;
  padding: 16px 18px;
  border-left: 2px solid var(--nl-gold);
  background: rgba(201, 168, 76, 0.06);
}

.nlcpa-package-note strong {
  display: block;
  margin-bottom: 5px;
  color: var(--nl-paper);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 19px;
  font-weight: 600;
}

.nlcpa-package-note span {
  color: var(--nl-muted);
  font-size: 11px;
  letter-spacing: 0.025em;
  line-height: 1.6;
}

.nlcpa-package-note__term {
  color: var(--nl-gold-light) !important;
  font-size: 9px !important;
  font-weight: 600;
  letter-spacing: 0.14em !important;
  text-align: right;
  text-transform: uppercase;
}

.nlcpa-scope-notice {
  display: grid;
  grid-template-columns: minmax(170px, 0.28fr) minmax(0, 1fr);
  gap: 12px 28px;
  margin: 0 0 18px;
  padding: 22px 24px;
  border: 1px solid rgba(201, 168, 76, 0.3);
  border-left: 3px solid var(--nl-gold);
  background: linear-gradient(135deg, rgba(201, 168, 76, 0.11), rgba(13, 36, 24, 0.3));
}

.nlcpa-scope-notice strong {
  grid-row: 1 / span 2;
  color: var(--nl-paper);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.05;
}

.nlcpa-scope-notice p,
.nlcpa-scope-notice span {
  margin: 0;
  color: var(--nl-copy);
  font-size: 11px;
  line-height: 1.65;
}

.nlcpa-scope-notice span {
  color: var(--nl-gold-light);
  font-size: 10px;
}

.nlcpa-package-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.nlcpa-package-card {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--nl-line);
  border-top: 2px solid rgba(201, 168, 76, 0.6);
  background: linear-gradient(155deg, rgba(26, 61, 40, 0.92), rgba(13, 36, 24, 0.96));
  transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1), border-color 180ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 180ms cubic-bezier(0.23, 1, 0.32, 1);
}

.nlcpa-package-card::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 72px;
  height: 72px;
  background: linear-gradient(135deg, transparent 50%, rgba(201, 168, 76, 0.08) 50%);
  content: "";
  pointer-events: none;
}

.nlcpa-package-card:hover {
  transform: translateY(-4px);
  border-color: rgba(201, 168, 76, 0.46);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.18);
}

.nlcpa-package-card__header {
  min-height: 218px;
  padding: 28px 26px 16px;
  border-bottom: 1px solid var(--nl-line);
}

.nlcpa-package-card__index {
  display: block;
  margin-bottom: 24px;
  color: var(--nl-gold);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.nlcpa-package-card h3 {
  margin: 0;
  color: var(--nl-paper);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 29px;
  font-weight: 600;
  letter-spacing: 0.015em;
  line-height: 1;
}

.nlcpa-package-card__price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-top: 7px;
  color: var(--nl-gold-light);
}

.nlcpa-package-card__starting {
  display: block;
  margin-top: 20px;
  color: var(--nl-gold);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.nlcpa-package-card__price strong {
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 36px;
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1;
}

.nlcpa-package-card__price span {
  color: var(--nl-muted);
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.nlcpa-package-card__annual {
  margin: 9px 0 0;
  color: var(--nl-muted);
  font-size: 11px;
  letter-spacing: 0.02em;
}

.nlcpa-package-card__annual strong {
  color: var(--nl-copy);
  font-weight: 500;
}

.nlcpa-package-card__fit {
  min-height: 66px;
  margin: 14px 0 0;
  color: var(--nl-copy);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.58;
}

.nlcpa-package-card__scope-line {
  margin: 9px 0 0;
  color: var(--nl-muted);
  font-size: 9px;
  line-height: 1.5;
}

.nlcpa-package-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 15px 26px 26px;
}

.nlcpa-package-card__eyebrow {
  margin: 0 0 10px;
  color: var(--nl-gold);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.nlcpa-package-card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nlcpa-package-card li {
  position: relative;
  padding-left: 17px;
  color: var(--nl-copy);
  font-size: 12px;
  font-weight: 300;
  line-height: 1.48;
}

.nlcpa-package-card li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--nl-gold);
  content: "✓";
  font-size: 10px;
}

.nlcpa-package-card__onboarding {
  margin: 20px 0 0;
  padding-top: 14px;
  border-top: 1px solid rgba(201, 168, 76, 0.12);
  color: var(--nl-muted);
  font-size: 10px;
  letter-spacing: 0.04em;
}

.nlcpa-package-card__call-rate {
  margin: 13px 0 0;
  padding: 11px 12px;
  border-left: 2px solid rgba(201, 168, 76, 0.5);
  background: rgba(201, 168, 76, 0.055);
  color: var(--nl-muted);
  font-size: 10px;
  line-height: 1.55;
}

.nlcpa-package-card__call-rate strong {
  color: var(--nl-gold-light);
  font-weight: 600;
}

.nlcpa-package-card__comparison {
  margin: 24px -26px -2px;
  padding: 21px 26px 22px;
  border-top: 1px solid rgba(201, 168, 76, 0.14);
  border-bottom: 1px solid rgba(201, 168, 76, 0.14);
  background: rgba(201, 168, 76, 0.055);
}

.nlcpa-package-card__comparison-title {
  display: block;
  margin-bottom: 13px;
  color: var(--nl-gold);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.nlcpa-package-card__comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.nlcpa-package-card__comparison-cost {
  display: block;
  padding: 13px 14px 12px;
  border: 1px solid rgba(201, 168, 76, 0.14);
  color: var(--nl-muted);
  font-size: 10px;
  line-height: 1.42;
}

.nlcpa-package-card__comparison-cost--nlcpa {
  border-color: rgba(201, 168, 76, 0.42);
  background: rgba(201, 168, 76, 0.08);
  color: var(--nl-copy);
}

.nlcpa-package-card__comparison-cost--alternative {
  background: rgba(13, 36, 24, 0.42);
}

.nlcpa-package-card__comparison-cost strong {
  display: block;
  margin-top: 7px;
  color: var(--nl-paper);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
}

.nlcpa-package-card__comparison-cost--alternative strong {
  color: var(--nl-muted);
}

.nlcpa-package-card__savings {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 10px 0 0;
  padding: 12px 14px;
  border-left: 2px solid var(--nl-gold);
  background: rgba(201, 168, 76, 0.13);
  color: var(--nl-copy);
  font-size: 10px;
  line-height: 1.4;
}

.nlcpa-package-card__savings strong {
  color: var(--nl-gold-light);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.nlcpa-package-card__revenue-share {
  margin: 14px 0 0;
  color: var(--nl-copy);
  font-size: 10px;
  line-height: 1.5;
}

.nlcpa-package-card__revenue-share strong {
  color: var(--nl-gold-light);
  font-weight: 600;
}

.nlcpa-comparison-disclosure {
  margin: 15px 0 0;
  padding-left: 14px;
  border-left: 1px solid rgba(201, 168, 76, 0.36);
  color: var(--nl-muted);
  font-size: 8px;
  line-height: 1.6;
}

.nlcpa-package-card__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding: 18px 26px;
  border-top: 1px solid var(--nl-line);
  color: var(--nl-gold-light);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.13em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms cubic-bezier(0.23, 1, 0.32, 1), background 160ms cubic-bezier(0.23, 1, 0.32, 1);
}

.nlcpa-package-card__link:hover {
  background: rgba(201, 168, 76, 0.08);
  color: var(--nl-paper);
}

.nlcpa-package-card__link:active,
.nlcpa-button:active,
.nlcpa-reset:active {
  transform: scale(0.97);
}

.nlcpa-calculator {
  scroll-margin-top: 76px;
  margin: 72px -48px -68px;
  padding: 72px 48px 78px;
  border-top: 1px solid rgba(201, 168, 76, 0.16);
  background:
    linear-gradient(rgba(201, 168, 76, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201, 168, 76, 0.025) 1px, transparent 1px),
    var(--nl-deep);
  background-size: 42px 42px;
}

.nlcpa-calculator__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.7fr);
  gap: 50px;
  align-items: end;
  max-width: 1180px;
  margin: 0 auto;
}

.nlcpa-calculator__promise {
  padding: 19px 21px;
  border: 1px solid var(--nl-line);
  background: rgba(26, 61, 40, 0.52);
}

.nlcpa-calculator__promise strong {
  display: block;
  margin-bottom: 8px;
  color: var(--nl-paper);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 19px;
  font-weight: 600;
}

.nlcpa-calculator__promise p {
  margin: 0;
  color: var(--nl-muted);
  font-size: 10px;
  line-height: 1.65;
}

.nlcpa-calculator__included-state {
  display: inline-flex;
  margin-top: 14px;
  padding: 7px 9px 6px;
  border: 1px solid rgba(201, 168, 76, 0.34);
  color: var(--nl-gold-light);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.nlcpa-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 1180px;
  margin: 30px auto 0;
  border-top: 1px solid var(--nl-line);
  border-bottom: 1px solid var(--nl-line);
}

.nlcpa-benefit {
  min-height: 110px;
  padding: 21px 18px;
  border-right: 1px solid var(--nl-line);
}

.nlcpa-benefit:last-child {
  border-right: 0;
}

.nlcpa-benefit__number {
  display: block;
  margin-bottom: 17px;
  color: var(--nl-gold);
  font-size: 8px;
  letter-spacing: 0.15em;
}

.nlcpa-benefit strong {
  display: block;
  color: var(--nl-copy);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.15;
}

.nlcpa-calculator__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(310px, 0.62fr);
  gap: 24px;
  align-items: start;
  max-width: 1180px;
  margin: 30px auto 0;
}

.nlcpa-calculator__form {
  border: 1px solid var(--nl-line);
  background: rgba(18, 45, 30, 0.92);
}

.nlcpa-form-section {
  padding: 28px;
  border-bottom: 1px solid var(--nl-line);
}

.nlcpa-form-section:last-child {
  border-bottom: 0;
}

.nlcpa-form-section__heading {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  margin-bottom: 20px;
}

.nlcpa-form-section__step {
  display: flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(201, 168, 76, 0.5);
  color: var(--nl-gold);
  font-size: 9px;
  font-weight: 600;
}

.nlcpa-form-section h3 {
  margin: 0 0 5px;
  color: var(--nl-paper);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.1;
}

.nlcpa-form-section__heading p {
  margin: 0;
  color: var(--nl-muted);
  font-size: 9px;
  line-height: 1.55;
}

.nlcpa-radio-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.nlcpa-radio-card,
.nlcpa-check-card {
  position: relative;
  display: block;
  min-height: 100%;
  cursor: pointer;
}

.nlcpa-radio-card input,
.nlcpa-check-card input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.nlcpa-radio-card__surface,
.nlcpa-check-card__surface {
  display: flex;
  min-height: 112px;
  flex-direction: column;
  justify-content: space-between;
  padding: 16px;
  border: 1px solid rgba(201, 168, 76, 0.13);
  background: rgba(13, 36, 24, 0.54);
  transition: border-color 160ms cubic-bezier(0.23, 1, 0.32, 1), background 160ms cubic-bezier(0.23, 1, 0.32, 1), transform 160ms cubic-bezier(0.23, 1, 0.32, 1);
}

.nlcpa-radio-card input:checked + .nlcpa-radio-card__surface,
.nlcpa-check-card input:checked + .nlcpa-check-card__surface {
  border-color: var(--nl-gold);
  background: rgba(201, 168, 76, 0.1);
}

.nlcpa-radio-card input:focus-visible + .nlcpa-radio-card__surface,
.nlcpa-check-card input:focus-visible + .nlcpa-check-card__surface,
.nlcpa-quantity input:focus-visible,
.nlcpa-reset:focus-visible,
.nlcpa-button:focus-visible {
  outline: 2px solid var(--nl-gold-light);
  outline-offset: 2px;
}

.nlcpa-radio-card__title,
.nlcpa-check-card__title {
  color: var(--nl-copy);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.45;
}

.nlcpa-radio-card__note {
  display: block;
  margin-top: 9px;
  color: var(--nl-muted);
  font-size: 8px;
  font-weight: 300;
  line-height: 1.5;
}

.nlcpa-scope-grid .nlcpa-radio-card__surface {
  min-height: 128px;
}

.nlcpa-scope-grid .nlcpa-radio-card__price {
  font-family: "Josefin Sans", "Poppins", sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.nlcpa-form-section[hidden],
.nlcpa-check-card[hidden] {
  display: none !important;
}

.nlcpa-state-inclusion {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-left: 2px solid var(--nl-gold);
  background: rgba(201, 168, 76, 0.055);
  color: var(--nl-copy);
  font-size: 9px;
  line-height: 1.55;
}

.nlcpa-state-inclusion strong {
  color: var(--nl-gold-light);
  font-weight: 600;
}

.nlcpa-radio-card__price,
.nlcpa-check-card__price {
  margin-top: 14px;
  color: var(--nl-gold-light);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 20px;
  font-weight: 600;
}

.nlcpa-input-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.nlcpa-quantity,
.nlcpa-toggle-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  min-height: 76px;
  padding: 14px 15px;
  border: 1px solid rgba(201, 168, 76, 0.12);
  background: rgba(13, 36, 24, 0.4);
}

.nlcpa-quantity label,
.nlcpa-toggle-row label {
  display: block;
  color: var(--nl-copy);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.35;
}

.nlcpa-quantity small,
.nlcpa-toggle-row small {
  display: block;
  margin-top: 5px;
  color: var(--nl-muted);
  font-size: 8px;
  font-weight: 300;
  line-height: 1.45;
}

.nlcpa-quantity input {
  width: 62px;
  height: 38px;
  border: 1px solid rgba(201, 168, 76, 0.28);
  border-radius: 0;
  background: var(--nl-deep);
  color: var(--nl-paper);
  font: 500 12px/1 "Josefin Sans", "Poppins", sans-serif;
  text-align: center;
}

.nlcpa-toggle-row input {
  width: 18px;
  height: 18px;
  accent-color: var(--nl-gold);
}

.nlcpa-planning-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.nlcpa-check-card__surface {
  min-height: 104px;
}

.nlcpa-summary {
  position: sticky;
  top: 80px;
  overflow: hidden;
  border: 1px solid rgba(201, 168, 76, 0.35);
  background: var(--nl-ink);
  box-shadow: 0 22px 44px rgba(0, 0, 0, 0.16);
}

.nlcpa-summary__header {
  padding: 25px 24px 22px;
  border-bottom: 1px solid var(--nl-line);
  background: linear-gradient(145deg, rgba(42, 92, 63, 0.5), rgba(13, 36, 24, 0.72));
}

.nlcpa-summary__eyebrow {
  display: block;
  margin-bottom: 15px;
  color: var(--nl-gold);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.nlcpa-summary__total {
  color: var(--nl-paper);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 48px;
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1;
}

.nlcpa-summary__qualifier {
  margin-top: 8px;
  color: var(--nl-muted);
  font-size: 9px;
  line-height: 1.5;
}

.nlcpa-summary__body {
  padding: 21px 24px;
}

.nlcpa-summary__empty {
  margin: 0;
  color: var(--nl-muted);
  font-size: 10px;
  line-height: 1.6;
}

.nlcpa-summary__items {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nlcpa-summary__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: baseline;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(201, 168, 76, 0.1);
  color: var(--nl-copy);
  font-size: 9px;
  line-height: 1.45;
}

.nlcpa-summary__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.nlcpa-summary__item strong {
  color: var(--nl-gold-light);
  font-size: 10px;
  font-weight: 500;
  white-space: nowrap;
}

.nlcpa-summary__item--discount {
  padding: 10px 11px;
  border: 1px solid rgba(201, 168, 76, 0.26);
  background: rgba(201, 168, 76, 0.08);
  color: var(--nl-gold-light);
  font-weight: 500;
}

.nlcpa-summary__item--discount strong {
  color: var(--nl-gold-light);
  font-weight: 600;
}

.nlcpa-summary__included {
  margin: 0 24px;
  padding: 17px 0;
  border-top: 1px solid var(--nl-line);
  border-bottom: 1px solid var(--nl-line);
}

.nlcpa-summary__included strong {
  display: block;
  margin-bottom: 8px;
  color: var(--nl-paper);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 16px;
  font-weight: 600;
}

.nlcpa-summary__included p {
  margin: 0;
  color: var(--nl-muted);
  font-size: 8px;
  line-height: 1.6;
}

.nlcpa-summary__actions {
  display: grid;
  gap: 9px;
  padding: 22px 24px 24px;
}

.nlcpa-button,
.nlcpa-reset {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nl-gold);
  border-radius: 0;
  font-family: "Josefin Sans", "Poppins", sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.13em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 150ms cubic-bezier(0.23, 1, 0.32, 1), background 150ms cubic-bezier(0.23, 1, 0.32, 1), color 150ms cubic-bezier(0.23, 1, 0.32, 1);
}

.nlcpa-button {
  background: var(--nl-gold);
  color: var(--nl-deep);
}

.nlcpa-button:hover {
  background: var(--nl-gold-light);
}

.nlcpa-reset {
  background: transparent;
  color: var(--nl-gold-light);
  cursor: pointer;
}

.nlcpa-reset:hover {
  background: rgba(201, 168, 76, 0.08);
  color: var(--nl-paper);
}

.nlcpa-disclaimer {
  max-width: 1180px;
  margin: 22px auto 0;
  padding-left: 16px;
  border-left: 1px solid rgba(201, 168, 76, 0.42);
  color: var(--nl-muted);
  font-size: 8px;
  line-height: 1.65;
}

@media (max-width: 1120px) {
  .nlcpa-package-card__fit {
    min-height: 72px;
  }

  .nlcpa-calculator__layout {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
}

@media (max-width: 820px) {
  .nlcpa-package-note,
  .nlcpa-scope-notice,
  .nlcpa-calculator__header,
  .nlcpa-calculator__layout {
    grid-template-columns: 1fr;
  }

  .nlcpa-scope-notice strong {
    grid-row: auto;
  }

  .nlcpa-package-note__term {
    text-align: left;
  }

  .nlcpa-summary {
    position: relative;
    top: auto;
  }
}

@media (max-width: 768px) {
  .nlcpa-solutions {
    margin-top: 34px;
  }

  .nlcpa-section-heading {
    font-size: 34px;
    line-height: 1.02;
  }

  .nlcpa-section-intro {
    font-size: 12px;
    line-height: 1.7;
  }

  .nlcpa-package-grid,
  .nlcpa-input-grid,
  .nlcpa-radio-grid,
  .nlcpa-planning-grid {
    grid-template-columns: 1fr;
  }

  .nlcpa-package-card__header {
    min-height: auto;
    padding: 22px 20px 18px;
  }

  .nlcpa-scope-notice {
    padding: 19px 18px;
  }

  .nlcpa-package-card__body {
    padding: 20px;
  }

  .nlcpa-package-card__comparison {
    margin-right: -20px;
    margin-left: -20px;
    padding-right: 20px;
    padding-left: 20px;
  }

  .nlcpa-package-card__link {
    padding-right: 20px;
    padding-left: 20px;
  }

  .nlcpa-package-card__fit {
    min-height: auto;
  }

  .nlcpa-calculator {
    margin: 54px -20px -48px;
    padding: 54px 20px 60px;
    background-size: 32px 32px;
  }

  .nlcpa-calculator__header {
    gap: 24px;
  }

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

  .nlcpa-benefit:nth-child(2) {
    border-right: 0;
  }

  .nlcpa-benefit:nth-child(-n + 2) {
    border-bottom: 1px solid var(--nl-line);
  }

  .nlcpa-form-section {
    padding: 23px 18px;
  }

  .nlcpa-radio-card__surface,
  .nlcpa-check-card__surface {
    min-height: 90px;
  }

  .nlcpa-summary__total {
    font-size: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nlcpa-package-card,
  .nlcpa-package-card__link,
  .nlcpa-button,
  .nlcpa-reset,
  .nlcpa-radio-card__surface,
  .nlcpa-check-card__surface {
    transition: none;
  }
}

/* Who We Serve page and the concise homepage bridge follow the same editorial
 * financial-luxury system while giving the core homepage more narrative space. */
.nlcpa-home-bridge {
  margin-top: 0;
  padding-top: 2px;
  font-family: "Josefin Sans", sans-serif;
}

.nlcpa-home-bridge__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.nlcpa-home-bridge__card {
  display: flex;
  min-height: 235px;
  flex-direction: column;
  padding: 30px;
  border: 1px solid rgba(201, 168, 76, 0.22);
  border-top: 2px solid rgba(201, 168, 76, 0.7);
  background: linear-gradient(145deg, rgba(26, 61, 40, 0.92), rgba(13, 36, 24, 0.96));
  color: var(--td, #f0e6d0);
  text-decoration: none;
  transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1), border-color 180ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 180ms cubic-bezier(0.23, 1, 0.32, 1);
}

.nlcpa-home-bridge__card:hover {
  transform: translateY(-4px);
  border-color: rgba(201, 168, 76, 0.52);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.18);
}

.nlcpa-home-bridge__card:focus-visible {
  outline: 2px solid var(--gl2, #e2c47a);
  outline-offset: 3px;
}

.nlcpa-home-bridge__index {
  color: var(--go, #c9a84c);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.nlcpa-home-bridge__card h3 {
  margin: 30px 0 12px;
  color: var(--ow, #faf7f2);
  font-family: "Cormorant Garamond", serif;
  font-size: 34px;
  font-weight: 500;
  line-height: 1;
}

.nlcpa-home-bridge__card p {
  max-width: 480px;
  margin: 0;
  color: var(--tm, #9aab9f);
  font-family: "Josefin Sans", sans-serif;
  font-size: 12px;
  line-height: 1.7;
}

.nlcpa-home-bridge__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 24px;
  color: var(--gl2, #e2c47a);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.nlcpa-who-page {
  --gd: #0d2418;
  --gk: #122d1e;
  --gm: #1a3d28;
  --gl: #2a5c3f;
  --go: #c9a84c;
  --gl2: #e2c47a;
  --ow: #faf7f2;
  --td: #f0e6d0;
  --tm: #9aab9f;
  min-height: 100vh;
  background: var(--gd);
  color: var(--td);
  font-family: "Josefin Sans", "Poppins", sans-serif;
}

.nlcpa-who-nav {
  position: sticky;
  z-index: 300;
  top: 0;
  display: flex;
  height: 66px;
  align-items: center;
  justify-content: space-between;
  padding: 0 48px;
  border-bottom: 1px solid rgba(201, 168, 76, 0.22);
  background: rgba(13, 36, 24, 0.96);
  backdrop-filter: blur(14px);
}

.nlcpa-who-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--gl2);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 22px;
  font-weight: 600;
  text-decoration: none;
}

.nlcpa-who-brand img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.nlcpa-who-nav__links {
  display: flex;
  align-items: center;
  gap: 28px;
}

.nlcpa-who-nav__links a {
  color: var(--tm);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.13em;
  text-decoration: none;
  text-transform: uppercase;
}

.nlcpa-who-nav__links a:hover {
  color: var(--gl2);
}

.nlcpa-who-nav__cta {
  padding: 11px 18px;
  border: 1px solid rgba(201, 168, 76, 0.72);
  color: var(--gl2) !important;
}

.nlcpa-who-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.7fr);
  gap: 64px;
  align-items: end;
  max-width: 1280px;
  margin: 0 auto;
  padding: 104px 48px 74px;
}

.nlcpa-who-hero h1 {
  max-width: 820px;
  margin: 0;
  color: var(--ow);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: clamp(56px, 7vw, 96px);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 0.88;
}

.nlcpa-who-hero h1 em {
  color: var(--gl2);
  font-weight: 500;
}

.nlcpa-who-hero__aside {
  padding: 24px 0 4px 24px;
  border-left: 1px solid rgba(201, 168, 76, 0.48);
}

.nlcpa-who-hero__aside p {
  margin: 0;
  color: var(--tm);
  font-size: 12px;
  line-height: 1.8;
}

.nlcpa-who-audiences {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 1184px;
  margin: 0 auto;
  border-top: 1px solid rgba(201, 168, 76, 0.2);
  border-bottom: 1px solid rgba(201, 168, 76, 0.2);
}

.nlcpa-who-audiences a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 26px 24px;
  color: var(--td);
  text-decoration: none;
}

.nlcpa-who-audiences a + a {
  border-left: 1px solid rgba(201, 168, 76, 0.2);
}

.nlcpa-who-audiences__number {
  color: var(--go);
  font-size: 9px;
  letter-spacing: 0.14em;
}

.nlcpa-who-audiences strong {
  display: block;
  color: var(--ow);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 24px;
  font-weight: 600;
}

.nlcpa-who-audiences small {
  display: block;
  margin-top: 3px;
  color: var(--tm);
  font-size: 9px;
  line-height: 1.5;
}

.nlcpa-who-audiences__arrow {
  color: var(--gl2);
  font-size: 18px;
}

.nlcpa-who-audiences--hub a:nth-child(n + 3) {
  border-top: 1px solid rgba(201, 168, 76, 0.2);
}

.nlcpa-who-audiences--hub a:nth-child(odd) {
  border-left: 0;
}

.nlcpa-who-audiences--hub a:nth-child(even) {
  border-left: 1px solid rgba(201, 168, 76, 0.2);
}

.nlcpa-hub-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  max-width: 1184px;
  margin: 70px auto 82px;
  padding: 26px 24px;
  border-left: 2px solid var(--go);
  background: rgba(201, 168, 76, 0.06);
}

.nlcpa-hub-note span {
  color: var(--ow);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 24px;
  font-weight: 600;
}

.nlcpa-hub-note p {
  margin: 0;
  color: var(--tm);
  font-size: 10px;
  line-height: 1.65;
}

.nlcpa-hub-note a,
.nlcpa-back-link {
  color: var(--gl2);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
}

.nlcpa-who-main {
  max-width: 1280px;
  margin: 0 auto;
  padding: 62px 48px 0;
}

.nlcpa-who-hero--detail {
  padding-bottom: 54px;
}

.nlcpa-who-hero--detail h1 {
  font-size: clamp(52px, 6.2vw, 84px);
}

.nlcpa-back-link {
  display: inline-block;
  margin-top: 18px;
}

.nlcpa-who-main--detail {
  padding-top: 30px;
}

.nlcpa-tax-only {
  margin-top: 0;
}

.nlcpa-tax-only .nlcpa-calculator--standalone {
  margin-top: 0;
}

.nlcpa-combined-discount {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-left: 2px solid var(--nl-gold);
  background: rgba(201, 168, 76, 0.07);
  color: var(--nl-muted);
  font-size: 9px;
  line-height: 1.55;
}

.nlcpa-combined-discount strong {
  color: var(--nl-gold-light);
  font-weight: 600;
}

.nlcpa-offer-section {
  --nl-deep: var(--gd, #0d2418);
  --nl-ink: var(--gk, #122d1e);
  --nl-panel: var(--gm, #1a3d28);
  --nl-gold: var(--go, #c9a84c);
  --nl-gold-light: var(--gl2, #e2c47a);
  --nl-paper: var(--ow, #faf7f2);
  --nl-copy: var(--td, #f0e6d0);
  --nl-muted: var(--tm, #9aab9f);
  --nl-line: rgba(201, 168, 76, 0.18);
  color: var(--nl-copy);
}

.nlcpa-offer-section *,
.nlcpa-offer-section *::before,
.nlcpa-offer-section *::after {
  box-sizing: border-box;
}

.nlcpa-offer-section__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.55fr);
  gap: 50px;
  align-items: end;
  margin-bottom: 32px;
}

.nlcpa-offer-section__intro .nlcpa-section-label {
  grid-column: 1 / -1;
  margin-bottom: -28px;
}

.nlcpa-offer-section__intro h2 {
  max-width: 760px;
  margin: 0;
  color: var(--nl-paper);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 0.94;
}

.nlcpa-offer-section__intro h2 em {
  color: var(--nl-gold-light);
  font-weight: 500;
}

.nlcpa-offer-section__intro > p {
  margin: 0;
  padding-left: 22px;
  border-left: 1px solid rgba(201, 168, 76, 0.42);
  color: var(--nl-muted);
  font-size: 11px;
  line-height: 1.75;
}

.nlcpa-offer-grid,
.nlcpa-offer-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.nlcpa-offer-layout {
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.65fr);
  align-items: stretch;
}

.nlcpa-offer-card,
.nlcpa-offer-aside {
  padding: 32px;
  border: 1px solid var(--nl-line);
  border-top: 2px solid rgba(201, 168, 76, 0.62);
  background: linear-gradient(150deg, rgba(26, 61, 40, 0.92), rgba(13, 36, 24, 0.96));
}

.nlcpa-offer-card {
  display: flex;
  flex-direction: column;
}

.nlcpa-offer-card__eyebrow {
  color: var(--nl-gold);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.nlcpa-offer-card h3,
.nlcpa-offer-aside h3 {
  margin: 24px 0 0;
  color: var(--nl-paper);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1;
}

.nlcpa-offer-card__price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 22px;
}

.nlcpa-offer-card__price strong {
  color: var(--nl-gold-light);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 44px;
  font-weight: 500;
  line-height: 1;
}

.nlcpa-offer-card__price span {
  color: var(--nl-muted);
  font-size: 9px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.nlcpa-offer-card__summary,
.nlcpa-offer-aside p {
  margin: 18px 0 0;
  color: var(--nl-muted);
  font-size: 11px;
  line-height: 1.7;
}

.nlcpa-offer-card__included {
  margin: 27px 0 12px;
  color: var(--nl-gold);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.nlcpa-offer-card ul {
  display: grid;
  gap: 11px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.nlcpa-offer-card li {
  position: relative;
  padding-left: 18px;
  color: var(--nl-copy);
  font-size: 11px;
  line-height: 1.5;
}

.nlcpa-offer-card li::before {
  position: absolute;
  left: 0;
  color: var(--nl-gold);
  content: "✓";
}

.nlcpa-offer-card .nlcpa-button {
  margin-top: auto;
}

.nlcpa-offer-aside__number {
  color: var(--nl-gold);
  font-size: 9px;
  letter-spacing: 0.16em;
}

.nlcpa-offer-exclusion {
  margin-top: 28px;
  padding: 18px;
  border-left: 2px solid var(--nl-gold);
  background: rgba(201, 168, 76, 0.08);
}

.nlcpa-offer-exclusion strong,
.nlcpa-offer-exclusion span {
  display: block;
}

.nlcpa-offer-exclusion strong {
  color: var(--nl-paper);
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: 20px;
  font-weight: 600;
}

.nlcpa-offer-exclusion span,
.nlcpa-offer-scope,
.nlcpa-offer-disclaimer {
  margin-top: 9px;
  color: var(--nl-muted);
  font-size: 9px;
  line-height: 1.65;
}

.nlcpa-offer-disclaimer {
  margin: 18px 0 0;
  padding-left: 15px;
  border-left: 1px solid rgba(201, 168, 76, 0.4);
}

/* Team portraits and cards preserve the restored homepage styling while keeping
 * all five professionals in one readable desktop row. */
.nlcpa-team-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.nlcpa-team-card {
  min-width: 0;
  padding: 18px 14px !important;
}

.nlcpa-team-portrait {
  width: 96px !important;
  height: 96px !important;
  margin-bottom: 13px !important;
}

.nlcpa-team-card [data-loc$=":2614"] {
  min-height: 34px;
  font-size: 12px !important;
  line-height: 1.3;
}

.nlcpa-team-card [data-loc$=":2621"] {
  min-height: 28px;
  line-height: 1.45;
}

.nlcpa-team-card [data-loc$=":2628"] {
  font-size: 10px !important;
  line-height: 1.62 !important;
}

@media (max-width: 1099px) {
  .nlcpa-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .nlcpa-team-grid {
    grid-template-columns: 1fr !important;
  }

  .nlcpa-team-card {
    padding: 22px 20px !important;
  }

  .nlcpa-team-portrait {
    width: 110px !important;
    height: 110px !important;
  }
}

.nlcpa-who-main #business-owners {
  scroll-margin-top: 88px;
}

.nlcpa-anchor-alias {
  display: block;
  position: relative;
  top: -82px;
  visibility: hidden;
}

.nlcpa-who-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1280px;
  margin: 0 auto;
  padding: 34px 48px;
  border-top: 1px solid rgba(201, 168, 76, 0.18);
  color: var(--tm);
  font-size: 9px;
  line-height: 1.6;
}

.nlcpa-who-footer__links {
  display: flex;
  gap: 20px;
}

.nlcpa-who-footer a {
  color: var(--gl2);
  text-decoration: none;
}

@media (max-width: 820px) {
  .nlcpa-who-nav {
    height: auto;
    min-height: 60px;
    padding: 12px 20px;
  }

  .nlcpa-who-nav__links a:not(.nlcpa-who-nav__cta) {
    display: none;
  }

  .nlcpa-who-hero {
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 70px 24px 48px;
  }

  .nlcpa-who-hero h1 {
    font-size: clamp(50px, 15vw, 70px);
  }

  .nlcpa-who-audiences {
    grid-template-columns: 1fr;
    margin: 0 24px;
  }

  .nlcpa-who-audiences a + a {
    border-top: 1px solid rgba(201, 168, 76, 0.2);
    border-left: 0;
  }

  .nlcpa-who-audiences--hub a:nth-child(even) {
    border-left: 0;
  }

  .nlcpa-hub-note,
  .nlcpa-offer-section__intro,
  .nlcpa-offer-grid,
  .nlcpa-offer-layout {
    grid-template-columns: 1fr;
  }

  .nlcpa-hub-note {
    margin: 48px 24px 60px;
  }

  .nlcpa-hub-note a {
    justify-self: start;
  }

  .nlcpa-offer-section__intro .nlcpa-section-label {
    margin-bottom: -16px;
  }

  .nlcpa-offer-section__intro > p {
    padding-left: 16px;
  }

  .nlcpa-who-main {
    padding: 48px 20px 0;
  }

  .nlcpa-who-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
    padding: 28px 24px;
  }

  .nlcpa-home-bridge__grid {
    grid-template-columns: 1fr;
  }

  .nlcpa-home-bridge__card {
    min-height: 230px;
    padding: 24px;
  }

  .nlcpa-offer-card,
  .nlcpa-offer-aside {
    padding: 25px 22px;
  }
}

/* Contact page enhancements keep the hosted booking experience reachable while
 * preserving the restored page's restrained gold-on-dark visual language. */
.nlcpa-contact-back {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 24px;
  padding: 10px 14px;
  border: 1px solid rgba(201, 168, 76, 0.44);
  color: var(--gl2, #e2c47a);
  font-family: "Josefin Sans", sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 160ms cubic-bezier(0.23, 1, 0.32, 1), color 160ms cubic-bezier(0.23, 1, 0.32, 1), transform 160ms cubic-bezier(0.23, 1, 0.32, 1);
}

.nlcpa-contact-back:hover {
  background: var(--go, #c9a84c);
  color: var(--gd, #0d2418);
}

.nlcpa-contact-back:active {
  transform: scale(0.97);
}

.nlcpa-contact-back:focus-visible {
  outline: 2px solid var(--gl2, #e2c47a);
  outline-offset: 3px;
}

.nlcpa-contact-booking-shell {
  overflow: visible !important;
}

.nlcpa-contact-booking-frame {
  display: block;
  width: 100% !important;
  height: clamp(650px, 76vh, 900px) !important;
  min-height: 650px !important;
  overflow: auto !important;
  overscroll-behavior: contain;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 720px) {
  .nlcpa-contact-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
  }

  .nlcpa-contact-booking-column {
    order: 1;
    width: 100% !important;
  }

  .nlcpa-contact-map-column {
    order: 2;
    width: 100% !important;
  }

  .nlcpa-contact-back {
    margin-bottom: 18px;
  }

  .nlcpa-contact-booking-frame {
    height: 72vh !important;
    min-height: 580px !important;
  }
}

/* Coordinated solutions cleanup: quieter comparisons, bottom-page terms, and
 * compact editorial page introductions using the homepage type system. */
.nlcpa-package-card__comparison {
  margin: 20px -26px -2px;
  padding: 17px 26px 18px;
  background: rgba(201, 168, 76, 0.028);
}

.nlcpa-package-card__comparison-cost {
  padding: 10px 11px;
}

.nlcpa-package-card__comparison-cost strong,
.nlcpa-package-card__savings strong {
  font-size: 18px;
}

.nlcpa-package-card__savings {
  padding: 9px 11px;
  border-left-width: 1px;
  background: rgba(201, 168, 76, 0.055);
}

.nlcpa-package-footnotes,
.nlcpa-offer-footnotes {
  display: grid;
  gap: 7px;
  margin: 18px 0 0;
  padding: 16px 18px;
  border-top: 1px solid rgba(201, 168, 76, 0.2);
  background: rgba(13, 36, 24, 0.32);
}

.nlcpa-package-footnotes p,
.nlcpa-offer-footnotes p {
  margin: 0;
  color: var(--nl-muted, var(--tm, #9aab9f));
  font-family: "Josefin Sans", "Poppins", sans-serif;
  font-size: 8px;
  line-height: 1.65;
}

.nlcpa-package-footnotes strong,
.nlcpa-offer-footnotes strong,
.nlcpa-package-footnotes sup,
.nlcpa-offer-footnotes sup {
  color: var(--nl-gold-light, var(--gl2, #e2c47a));
  font-weight: 600;
}

.nlcpa-who-hero--compact {
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.nlcpa-who-hero--compact .nlcpa-who-hero__aside {
  max-width: 820px;
  padding: 0;
  border-left: 0;
}

.nlcpa-offer-section__intro--compact {
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
}

.nlcpa-offer-section__intro--compact .nlcpa-section-label {
  margin-bottom: -6px;
}

.nlcpa-offer-layout--single {
  grid-template-columns: minmax(0, 820px);
}

.nlcpa-calculator__header--compact {
  grid-template-columns: minmax(0, 1fr);
}

.nlcpa-benefits {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.nlcpa-radio-card__asterisk,
.nlcpa-check-card__note {
  display: block;
  margin-top: 9px;
  color: var(--nl-gold-light);
  font-family: "Josefin Sans", "Poppins", sans-serif;
  font-size: 8px;
  font-weight: 500;
  line-height: 1.5;
}

.nlcpa-check-card__note {
  color: var(--nl-muted);
  font-weight: 300;
}

.nlcpa-who-page .nlcpa-section-heading,
.nlcpa-who-page .nlcpa-offer-section__intro h2,
.nlcpa-who-page .nlcpa-form-section h3,
.nlcpa-who-page .nlcpa-offer-card h3 {
  font-family: "Cormorant Garamond", "Playfair Display", serif;
}

.nlcpa-who-page .nlcpa-section-intro,
.nlcpa-who-page .nlcpa-form-section__heading p,
.nlcpa-who-page .nlcpa-offer-card__summary,
.nlcpa-who-page .nlcpa-offer-card li {
  font-family: "Josefin Sans", "Poppins", sans-serif;
}

@media (max-width: 960px) {
  .nlcpa-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nlcpa-benefit:nth-child(3) {
    border-right: 0;
  }

  .nlcpa-benefit:nth-child(n + 4) {
    border-top: 1px solid var(--nl-line);
  }
}

@media (max-width: 620px) {
  .nlcpa-benefits {
    grid-template-columns: 1fr;
  }

  .nlcpa-benefit,
  .nlcpa-benefit:nth-child(3) {
    min-height: 0;
    border-top: 1px solid var(--nl-line);
    border-right: 0;
  }

  .nlcpa-benefit:first-child {
    border-top: 0;
  }
}

/* Real Estate Investors and monthly-package refinement: the featured STR offer
 * remains concrete while broader planning is consultation-led; package cards
 * use aligned internal rhythm for faster side-by-side comparison. */
.nlcpa-package-grid {
  gap: 24px;
}

.nlcpa-package-card__header {
  min-height: 242px;
  padding: 30px 28px 22px;
}

.nlcpa-package-card__index {
  margin-bottom: 18px;
}

.nlcpa-package-card h3 {
  font-size: 32px;
}

.nlcpa-package-card__price strong {
  font-size: 40px;
}

.nlcpa-package-card__fit {
  min-height: 62px;
  margin-top: 16px;
}

.nlcpa-package-card__body {
  padding: 20px 28px 28px;
}

.nlcpa-package-card__eyebrow {
  margin-bottom: 12px;
}

.nlcpa-package-card ul {
  gap: 11px;
}

.nlcpa-package-card li {
  font-size: 12.5px;
}

.nlcpa-package-card__onboarding {
  margin-top: auto;
}

.nlcpa-package-card__comparison {
  margin: 18px -28px -2px;
  padding: 17px 28px 18px;
}

.nlcpa-package-card__comparison-cost strong,
.nlcpa-package-card__savings strong {
  font-size: 18px;
}

.nlcpa-package-card__revenue-share {
  margin-top: 10px;
  font-size: 9px;
}

.nlcpa-rei-consultation {
  display: flex;
  flex-direction: column;
}

.nlcpa-rei-topics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 25px 0 0;
  border-top: 1px solid rgba(201, 168, 76, 0.18);
  border-left: 1px solid rgba(201, 168, 76, 0.18);
}

.nlcpa-rei-topics span {
  min-height: 56px;
  padding: 13px 14px;
  border-right: 1px solid rgba(201, 168, 76, 0.18);
  border-bottom: 1px solid rgba(201, 168, 76, 0.18);
  color: var(--nl-copy);
  font-size: 10px;
  line-height: 1.5;
}

.nlcpa-rei-consultation__note {
  padding-left: 14px;
  border-left: 1px solid rgba(201, 168, 76, 0.42);
  font-size: 9px !important;
}

.nlcpa-rei-consultation .nlcpa-button {
  margin-top: auto;
}

.nlcpa-button--outline {
  border: 1px solid rgba(201, 168, 76, 0.55);
  background: transparent;
  color: var(--nl-gold-light);
}

.nlcpa-button--outline:hover {
  background: rgba(201, 168, 76, 0.1);
  color: var(--nl-paper);
}

@media (max-width: 820px) {
  .nlcpa-rei-topics {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .nlcpa-package-grid {
    gap: 18px;
  }

  .nlcpa-package-card__header {
    min-height: auto;
    padding: 24px 20px 20px;
  }

  .nlcpa-package-card__body {
    padding: 20px;
  }

  .nlcpa-package-card__onboarding {
    margin-top: 20px;
  }

  .nlcpa-package-card__comparison {
    margin-right: -20px;
    margin-left: -20px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

/* Business Owners heading correction: preserve the established display face,
 * disable the problematic fi ligature, and keep the card border clear of the
 * heading descenders at both desktop and mobile sizes. */
#root[data-nlcpa-custom-page="business-owners"] .nlcpa-who-hero h1,
#root[data-nlcpa-custom-page="business-owners"] .nlcpa-section-heading {
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0, "clig" 0;
  letter-spacing: -0.025em;
}

#root[data-nlcpa-custom-page="business-owners"] .nlcpa-finance-word {
  white-space: nowrap;
}

#root[data-nlcpa-custom-page="business-owners"] .nlcpa-finance-word > span {
  display: inline-block;
}

#root[data-nlcpa-custom-page="business-owners"] .nlcpa-finance-i {
  margin-left: 0.075em;
}

#root[data-nlcpa-custom-page="business-owners"] .nlcpa-section-heading {
  margin-bottom: 34px;
  line-height: 0.98;
}

@media (max-width: 768px) {
  #root[data-nlcpa-custom-page="business-owners"] .nlcpa-section-heading {
    margin-bottom: 26px;
    line-height: 1;
  }
}
