/* NLSYS R7 — segmented acquisition and self-service conversion layer */
:root{
  --v7-blue:#1d4ed8;
  --v7-cyan:#0e9cb0;
  --v7-green:#147a43;
  --v7-warm:#9a5a00;
  --v7-radius:16px;
}

/* Accessible, compact global navigation. */
.v7-nav .nav-in{gap:1.25rem}
.v7-nav .nav-links{gap:1.05rem}
.v7-nav .nav-dd-btn{appearance:none;border:0;background:transparent;color:var(--ink-soft);font:inherit;padding:.65rem .15rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}
.v7-nav .nav-dd-btn:hover,.v7-nav .nav-dd-btn[aria-expanded="true"]{color:var(--ink)}
.v7-nav .nav-start{display:inline-flex;align-items:center;padding:.56rem .82rem;border:1px solid #bfd0f4;border-radius:8px;background:#f4f7ff;color:var(--v7-blue)!important;font-weight:600}
.v7-nav .nav-start:hover{background:#eaf0ff;text-decoration:none}
.v7-nav .nav-signin{font-weight:600;color:var(--ink)!important}
.v7-nav .nav-dd-menu{min-width:15rem}
.v7-nav .nav-dd-menu a small{display:block;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-dim);font-weight:400;margin-top:.12rem}

/* Every content page now has a semantic main landmark. */
main#main{display:block}

/* Segmented entry routes — used only where choosing is useful. */
.v7-route-section{padding:clamp(2.2rem,4vw,3.4rem) 0;border-top:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8faff)}
.v7-route-section .section-head{margin-bottom:1.35rem!important}
.v7-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--v7-radius);overflow:hidden}
.v7-route-card{display:flex;min-width:0;flex-direction:column;background:#fff;padding:1.35rem;color:var(--ink);min-height:13rem;transition:background .15s ease}
.v7-route-card:hover{background:#f7f9ff;color:var(--ink);text-decoration:none}
.v7-route-kicker{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--signal);margin-bottom:.55rem}
.v7-route-card h3{font-size:1.12rem!important;line-height:1.35!important;margin:0 0 .55rem!important}
.v7-route-card p{font-size:.96rem;color:var(--ink-soft);line-height:1.55;margin:0 0 1rem}
.v7-route-card .v7-go{font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:600;color:var(--signal);margin-top:auto}
.v7-route-note{font-size:var(--fs-caption);color:var(--ink-dim);text-align:center;max-width:80ch;margin:1rem auto 0}

/* A concise commercial layer at the top of each specialised product page. */
.v7-fastpath{padding:0 0 clamp(2.2rem,4vw,3.2rem);border-bottom:1px solid var(--line)}
.v7-fastpath-in{border:1px solid #cfdaee;border-radius:var(--v7-radius);background:linear-gradient(135deg,#f7f9ff,#fff 60%);box-shadow:0 18px 45px -36px rgba(29,78,216,.7);overflow:hidden}
.v7-fastpath-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.35rem;border-bottom:1px solid var(--line)}
.v7-fastpath-head h2{font-size:1.18rem!important;margin:.1rem 0 .25rem!important}
.v7-fastpath-head p{font-size:.94rem;color:var(--ink-soft);margin:0;max-width:62ch}
.v7-fit-badge{display:inline-flex;white-space:nowrap;font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:600;color:var(--v7-green);background:#edf9f1;border:1px solid #c9ead4;border-radius:999px;padding:.38rem .68rem}
.v7-fastpath-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.v7-contract{padding:1.1rem 1.25rem;border-right:1px solid var(--line);min-width:0}
.v7-contract:last-child{border-right:0}
.v7-contract dt{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:.35rem}
.v7-contract dd{margin:0;color:var(--ink);font-size:.94rem;line-height:1.5}
.v7-fastpath-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1.1rem 1.25rem;border-top:1px solid var(--line);background:#fff}
.v7-fastpath-actions .v7-caveat{font-size:var(--fs-caption);color:var(--ink-dim);margin-left:auto;max-width:48ch;line-height:1.5}

/* Pricing starts by job, not by internal SKU. */
.v7-pricing-router{padding:0 0 clamp(2.2rem,4vw,3rem)}
.v7-pricing-router .v7-route-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.v7-pricing-router .v7-route-card{min-height:11.5rem;padding:1.15rem}
.v7-purchase-rule{display:grid;grid-template-columns:auto 1fr;gap:.8rem 1rem;align-items:start;margin-top:1rem;padding:1rem 1.1rem;border-left:3px solid var(--signal);background:#f7f9ff;border-radius:0 10px 10px 0}
.v7-purchase-rule strong{font-family:var(--font-display);font-size:1rem}
.v7-purchase-rule p{font-size:.92rem;color:var(--ink-soft);margin:0;max-width:none}

/* Search/article landing pages get a contextual next step without losing their editorial purpose. */
.v7-article-next{margin:1.3rem 0 2rem;padding:1.2rem 1.25rem;border:1px solid #ccd9f2;border-radius:14px;background:linear-gradient(120deg,#f6f9ff,#fff);display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}
.v7-article-next .v7-kicker{font-family:var(--font-mono);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--signal);margin-bottom:.3rem}
.v7-article-next h2,.v7-article-next h3{font-size:1.08rem!important;margin:0 0 .35rem!important}
.v7-article-next p{font-size:.94rem;color:var(--ink-soft);margin:0;max-width:68ch}
.v7-article-next .v7-next-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}

/* Self-service workflow finder. */
.v7-chooser-hero{padding:clamp(2.8rem,6vw,5.2rem) 0 2rem}
.v7-chooser-hero h1{max-width:17ch}
.v7-chooser-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);gap:1.25rem;align-items:start;padding-bottom:4rem}
.v7-chooser{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-md);overflow:hidden}
.v7-chooser-step{padding:1.35rem;border-bottom:1px solid var(--line)}
.v7-chooser-step:last-child{border-bottom:0}
.v7-chooser-step h2{font-size:1.08rem!important;margin:0 0 .8rem!important}
.v7-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.v7-choice{position:relative;display:block}
.v7-choice input{position:absolute;opacity:0;pointer-events:none}
.v7-choice span{display:flex;min-height:4.4rem;align-items:center;padding:.8rem .9rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:500;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.v7-choice input:checked+span{border-color:var(--signal);background:#f3f7ff;box-shadow:0 0 0 2px rgba(37,99,235,.12)}
.v7-choice input:focus-visible+span{outline:2px solid var(--signal);outline-offset:2px}
.v7-recommendation{position:sticky;top:6rem;border:1px solid #cdd9ef;border-radius:18px;background:linear-gradient(145deg,#f3f7ff,#fff 64%);padding:1.35rem;box-shadow:var(--shadow-md)}
.v7-recommendation .v7-rec-label{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--signal)}
.v7-recommendation h2{margin:.55rem 0 .65rem!important}
.v7-recommendation p{color:var(--ink-soft);font-size:.96rem}
.v7-rec-list{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.55rem}
.v7-rec-list li{padding-left:1.2rem;position:relative;font-size:.93rem}
.v7-rec-list li::before{content:'✓';position:absolute;left:0;color:var(--v7-green);font-weight:700}
.v7-recommendation .btn{width:100%;justify-content:center}
.v7-alt-link{display:block;text-align:center;margin-top:.75rem;font-size:var(--fs-caption)}

/* Context trail — useful on deep landing pages, unobtrusive on direct entries. */
.v7-context-trail{border-bottom:1px solid var(--line);background:#fafbfe}
.v7-context-trail .wrap{display:flex;align-items:center;gap:.6rem;overflow-x:auto;padding-top:.55rem;padding-bottom:.55rem;font-family:var(--font-mono);font-size:.75rem;color:var(--ink-dim);white-space:nowrap}
.v7-context-trail a{color:var(--ink-soft)}
.v7-context-trail span[aria-current="page"]{color:var(--ink);font-weight:600}

/* Footer is consistent across every route. */
.footer .footer-in{grid-template-columns:1.25fr repeat(3,minmax(0,.75fr));gap:2rem}
.footer .footer-in p{font-size:.92rem;color:var(--ink-soft)}
.footer h4{font-size:.85rem!important;text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-mono)}

/* Small visual and accessibility corrections. */
.nav-toggle{min-width:44px;min-height:44px}
.btn{min-height:44px}
.v7-price-inline{font-family:var(--font-display);font-weight:600;color:var(--ink)}
.v7-muted{color:var(--ink-dim);font-size:var(--fs-caption)}
.v7-no-wrap{white-space:nowrap}

@media(max-width:1120px){
  .v7-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v7-pricing-router .v7-route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v7-fastpath-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v7-contract:nth-child(2){border-right:0}
  .v7-contract:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .footer .footer-in{grid-template-columns:1.2fr repeat(2,1fr)}
  .footer .footer-in>div:last-child{grid-column:2 / span 2}
}
@media(max-width:900px){
  .v7-nav .nav-links{gap:.25rem}
  .v7-nav .nav-start{margin-top:.25rem}
  .v7-chooser-shell{grid-template-columns:1fr}
  .v7-recommendation{position:static}
  .v7-article-next{grid-template-columns:1fr}
  .v7-article-next .v7-next-actions{justify-content:flex-start}
  .v7-fastpath-head{flex-direction:column;gap:.7rem}
  .v7-fastpath-actions .v7-caveat{margin-left:0;flex-basis:100%}
}
@media(max-width:700px){
  .v7-route-grid,.v7-pricing-router .v7-route-grid{grid-template-columns:1fr}
  .v7-route-card{min-height:0}
  .v7-fastpath-grid{grid-template-columns:1fr}
  .v7-contract{border-right:0;border-bottom:1px solid var(--line)!important}
  .v7-contract:last-child{border-bottom:0!important}
  .v7-choice-grid{grid-template-columns:1fr}
  .v7-article-next .v7-next-actions,.v7-fastpath-actions{align-items:stretch}
  .v7-article-next .btn,.v7-fastpath-actions .btn{width:100%;justify-content:center}
  .footer .footer-in{grid-template-columns:1fr}
  .footer .footer-in>div:last-child{grid-column:auto}
}

/* The standalone start page does not carry the older inline skip-link rule. */
.skip-link{position:absolute;left:8px;top:-80px;z-index:3000;background:#15181f;color:#fff;padding:.6rem 1rem;border-radius:8px;text-decoration:none;transition:top .15s ease}
.skip-link:focus{top:8px;color:#fff;outline:2px solid #fff}

/* Editorial columns are intentionally narrow; keep their contextual CTA readable. */
.article .v7-article-next{grid-template-columns:1fr}
.article .v7-article-next .v7-next-actions{justify-content:flex-start}
.article .v7-article-next .btn{min-width:0}
@media(max-width:860px){
  .v7-nav .nav-links{display:none}
  .v7-nav.nav-open .nav-links{display:flex}
  .v7-nav.nav-open .nav-start{display:block}
  .v7-nav.nav-open .nav-signin{display:block}
}
