/* NetConcierge tier price cards - shared by netconcierge.html and the pages that promote it. */
.nc-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 22px; text-align: center; }
.nc-tier { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.nc-tier__head { background: var(--navy-900); color: #fff; font-family: var(--font-brand); font-weight: 800; font-size: 1.05rem; padding: 12px 8px; }
.section--dark .nc-tier__head, .page-hero .nc-tier__head { background: var(--navy-700); }
.nc-tier__body { padding: 16px 8px 18px; color: var(--ink); }
.nc-tier__price { font-family: var(--font-brand); font-weight: 800; font-size: 2.1rem; line-height: 1; color: var(--navy-900); }
.nc-tier__price sup { font-size: 0.95rem; vertical-align: super; margin-right: 2px; font-weight: 800; }
.nc-tier__rule { width: 46px; height: 3px; background: var(--gold); border-radius: 2px; margin: 12px auto; }
.nc-tier__after { margin: 0 !important; max-width: none !important; font-size: 0.82rem; line-height: 1.35; color: var(--ink-soft); }
.nc-tier__after strong { color: var(--navy-900); }
.nc-tiers__note { margin-top: 12px; font-size: 0.88rem; text-align: center; max-width: none; color: var(--ink-soft); }
.section--dark .nc-tiers__note { color: var(--navy-100); }
@media (max-width: 420px) {
  .nc-tiers { gap: 8px; }
  .nc-tier__price { font-size: 1.6rem; }
  .nc-tier__head { font-size: 0.92rem; }
}

/* Pricing section: the appliance photo fills a band at the top of the section, behind the
   heading area (white drops out via multiply so it sits on the section color). The extra top
   padding is the image height (width x 0.208) plus breathing room, so no text overlaps it. */
.nc-pricing-bg { position: relative; isolation: isolate; padding-top: calc(min(980px, 94%) * 0.208 + 84px); }
.nc-pricing-bg::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: url('/assets/img/netconcierge-appliance.jpg?v=3') no-repeat center 36px / min(980px, 94%) auto;
  mix-blend-mode: multiply; }

/* Feature cards: same navy-header / white-body style as the tier cards. */
.nc-feature { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; text-align: center; }
.nc-feature__head { background: var(--navy-900); padding: 14px 16px; min-height: 76px; display: flex; align-items: center; justify-content: center; }
.nc-feature__head h3 { color: #fff; margin: 0; font-size: 1.05rem; line-height: 1.3; }
.nc-feature__body { padding: 8px 20px 24px; flex: 1; }
.nc-feature__body .nc-tier__rule { margin: 14px auto; }
.nc-feature__body p { margin: 0; color: var(--ink-soft); }

.nc-tier__model { display: block; margin-top: 2px; font-size: 0.74rem; font-weight: 600; letter-spacing: 0.08em; opacity: 0.8; }

/* Expandable technical specifications under the pricing table */
.nc-tech { margin-top: 18px; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 0 18px; }
.nc-tech summary { cursor: pointer; font-weight: 700; color: var(--navy-900); padding: 14px 0; list-style: none; display: flex; align-items: center; justify-content: space-between; }
.nc-tech summary::-webkit-details-marker { display: none; }
.nc-tech summary::after { content: "+"; font-size: 1.4rem; line-height: 1; color: var(--gold-dark); }
.nc-tech[open] summary::after { content: "\2212"; }
.nc-tech[open] { padding-bottom: 16px; }

/* Cost comparison highlight row */
table.pricing tr.nc-savings td { background: rgba(217, 148, 0, 0.14); font-size: 1.05rem; }

/* "Not sure" checkbox under optional form fields */
.form .nc-notsure { display: flex; align-items: center; gap: 8px; font-weight: 400; font-size: 0.88rem; margin-top: 6px; }
.form .nc-notsure input { width: auto; margin: 0; }

/* Product screenshots (each figure stays hidden until its image exists) */
.nc-shots { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; margin-top: 32px; }
.nc-shot { margin: 0; flex: 0 1 calc(50% - 12px); min-width: 280px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.nc-shot[hidden] { display: none; }
.nc-shot img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #fff; }
.nc-shot--wide { flex-basis: 100%; max-width: 760px; }
.nc-shot--wide img { aspect-ratio: auto; }
.nc-shot figcaption { padding: 14px 16px 18px; color: var(--navy-100); font-size: 0.92rem; line-height: 1.4; }
.nc-shot figcaption strong { display: block; color: #fff; font-size: 1rem; margin-bottom: 4px; }

.nc-shot__link { display: block; cursor: zoom-in; }

/* Professional column highlight and installed-price callout */
table.pricing th.nc-pro { background: var(--gold-dark); color: var(--navy-900); }
table.pricing td.nc-pro { background: rgba(217, 148, 0, 0.12); }
.nc-pro__badge { display: block; width: fit-content; margin-top: 6px; background: var(--navy-900); color: #fff; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.04em; padding: 3px 10px; border-radius: 999px; }
.nc-callout { margin-top: 16px; padding: 14px 18px; border-left: 4px solid var(--gold); background: #fff; border-radius: 8px; box-shadow: var(--shadow); }
