/* medical-billing-services page: complete stylesheet from the approved html (Inter loads from assets/css/font.css). */

/* Northgate Billing shared stylesheet, v6 (12 Oct 2026). Adds the inner marketing pages.
   Ported from the approved design canvas "Northgate home page (final)".
   Light, Stripe-like, Inter only, one breakpoint at 900px.
   Dark backgrounds are used only for the footer and single emphasis cards. */

:root{
  --navy:#0A2540;
  --accent:#0A66FF;--accent-hover:#0052D6;--accent-tint:#E6F0FF;--section-tint:#EEF4FF;
  --deep:#1437A8;--soft:#8FB9FF;
  --slate:#425466;--muted:#5B6B80;--border:#E3E8EE;--border-2:#CBD5E1;--bg:#F6F9FC;--white:#FFFFFF;
  --success:#15803D;--success-tint:#DCFCE7;--error:#B91C1C;--error-tint:#FEE2E2;--warn:#92400E;--warn-tint:#FEF3C7;--appeal:#5B21B6;--appeal-tint:#EDE9FE;
  --font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --shadow-card:0 1px 0 rgba(10,37,64,.04),0 10px 30px rgba(10,37,64,.06);
  --shadow-lift:0 24px 50px rgba(10,37,64,.12);
  --shadow-btn:0 12px 28px rgba(10,102,255,.32);
  --nav-h:72px;
}

/* ---------- font (self-hosted, Latin subset, one 62 KB file for every weight) ---------- */


/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:15px;line-height:1.6;color:var(--navy);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--navy);text-decoration:none}
a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
img,svg,video{max-width:100%;display:block}
svg{flex-shrink:0}
button{font:inherit;color:inherit}
h1,h2,h3,h4,p,dl,dd,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
address{font-style:normal}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.container{max-width:1280px;width:100%;margin:0 auto;padding:0 15px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--navy);color:#fff;padding:10px 14px;border-radius:10px;font-weight:700}
.skip:focus{top:12px;color:#fff}

/* ---------- type ---------- */
.ng-h1{font-weight:700;font-size:clamp(32px,3.7vw,48px);line-height:1.08;letter-spacing:-.04em;color:var(--navy)}
.ng-h1 .ac{color:var(--accent)}
.ng-h2{font-weight:700;font-size:clamp(26px,2.8vw,36px);line-height:1.12;letter-spacing:-.03em;margin:10px 0 12px;color:var(--navy)}
.ng-kicker{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.02em;text-transform:uppercase}
.ng-kicker::before{content:"";width:22px;height:2px;background:var(--accent);border-radius:2px}
.ng-kicker.center{justify-content:center}
.ng-sec.tint .ng-kicker{color:var(--accent-hover)}
.ng-lead{font-size:16.5px;line-height:1.6;color:var(--slate);max-width:52ch}
.ng-intro{font-size:16.5px;line-height:1.6;color:var(--slate);max-width:60ch}
.ng-intro.narrow{max-width:52ch}
.ng-sec-head{max-width:720px}
.ng-sec-head.center{margin:0 auto;text-align:center}
.ng-sec-head.center .ng-intro{margin:0 auto}
.ng-micro{font-size:13.5px;color:var(--muted)}
.ng-ph{border-bottom:1px dotted var(--soft);cursor:help}
.ng-link{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ng-link:hover{color:var(--accent-hover)}
.ng-sec.tint .ng-link,.ng-start-card .ng-link,.ng-related a{color:var(--accent-hover)}

/* ---------- buttons ---------- */
.ng-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:50px;padding:0 22px;border-radius:999px;font-weight:700;font-size:15px;border:0;cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s,color .15s}
.ng-btn:hover{transform:translateY(-1px)}
.ng-btn:active{transform:translateY(0)}
.ng-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ng-btn.primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-btn)}
.ng-btn.primary:hover{background:var(--accent-hover);color:#fff;box-shadow:0 14px 32px rgba(10,102,255,.38)}
.ng-btn.outline{background:#fff;color:var(--navy);border:1.5px solid var(--border-2)}
.ng-btn.outline:hover{border-color:var(--navy);color:var(--navy)}
.ng-btn.navy{background:var(--navy);color:#fff;height:44px;padding:0 20px}
.ng-btn.navy:hover{background:#0F3160;color:#fff}
.ng-btn.lg{height:58px;padding:0 32px;font-size:16.5px}
.ng-btn.block{display:flex;width:100%}

/* ---------- nav ---------- */
.ng-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border);transition:box-shadow .2s}
.ng-header.scrolled{box-shadow:0 8px 30px rgba(10,37,64,.08)}
.ng-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--nav-h)}
.ng-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.03em;color:var(--navy);white-space:nowrap}
.ng-logo:hover{color:var(--navy)}
.ng-logo .mark{width:32px;height:32px;border-radius:9px;background:var(--navy);display:flex;align-items:center;justify-content:center;flex:0 0 32px}
.ng-logo .mark svg{width:18px;height:18px;stroke:var(--soft);fill:none;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.ng-logo b{font-weight:600;color:var(--accent)}
.ng-logo.inv{color:#fff}
.ng-logo.inv:hover{color:#fff}
.ng-logo.inv .mark{background:linear-gradient(135deg,var(--accent),var(--soft))}
.ng-logo.inv .mark svg{stroke:var(--navy)}
.ng-logo.inv b{color:var(--soft)}
.ng-links{display:flex;align-items:center;gap:2px;font-size:14.5px;font-weight:600}
.ng-links>a,.ng-dd>button{display:flex;align-items:center;gap:5px;padding:9px 13px;border-radius:999px;background:transparent;border:0;cursor:pointer;color:var(--navy);transition:background .15s}
.ng-links>a:hover,.ng-dd:hover>button,.ng-dd:focus-within>button,.ng-dd.open>button{background:var(--accent-tint);color:var(--navy)}
.ng-dd{position:relative}
.ng-dd>button svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .2s}
.ng-dd:hover>button svg,.ng-dd:focus-within>button svg,.ng-dd.open>button svg{transform:rotate(180deg)}
.ng-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:320px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 50px rgba(10,37,64,.2);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s;z-index:20}
.ng-dd:hover .ng-menu,.ng-dd:focus-within .ng-menu,.ng-dd.open .ng-menu{opacity:1;visibility:visible;transform:translateY(0)}
.ng-menu a{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:10px;color:var(--navy);transition:background .12s}
.ng-menu a:hover{background:var(--bg);color:var(--navy)}
.ng-menu .mi{flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:var(--accent-tint);display:flex;align-items:center;justify-content:center}
.ng-menu .mi svg{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ng-menu b{display:block;font-size:14.5px;font-weight:700}
.ng-menu small{display:block;color:var(--muted);font-size:12.5px;line-height:1.4;margin-top:1px;font-weight:500}
.ng-right{display:flex;align-items:center;gap:16px}
.ng-phone{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;white-space:nowrap;padding:9px 13px;border-radius:999px;border:1px solid var(--border-2);background:#fff;color:var(--navy)}
.ng-phone:hover{border-color:var(--navy);color:var(--navy)}
.ng-phone svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ng-cta-nav svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ng-burger{display:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--border);background:transparent;align-items:center;justify-content:center;color:var(--navy);cursor:pointer;padding:0}
.ng-burger svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.ng-burger .ico-close{display:none}
.ng-header.is-open .ng-burger .ico-open{display:none}
.ng-header.is-open .ng-burger .ico-close{display:block}
.ng-mobile{display:none;position:absolute;left:0;right:0;top:100%;z-index:60;background:var(--bg);border-top:1px solid var(--border);padding:12px 20px 22px;color:var(--navy);box-shadow:0 30px 60px rgba(10,37,64,.18);max-height:calc(100vh - 60px);overflow-y:auto;border-radius:0 0 18px 18px}
.ng-mobile .grp{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--muted);padding:14px 0 4px}
.ng-mobile .grp:first-child{padding-top:10px}
.ng-mobile a.lnk{display:block;padding:11px 0;font-size:16px;font-weight:600;color:var(--navy)}
.ng-mobile .ng-btn{margin-top:16px;height:50px;font-size:16px}
.ng-mobile .ng-btn+.ng-btn{margin-top:10px}
.ng-mobile .mail{display:block;text-align:center;margin-top:14px;font-size:14px;font-weight:600;color:var(--accent)}

/* ---------- hero ---------- */
.ng-hero-sec{background:var(--bg);position:relative;z-index:1}
.ng-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,64px);align-items:stretch;padding-top:clamp(32px,4vw,52px);padding-bottom:0}
.ng-copy{display:flex;flex-direction:column;justify-content:center;gap:18px;max-width:540px;padding-bottom:clamp(40px,5vw,72px)}
.ng-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px}
.ng-ctas svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ng-trust{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13.5px;font-weight:500;color:var(--slate);margin-top:2px}
.ng-trust span{display:flex;align-items:center;gap:7px}
.ng-trust svg{width:16px;height:16px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ng-panel{position:relative;background:linear-gradient(160deg,var(--accent) 0%,var(--deep) 100%);border-radius:26px 26px 0 0;padding:clamp(24px,3vw,36px) clamp(18px,2.5vw,32px) clamp(76px,7vw,104px);min-width:0;overflow:hidden}
.ng-panel .blob{position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.ng-panel-in{display:flex;flex-direction:column;gap:10px;min-width:0;width:100%;position:relative}
.ng-panel-cap{font-size:12.5px;color:var(--accent-tint);text-align:center}

/* claim status sheet (shared component) */
.ng-sheet-wrap{position:relative;padding:22px 0 24px;color:var(--navy)}
.ng-sheet{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 30px 70px rgba(10,37,64,.18),0 0 0 1px var(--border);font-size:13.5px}
.ng-sheet-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,var(--accent-tint),#fff)}
.ng-sheet-top b{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.ng-sheet-top b i{width:8px;height:8px;border-radius:50%;background:var(--success);display:inline-block}
.ng-sheet-top span{font-size:12.5px;color:var(--muted);white-space:nowrap}
.ng-sheet-scroll{overflow-x:auto}
.ng-sheet table{width:100%;border-collapse:collapse;min-width:460px}
.ng-sheet thead tr{font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.ng-sheet th{padding:9px 13px;border-bottom:1px solid var(--border);font-weight:600;text-align:left}
.ng-sheet td{padding:11px 13px;border-bottom:1px solid #EEF2F7;white-space:nowrap}
.ng-sheet tr:last-child td{border-bottom:0}
.ng-sheet .amt{font-weight:600;font-variant-numeric:tabular-nums}
.ng-pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700}
.ng-pill.paid{color:var(--success);background:var(--success-tint)}
.ng-pill.sent{color:var(--accent-hover);background:var(--accent-tint)}
.ng-pill.denied{color:var(--warn);background:var(--warn-tint)}
.ng-pill.appeal{color:var(--appeal);background:var(--appeal-tint)}
.ng-sheet-foot{display:flex;flex-wrap:wrap;gap:10px 22px;padding:13px 18px;border-top:1px solid var(--border);background:var(--bg);font-size:12.5px;color:var(--slate)}
.ng-sheet-foot b{color:var(--navy)}
.ng-callout{position:absolute;background:#fff;color:var(--navy);border-radius:14px;padding:12px 14px;box-shadow:0 18px 40px rgba(10,37,64,.22),0 0 0 1px var(--border);display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;z-index:2}
.ng-callout.c1{right:14px;top:0}
.ng-callout.c2{left:14px;bottom:0}
.ng-callout .ic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:0 0 30px}
.ng-callout .ic.green{background:var(--success-tint)}
.ng-callout .ic.blue{background:var(--accent-tint)}
.ng-callout .ic svg{width:16px;height:16px;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ng-callout .ic.green svg{stroke:var(--success)}
.ng-callout .ic.blue svg{stroke:var(--accent)}
.ng-callout small{display:block;font-weight:500;color:var(--muted);font-size:12px;margin-top:1px}

/* ---------- proof strip ---------- */
.ng-proof-sec{background:var(--bg);position:relative;z-index:2;padding-bottom:56px}
.ng-proof{position:relative;z-index:3;margin-top:-52px}
.ng-stat{background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(10,37,64,.18),0 0 0 1px var(--border);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;color:var(--navy)}
.ng-stat>div{padding:22px 24px;border-right:1px solid var(--border)}
.ng-stat>div:last-child{border-right:0}
.ng-stat .n{font-weight:700;font-size:30px;letter-spacing:-.04em;line-height:1;white-space:nowrap}
.ng-stat .n.ac{color:var(--accent)}
.ng-stat .t{font-size:13.5px;font-weight:600;margin-top:8px;line-height:1.35}
.ng-stat .p{font-size:12px;color:var(--muted);margin-top:3px}

/* ---------- sections ---------- */
.ng-sec{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(40px,5vw,72px)}
.ng-sec.bg{background:var(--bg)}
.ng-sec.tint{background:var(--section-tint)}
.ng-sec.white{background:#fff}
.ng-sec.hairline{border-top:1px solid var(--border)}
.ng-sec.cv,.ng-prose section.cv{content-visibility:auto;contain-intrinsic-size:auto 600px}

/* ---------- at a glance ---------- */
.ng-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.ng-hint{display:none}
.ng-t{position:relative;background:#fff;border-radius:20px;padding:24px 24px 22px;display:flex;flex-direction:column;gap:6px;min-width:0;box-shadow:var(--shadow-card);transition:transform .2s,box-shadow .2s;overflow:hidden}
.ng-t:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.ng-t .ic{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:12px;background:var(--accent-tint);display:flex;align-items:center;justify-content:center}
.ng-t .ic svg{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ng-t dt{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ng-t .big{font-size:clamp(28px,2.6vw,36px);font-weight:700;letter-spacing:-.04em;line-height:1.05;color:var(--navy);margin:10px 0 4px;padding-right:48px}
.ng-t .big span{color:var(--accent)}
.ng-t dd{font-size:14px;line-height:1.55;color:var(--slate)}
.ng-t.dark{background:var(--navy);color:#fff}
.ng-t.dark .ic{background:rgba(255,255,255,.12)}
.ng-t.dark .ic svg{stroke:var(--soft)}
.ng-t.dark dt{color:var(--soft)}
.ng-t.dark .big{color:#fff}
.ng-t.dark .big span{color:var(--soft)}
.ng-t.dark dd{color:#C7D3E3}

/* ---------- services ---------- */
.ng-svc3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px}
.ng-c{background:#fff;border:1px solid var(--border);border-radius:22px;padding:0 0 22px;display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 30px rgba(10,37,64,.05)}
.ng-c:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.ng-c .band{height:6px;background:linear-gradient(90deg,var(--accent),var(--soft))}
.ng-c .hd{padding:24px 24px 14px;display:flex;align-items:center;gap:14px}
.ng-c .ic{width:52px;height:52px;border-radius:50%;background:var(--accent-tint);display:flex;align-items:center;justify-content:center;flex:0 0 52px}
.ng-c .ic svg{width:24px;height:24px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ng-c .tag{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);display:block}
.ng-c>p{padding:0 24px 16px;font-size:15px;font-weight:500;line-height:1.55;color:var(--slate)}
.ng-c ul{margin:0 0 18px;padding:0 24px;display:flex;flex-direction:column;font-size:14px;color:var(--navy)}
.ng-c li{display:flex;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #EEF2F7;line-height:1.4}
.ng-c li svg{width:16px;height:16px;flex:0 0 16px;stroke:var(--accent);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ng-c .pricebox{margin:auto 24px 0;padding:12px 14px;border-radius:12px;background:var(--bg);font-size:13.5px;font-weight:600;color:var(--navy);line-height:1.4}
.ng-c .btn{margin:14px 24px 0;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 18px;white-space:normal;text-align:center;line-height:1.3;border-radius:999px;background:var(--accent);color:#fff;font-size:14.5px;font-weight:700;transition:background .15s,box-shadow .15s}
.ng-c .btn:hover{background:var(--accent-hover);color:#fff;box-shadow:0 10px 24px rgba(10,102,255,.28)}
.ng-c .btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- how it works ---------- */
.ng-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:40px}
.ng-steps::before{content:"";position:absolute;left:12%;right:12%;top:30px;height:2px;background:linear-gradient(90deg,var(--accent),var(--soft));border-radius:2px}
.ng-step{position:relative;background:#fff;border:1px solid var(--border);border-radius:20px;padding:0 22px 22px;display:flex;flex-direction:column;gap:10px;min-width:0;transition:transform .2s,box-shadow .2s}
.ng-step:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.ng-step .n{width:60px;height:60px;border-radius:50%;background:var(--accent);color:#fff;font-size:20px;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px #fff,0 10px 24px rgba(10,102,255,.3);margin:0 auto -18px;position:relative;top:-30px}
.ng-step h3{font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--navy)}
.ng-step p{font-size:14.5px;line-height:1.55;color:var(--slate)}
.ng-step .when{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:var(--accent-tint);color:var(--accent-hover);font-size:12.5px;font-weight:700}
.ng-step .when svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round}
.ng-ctarow{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:36px}
.ng-ctarow svg,.ng-center svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ng-center{display:flex;justify-content:center;margin-top:28px}

/* ---------- pricing (left-aligned split: head and notes left, calculator right) ---------- */
.ng-pr{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"head card" "aside card";column-gap:clamp(28px,4vw,64px);row-gap:0;align-items:center}
.ng-pr .ng-sec-head{grid-area:head;max-width:none}
.ng-pr .ng-calc{grid-area:card}
.ng-pr-aside{grid-area:aside;display:flex;flex-direction:column;gap:18px;margin-top:30px;max-width:520px}
.ng-pr-note{display:flex;gap:14px;align-items:flex-start;font-size:14.5px;line-height:1.55;color:var(--slate)}
.ng-pr-note .k{flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:var(--accent-tint);display:flex;align-items:center;justify-content:center;margin-top:1px}
.ng-pr-note .k svg{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ng-pr-note b{display:block;font-size:15.5px;color:var(--navy);margin-bottom:3px;letter-spacing:-.01em}
.ng-pr-note strong{color:var(--navy)}
.ng-pr-cta{margin-top:8px}
.ng-pr-cta svg{width:15px;height:15px}
.ng-calc{background:#fff;color:var(--navy);border-radius:22px;padding:28px 30px 24px;box-shadow:0 24px 60px rgba(10,37,64,.12),0 0 0 1px var(--border);display:flex;flex-direction:column;gap:14px;margin-top:8px}
.ng-calc .lbl{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ng-calc .big{font-size:clamp(30px,3vw,40px);font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.ng-calc-top{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap}
.ng-calc-live{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted);padding-bottom:6px}
.ng-calc-live i{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 0 rgba(21,128,61,.35);animation:ngpulse 2.2s ease-out infinite}
.ng-calc input[type=range]{width:100%;accent-color:var(--accent);height:28px;cursor:pointer;margin:0}
.ng-calc .ticks{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);font-weight:500;margin-top:-6px}
.ng-calc .out{background:var(--navy);color:#fff;border-radius:16px;padding:16px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ng-calc .out .lbl{color:var(--soft)}
.ng-calc .out .big{color:#fff}
.ng-calc .out .billed{font-size:14px;font-weight:600;line-height:1.4;color:#fff}
.ng-calc .flag{font-size:12.5px;color:var(--warn);background:var(--warn-tint);border-radius:10px;padding:8px 12px;font-weight:600}
.ng-calc .flag[hidden]{display:none}
.ng-calc .incl{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:2px}
.ng-calc .incl .lbl{margin-right:4px}
.ng-calc .incl span:not(.lbl){display:inline-flex;align-items:center;gap:5px;padding:5px 10px 5px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--border);font-size:12.5px;font-weight:600;color:var(--navy)}
.ng-calc .incl svg{width:12px;height:12px;stroke:var(--accent);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ng-calc .fine{font-size:12.5px;color:var(--muted);line-height:1.5}

/* ---------- who we serve ---------- */
.ng-chiprow{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.ng-spec{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;background:#fff;border:1px solid var(--border);font-size:14.5px;font-weight:600;color:var(--navy);transition:border-color .15s,box-shadow .15s,transform .15s}
.ng-spec:hover{border-color:var(--accent);box-shadow:0 8px 20px rgba(10,37,64,.08);transform:translateY(-1px);color:var(--navy)}
.ng-spec i{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block}
.ng-spec.all{background:var(--accent);border-color:var(--accent);color:#fff}
.ng-spec.all:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}
.ng-spec.all svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ng-marq-head{display:flex;justify-content:center;margin-top:40px;padding-bottom:14px}
.ng-marq-title{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ng-marq{position:relative;overflow:hidden;margin-top:18px}
.ng-marq::before,.ng-marq::after{content:"";position:absolute;top:0;bottom:0;width:12%;z-index:1;pointer-events:none}
.ng-marq::before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.ng-marq::after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.ng-track{display:flex;gap:16px;width:max-content;animation:ngmarq 28s linear infinite;animation-play-state:paused}
.ng-marq.run .ng-track{animation-play-state:running}
.ng-marq.run:hover .ng-track,.ng-marq.run:focus-within .ng-track{animation-play-state:paused}
@keyframes ngmarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ng-logo-ph{height:64px;width:188px;flex:0 0 188px;border-radius:14px;border:1.5px dashed var(--border-2);background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap}
.ng-logo-ph img{max-height:36px;width:auto}

/* ---------- switching ---------- */
.ng-ba{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px}
.ng-bac{background:#fff;border:1px solid var(--border);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}
.ng-bac:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.ng-bac .had{padding:22px 22px 20px;background:var(--bg);border-bottom:1px solid var(--border)}
.ng-bac .get{padding:22px 22px 24px;flex:1;background:#fff}
.ng-bac .lab{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.ng-bac .lab svg{width:15px;height:15px;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ng-bac .had .lab{color:var(--error)}
.ng-bac .had .lab svg{stroke:var(--error)}
.ng-bac .get .lab{color:var(--accent)}
.ng-bac .get .lab svg{stroke:var(--accent)}
.ng-bac b{display:block;font-size:17px;font-weight:700;letter-spacing:-.015em;line-height:1.3;color:var(--navy);margin-bottom:6px}
.ng-bac p{font-size:14.5px;line-height:1.55;color:var(--slate)}
.ng-bac .had p{color:var(--muted)}
.ng-switch-note{margin-top:26px;font-size:15px}

/* ---------- faq ---------- */
.ng-faqwrap{max-width:860px}
.faq-head{margin-bottom:28px}
.ng-faq details{border:1px solid var(--border);border-radius:14px;padding:0 20px;margin-bottom:10px;background:#fff;transition:box-shadow .2s,border-color .2s}
.ng-faq details[open]{box-shadow:0 14px 36px rgba(10,37,64,.08);border-color:var(--border-2)}
.ng-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:16.5px;font-weight:700;color:var(--navy);letter-spacing:-.01em}
.ng-faq summary::-webkit-details-marker{display:none}
.ng-faq summary h3{font:inherit;margin:0}
.ng-faq summary svg{flex:0 0 20px;width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.ng-faq details[open] summary svg{transform:rotate(180deg)}
.ng-faq .ans{padding:0 0 18px}
.ng-faq .ans p{font-size:15px;line-height:1.6;color:var(--slate)}
.ng-faq .ans p+p{margin-top:10px}

/* ---------- final cta ---------- */
.b-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:center}
.b-h{font-size:clamp(32px,4vw,52px);max-width:16ch;line-height:1.08;letter-spacing:-.035em}
.b-cta{margin-top:28px}
.b-cta svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.b-card{background:var(--section-tint);border-radius:24px;padding:28px 28px 26px}
.b-card .t{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.b-card ul{display:flex;flex-direction:column}
.b-card li{display:flex;gap:11px;align-items:flex-start;padding:12px 0;border-top:1px solid #DCE6F2;font-size:15px;line-height:1.5;color:var(--navy);font-weight:500}
.b-card li svg{width:16px;height:16px;flex:0 0 16px;margin-top:4px;stroke:var(--accent);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- footer ---------- */
.ng-foot{background:var(--navy);color:#fff;padding:clamp(44px,5vw,64px) 0 28px;font-size:14.5px}
.ng-foot a{color:#fff}
.ng-foot a:hover{color:var(--soft)}
.ng-foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12)}
.ng-foot-brand p{margin:14px 0;font-size:14.5px;line-height:1.55;max-width:34ch}
.ng-foot address{font-size:14px;line-height:1.7}
.ng-foot-col h3{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.ng-foot-col a{display:block;padding:5px 0;font-size:14.5px}
.ng-foot-badges{display:flex;flex-wrap:wrap;gap:10px 26px;padding:22px 0 18px;font-size:13.5px;font-weight:500}
.ng-foot-badges span{display:inline-flex;align-items:center;gap:8px}
.ng-foot-badges svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ng-foot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#fff}
.ng-foot-legal .lnks{display:flex;flex-wrap:wrap;gap:4px 16px}


/* ---------- document pages (legal, policies, HIPAA) ---------- */
.ng-doc-hero{background:var(--bg);border-bottom:1px solid var(--border);padding:clamp(32px,4vw,56px) 0 clamp(28px,3.5vw,44px)}
.ng-crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted);margin-bottom:18px}
.ng-crumbs a{color:var(--muted)}
.ng-crumbs a:hover{color:var(--accent)}
.ng-crumbs span[aria-current]{color:var(--navy);font-weight:600}
.ng-doc-hero .ng-h1{max-width:18ch}
.ng-doc-h1{margin-top:10px}
.ng-btn.sm{height:40px;padding:0 16px;font-size:14px;width:auto}
.ng-doc-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:13.5px;color:var(--muted)}
.ng-doc-meta b{color:var(--navy);font-weight:600}
.ng-doc-hero .ng-lead{margin-top:18px;max-width:64ch}
.ng-doc-hero .ng-ctas{margin-top:22px}
.ng-doc{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,5vw,72px);padding-top:clamp(36px,4vw,56px);padding-bottom:clamp(48px,6vw,80px)}
.ng-toc{position:sticky;top:calc(var(--nav-h) + 20px);align-self:start}
.ng-toc .t{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.ng-toc a{display:block;padding:6px 0 6px 12px;border-left:2px solid var(--border);font-size:13.5px;color:var(--slate);line-height:1.4;transition:border-color .15s,color .15s}
.ng-toc a:hover,.ng-toc a.on{border-color:var(--accent);color:var(--navy)}
.ng-prose{max-width:760px;min-width:0;font-size:15.5px;line-height:1.65;color:var(--slate)}
.ng-prose h2{font-size:clamp(21px,2.2vw,26px);font-weight:700;letter-spacing:-.025em;line-height:1.2;color:var(--navy);margin:44px 0 12px;scroll-margin-top:calc(var(--nav-h) + 24px)}
.ng-prose h2:first-child{margin-top:0}
.ng-prose h3{font-size:16.5px;font-weight:700;letter-spacing:-.01em;color:var(--navy);margin:26px 0 8px}
.ng-prose p{margin:0 0 14px}
.ng-prose ul,.ng-prose ol{margin:0 0 16px;padding-left:22px}
.ng-prose ul{list-style:disc}
.ng-prose ol{list-style:decimal}
.ng-prose li{margin:0 0 7px;padding-left:4px}
.ng-prose li::marker{color:var(--accent)}
.ng-prose strong{color:var(--navy)}
.ng-prose a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ng-prose a:hover{color:var(--accent-hover)}
.ng-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;background:var(--accent-tint);color:var(--navy);padding:2px 6px;border-radius:6px}
.ng-prose blockquote{margin:0 0 16px;padding:14px 18px;border-left:3px solid var(--accent);background:var(--bg);border-radius:0 12px 12px 0;color:var(--navy);font-size:14.5px}
.ng-prose blockquote p{margin:0}
.ng-prose .tablewrap{margin:0 0 18px;border:1px solid var(--border);border-radius:14px;overflow-x:auto}
.ng-prose table{width:100%;border-collapse:collapse;font-size:14px;min-width:480px}
.ng-prose th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--bg);padding:11px 14px;border-bottom:1px solid var(--border)}
.ng-prose td{padding:12px 14px;border-bottom:1px solid #EEF2F7;vertical-align:top;color:var(--slate)}
.ng-prose tr:last-child td{border-bottom:0}
.ng-prose td:first-child{color:var(--navy);font-weight:600}
.ng-prose .pending{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--warn);background:var(--warn-tint);padding:2px 8px;border-radius:6px;vertical-align:middle}
.ng-prose .contact-block{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:18px 20px;line-height:1.7;color:var(--navy)}
.ng-prose details{border:1px solid var(--border);border-radius:14px;padding:0 18px;margin-bottom:10px;background:#fff}
.ng-prose details[open]{box-shadow:0 14px 36px rgba(10,37,64,.08);border-color:var(--border-2)}
.ng-prose summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-size:16px;font-weight:700;color:var(--navy)}
.ng-prose summary::-webkit-details-marker{display:none}
.ng-prose summary h3{margin:0;font:inherit}
.ng-prose summary svg{flex:0 0 20px;width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.ng-prose details[open] summary svg{transform:rotate(180deg)}
.ng-prose details .ans{padding:0 0 16px}
.ng-prose details[open] .ans{animation:ngfade .3s var(--ease)}
.ng-prose .updated{margin-top:26px;font-size:13.5px;color:var(--muted)}
.ng-doc-cta{background:var(--section-tint);border-radius:22px;padding:clamp(24px,3vw,36px);margin-top:44px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 28px}
.ng-doc-cta h2{margin:0 0 6px;font-size:22px;letter-spacing:-.025em;color:var(--navy)}
.ng-doc-cta p{margin:0;max-width:52ch}
.ng-doc-cta .ng-ctas{margin:0}

/* ---------- contact ---------- */
.ng-contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);padding-top:clamp(36px,4vw,56px);padding-bottom:clamp(48px,6vw,80px);align-items:start}
.ng-ways{display:grid;gap:12px}
.ng-way{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:#fff;border:1px solid var(--border);border-radius:16px}
.ng-way .k{flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:var(--accent-tint);display:flex;align-items:center;justify-content:center}
.ng-way .k svg{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ng-way .l{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.ng-way .v{font-size:16px;font-weight:600;color:var(--navy);line-height:1.4}
.ng-way .v a{color:var(--navy)}
.ng-way .v a:hover{color:var(--accent)}
.ng-way .s{font-size:13px;color:var(--muted);margin-top:3px}
.ng-way .s a{color:var(--accent-hover);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ng-start{margin-top:36px}
.ng-start h2{font-size:22px;letter-spacing:-.025em;margin:0 0 14px;color:var(--navy)}
.ng-start-card{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:16px;background:var(--section-tint);margin-bottom:10px}
.ng-start-card b{display:block;font-size:15px;color:var(--navy);margin-bottom:3px}
.ng-start-card p{margin:0;font-size:14px;color:var(--slate);line-height:1.5}
.ng-start-card .ng-link{white-space:nowrap}
.ng-clients{margin-top:36px;padding:18px 20px;border:1px solid var(--border);border-radius:16px;background:#fff}
.ng-clients h2{font-size:17px;margin:0 0 8px;color:var(--navy);letter-spacing:-.01em}
.ng-clients p{margin:0;font-size:14.5px;color:var(--slate);line-height:1.55}
.ng-form-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:clamp(22px,3vw,32px);box-shadow:0 24px 60px rgba(10,37,64,.08)}
.ng-form-card h2{font-size:22px;letter-spacing:-.025em;margin:0 0 6px;color:var(--navy)}
.ng-form-card .sub{font-size:14px;color:var(--muted);margin:0 0 20px}
.field .req{color:var(--error);font-weight:700}
.field.check{display:flex;gap:10px;align-items:flex-start}
.field.check input{width:18px;height:18px;flex:0 0 18px;margin-top:2px;accent-color:var(--accent)}
.field.check label{font-size:13.5px;font-weight:500;line-height:1.5;color:var(--slate);margin:0}
.field.check label a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ng-warn{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--warn-tint);color:var(--warn);font-size:13.5px;line-height:1.5;margin:6px 0 18px}
.ng-warn svg{width:18px;height:18px;flex:0 0 18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.ng-form-note{font-size:13px;color:var(--muted);margin:12px 0 0}
[data-status]:not(:empty){margin-top:12px;font-size:14px;font-weight:600;color:var(--navy);padding:12px 14px;border-radius:12px;background:var(--accent-tint)}
.ng-thanks{padding:28px;border-radius:16px;background:var(--success-tint);color:var(--success);font-weight:600;font-size:16px}
.ng-errsum{margin:0 0 16px;padding:12px 14px;border-radius:12px;background:var(--error-tint);color:var(--error);font-size:14px}
.ng-errsum ul{margin:6px 0 0;padding-left:18px;list-style:disc}
.ng-errsum a{color:var(--error);font-weight:600;text-decoration:underline}

/* ---------- related links block (inner pages) ---------- */
.ng-related{margin-top:44px;padding:20px 22px;border-radius:16px;background:var(--bg);border:1px solid var(--border);font-size:14.5px;line-height:1.6;color:var(--slate)}
.ng-related p{margin:0}
.ng-related a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ng-prose .ng-related{max-width:none}

/* ---------- cookie bar (inline at the top of the page, so it never covers content; hidden before first paint once a choice exists) ---------- */
.ng-cookie{display:none;background:var(--section-tint);border-bottom:1px solid #DCE6F2;padding:12px 0}
html:not(.consented) .ng-cookie{display:block}
.ng-cookie .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px}
.ng-cookie p{margin:0;font-size:13.5px;color:var(--slate);line-height:1.5;max-width:64ch}
.ng-cookie p a{color:var(--accent-hover);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ng-cookie .btns{display:flex;gap:8px;flex-wrap:wrap}
.ng-cookie .ng-btn{height:38px;padding:0 16px;font-size:13.5px;width:auto}
.ng-foot-legal button.lnk{background:none;border:0;padding:0;color:#fff;font:inherit;cursor:pointer}
.ng-foot-legal button.lnk:hover{color:var(--soft)}

@media (max-width:900px){
  .ng-doc{grid-template-columns:1fr;gap:24px}
  .ng-toc{position:static;display:flex;flex-wrap:wrap;gap:6px}
  .ng-toc .t{width:100%;margin-bottom:4px}
  .ng-toc a{border:1px solid var(--border);border-radius:999px;padding:6px 12px;background:#fff;font-size:12.5px}
  .ng-toc a.on{border-color:var(--accent)}
  .ng-contact{grid-template-columns:1fr;gap:28px}
  .ng-cookie .btns{width:100%}
  .ng-cookie .ng-btn{flex:1}
}

/* ---------- forms (shared with intake and contact pages) ---------- */
.field{margin-bottom:16px}
.field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--border-2);border-radius:10px;background:#fff;color:var(--navy)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:3px solid var(--accent-tint);outline-offset:0}
.field .hint{font-size:12.5px;color:var(--muted);margin-top:5px}
.field.err input,.field.err select,.field.err textarea{border-color:var(--error)}
.field .msg{display:none;font-size:12.5px;color:var(--error);margin-top:5px}
.field.err .msg{display:block}
.tablewrap{overflow-x:auto}

/* ---------- document and contact page motion ---------- */

.ng-toc a{position:relative}
.ng-toc a.on{border-color:var(--accent)}
.ng-toc a.on::before{content:"";position:absolute;left:-2px;top:0;bottom:0;width:2px;background:var(--accent);border-radius:2px;animation:ngline-v .3s var(--ease)}
@keyframes ngline-v{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.ng-prose tbody tr{transition:background .15s}
.ng-prose tbody tr:hover{background:var(--bg)}
.ng-way,.ng-start-card{transition:transform .2s,box-shadow .2s,border-color .2s}
.ng-way:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(10,37,64,.08);border-color:#CFE0FF}
.ng-start-card:hover{transform:translateY(-2px)}
.field.check[data-show-if-phone]:not([hidden]){animation:ngfade .3s var(--ease)}
.ng-btn.primary[disabled]{opacity:.7;cursor:progress}
.ng-thanks:not([hidden]){animation:ngrise .5s var(--ease)}
/* below-the-fold sections are skipped by the renderer until they are near the viewport */
.ng-sec.cv{content-visibility:auto;contain-intrinsic-size:auto 640px}

/* ---------- motion ----------
   All animation is transform and opacity only (compositor work, no layout or paint), runs once, and is
   skipped entirely under prefers-reduced-motion. Nothing is hidden by CSS alone (see .rv-wait), so the
   page is fully visible without JS. */
:root{--ease:cubic-bezier(.2,.7,.2,1)}
@keyframes ngrise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes ngpop{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
@keyframes ngfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes ngpulse{0%{box-shadow:0 0 0 0 rgba(21,128,61,.35)}70%{box-shadow:0 0 0 7px rgba(21,128,61,0)}100%{box-shadow:0 0 0 0 rgba(21,128,61,0)}}
@keyframes ngline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ngcircle{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@keyframes ngfade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes ngtick{0%{color:var(--accent)}100%{color:inherit}}
@keyframes ngtick-light{0%{color:var(--soft)}100%{color:#fff}}

/* page load: hero copy, panel and proof strip, then the two callouts */
.ng-enter{animation:ngrise .6s var(--ease) backwards}
.ng-enter.d1{animation-delay:.05s}.ng-enter.d2{animation-delay:.15s}.ng-enter.d3{animation-delay:.25s}.ng-enter.d4{animation-delay:.35s}.ng-enter.d5{animation-delay:.5s}
.ng-callout.ng-pop{animation:ngpop .5s var(--ease) backwards,ngfloat 6s ease-in-out infinite}
.hero-off .ng-callout.ng-pop{animation-play-state:paused}
.ng-callout.ng-pop.c1{animation-delay:.8s,1.4s}
.ng-callout.ng-pop.c2{animation-delay:1s,2.2s}
.ng-sheet tbody tr{animation:ngrise .45s var(--ease) backwards}
.ng-sheet tbody tr:nth-child(1){animation-delay:.45s}.ng-sheet tbody tr:nth-child(2){animation-delay:.53s}.ng-sheet tbody tr:nth-child(3){animation-delay:.61s}.ng-sheet tbody tr:nth-child(4){animation-delay:.69s}.ng-sheet tbody tr:nth-child(5){animation-delay:.77s}
.ng-sheet-top b i{box-shadow:0 0 0 0 rgba(21,128,61,.35);animation:ngpulse 2.2s ease-out infinite}
.hero-off .ng-sheet-top b i{animation-play-state:paused}

/* scroll reveal: .rv for one element, .rv-group staggers its children. Nothing is hidden by CSS alone:
   site.js adds .rv-wait only to elements below the fold, removes it on reveal, and clears it after 3s
   regardless, so the page can never stay blank. Fill is backwards only, so once revealed the elements
   return to their normal styles and hover transforms still work. */
.rv.rv-wait,.rv-group.rv-wait>*,.ng-steps.rv-wait .n{opacity:0}
.rv.in{animation:ngrise .55s var(--ease) backwards}
.rv-now,.rv-now>*,.rv-now .n,.rv-now::before{animation:none!important}
.rv-group.in>*{animation:ngrise .55s var(--ease) backwards}
.rv-group.in>*:nth-child(2){animation-delay:.07s}.rv-group.in>*:nth-child(3){animation-delay:.14s}.rv-group.in>*:nth-child(4){animation-delay:.21s}.rv-group.in>*:nth-child(5){animation-delay:.28s}.rv-group.in>*:nth-child(6){animation-delay:.35s}.rv-group.in>*:nth-child(7){animation-delay:.42s}.rv-group.in>*:nth-child(8){animation-delay:.49s}.rv-group.in>*:nth-child(9){animation-delay:.56s}.rv-group.in>*:nth-child(10){animation-delay:.63s}
/* how it works: the connector draws left to right and the numbered circles pop in sequence */
.ng-steps.rv-wait::before,.ng-steps.in::before{transform-origin:left center}
.ng-steps.rv-wait::before{transform:scaleX(0)}
.ng-steps.in::before{animation:ngline .9s var(--ease) .15s backwards}
.ng-steps.in .n{animation:ngcircle .45s var(--ease) backwards}
.ng-steps.in>*:nth-child(1) .n{animation-delay:.2s}.ng-steps.in>*:nth-child(2) .n{animation-delay:.4s}.ng-steps.in>*:nth-child(3) .n{animation-delay:.6s}.ng-steps.in>*:nth-child(4) .n{animation-delay:.8s}
/* inner pages: form card enters from the right, table rows highlight, controls answer actions */
@keyframes ngright{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.ng-enter.from-right{animation-name:ngright}
.ng-prose tbody tr{transition:background .15s}
.ng-prose tbody tr:hover{background:var(--bg)}
.ng-toc a{position:relative}
.ng-toc a::before{content:"";position:absolute;left:-2px;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .25s var(--ease)}
.ng-toc a.on::before{transform:scaleY(1)}
.field.check[data-show-if-phone]:not([hidden]){animation:ngfade .3s var(--ease)}
.ng-thanks:not([hidden]){animation:ngrise .45s var(--ease)}
.ng-btn.primary.sending{opacity:.75;pointer-events:none}
/* motion that answers an action */
.ng-faq details[open] .ans{animation:ngfade .3s var(--ease)}
.ng-calc .big.tick{animation:ngtick .35s ease-out}
.ng-calc .out .big.tick{animation:ngtick-light .35s ease-out}
.ng-spec:hover i{transform:scale(1.4)}
.ng-spec i{transition:transform .15s}
.ng-logo .mark{transition:transform .25s var(--ease)}
.ng-logo:hover .mark{transform:rotate(-8deg)}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .rv.rv-wait,.rv-group.rv-wait>*,.ng-steps.rv-wait .n{opacity:1}
  .ng-steps.rv-wait::before{transform:none}
}

/* ---------- contrast: small accent text on tinted backgrounds uses the darker blue (4.5:1) ---------- */
.ng-sec.tint .ng-kicker,.b-card .t,.ng-c .tag,.ng-start-card .ng-link,.ng-cookie p a{color:var(--accent-hover)}
.ng-sec.tint .ng-kicker::before{background:var(--accent-hover)}

/* ---------- responsive (one breakpoint) ---------- */
@media (max-width:900px){
  .ng-links,.ng-phone{display:none!important}
  .ng-cta-nav{display:none!important}
  .ng-burger{display:inline-flex}
  .ng-header.is-open .ng-mobile{display:block}
  .ng-nav{height:60px;gap:8px}
  .ng-right{gap:8px}
  .ng-logo{font-size:18px;gap:8px}
  .ng-logo .mark{width:28px;height:28px;flex-basis:28px}
  .ng-hero{grid-template-columns:1fr;gap:28px;padding-top:28px}
  .ng-copy{padding-bottom:0;gap:16px;max-width:none}
  .ng-btn{width:100%}
  .ng-sheet-wrap{padding:60px 0 60px}
  .ng-callout{font-size:12.5px;padding:10px 12px}
  .ng-callout.c1{right:0}
  .ng-callout.c2{left:0}
  .ng-stat{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ng-stat>div{padding:20px 18px;border-bottom:1px solid var(--border)}
  .ng-stat>div:nth-child(2n){border-right:0}
  .ng-stat>div:nth-last-child(-n+2){border-bottom:0}
  .ng-stat .n{font-size:26px}
  .ng-proof{margin-top:-44px}
  .ng-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:22px -15px 0;padding:4px 15px 12px;scroll-padding-inline:15px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .ng-grid::-webkit-scrollbar{display:none}
  .ng-grid>*{flex:0 0 78%;scroll-snap-align:start}
  .ng-hint{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12.5px;color:var(--muted);font-weight:500}
  .ng-hint i{display:inline-block;width:18px;height:4px;border-radius:2px;background:var(--accent)}
  .ng-hint i+i{width:6px;background:var(--border-2)}
  .ng-svc3{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:26px -15px 0;padding:4px 15px 12px;scroll-padding-inline:15px;scrollbar-width:none}
  .ng-svc3::-webkit-scrollbar{display:none}
  .ng-svc3>*{flex:0 0 84%;scroll-snap-align:start}
  .ng-steps{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:14px -15px 0;padding:36px 15px 12px;scroll-padding-inline:15px;scrollbar-width:none}
  .ng-steps::before{display:none}
  .ng-steps::-webkit-scrollbar{display:none}
  .ng-steps>*{flex:0 0 82%;scroll-snap-align:start}
  .ng-ctarow{margin-top:24px}
  .ng-pr{grid-template-columns:1fr;grid-template-areas:"head" "card" "aside"}
  .ng-calc{padding:20px 18px;margin-top:22px}
  .ng-pr-aside{margin-top:24px;max-width:none}
  .ng-chiprow{gap:8px;margin-top:22px}
  .ng-spec{padding:9px 13px;font-size:13.5px}
  .ng-logo-ph{height:56px;width:160px;flex-basis:160px}
  .ng-track{animation-duration:20s}
  .ng-ba{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:26px -15px 0;padding:4px 15px 12px;scroll-padding-inline:15px;scrollbar-width:none}
  .ng-ba::-webkit-scrollbar{display:none}
  .ng-ba>*{flex:0 0 84%;scroll-snap-align:start}
  .b-grid{grid-template-columns:1fr;gap:24px}
  .ng-foot-top{grid-template-columns:1fr 1fr;gap:28px 20px}
  .ng-foot-brand{grid-column:span 2}
  .ng-foot-col:last-child{grid-column:span 2}
  .ng-foot-col:last-child a{display:inline-block;margin-right:18px}
  .ng-foot-badges{flex-direction:column;gap:10px}
  .ng-foot-legal{flex-direction:column;align-items:flex-start}
}

/* ======================================================================
   v6 additions (12 Oct 2026): inner marketing pages
   Pricing, About, Onboarding process, Who we serve, Specialties hub.
   Same tokens, same breakpoint. Nothing above overrides anything here.
   ====================================================================== */

/* ---------- inner hero (breadcrumb, kicker, H1, lead, CTAs, optional right panel) ---------- */
.ng-ihero-sec{background:var(--bg);position:relative;z-index:1;border-bottom:1px solid var(--border)}
.ng-ihero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center;padding-top:clamp(28px,3.5vw,44px);padding-bottom:clamp(40px,5vw,72px)}
.ng-ihero.single{grid-template-columns:minmax(0,1fr)}
.ng-ihero.single .ng-copy{max-width:720px}
.ng-ihero .ng-copy{padding-bottom:0;gap:16px}
.ng-ihero .ng-crumbs{margin-bottom:2px}
.ng-ihero .ng-h1{max-width:18ch}
.ng-ihero.single .ng-h1{max-width:22ch}
.ng-ihero .ng-lead{max-width:56ch}
.ng-ihero.single .ng-lead{max-width:64ch}
.ng-ipanel{position:relative;background:linear-gradient(160deg,var(--accent) 0%,var(--deep) 100%);border-radius:26px;padding:clamp(22px,3vw,34px);min-width:0;overflow:hidden;color:#fff;box-shadow:0 30px 70px rgba(10,37,64,.18)}
.ng-ipanel .blob{position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.ng-ipanel>*{position:relative}
.ng-ipanel .cap{font-size:12.5px;color:var(--accent-tint);text-align:center;margin-top:14px}
/* "in writing" card inside the panel (About) */
.ng-paper{background:#fff;color:var(--navy);border-radius:16px;box-shadow:0 20px 50px rgba(10,37,64,.22),0 0 0 1px var(--border);overflow:hidden;font-size:14px}
.ng-paper .hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,var(--accent-tint),#fff);font-weight:700}
.ng-paper .hd span{font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.ng-paper ul{padding:4px 18px 6px}
.ng-paper li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #EEF2F7;line-height:1.45}
.ng-paper li:last-child{border-bottom:0}
.ng-paper li .ck{flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--success-tint);display:flex;align-items:center;justify-content:center;margin-top:1px}
.ng-paper li .ck svg{width:13px;height:13px;stroke:var(--success);fill:none;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.ng-paper li b{display:block;color:var(--navy)}
.ng-paper li small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.ng-paper .ft{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 18px;border-top:1px solid var(--border);background:var(--bg);font-size:12.5px;color:var(--slate)}
.ng-paper .ft b{color:var(--navy)}
.ng-paper tbody tr,.ng-paper li{animation:ngrise .45s var(--ease) backwards}
.ng-paper li:nth-child(1){animation-delay:.45s}.ng-paper li:nth-child(2){animation-delay:.55s}.ng-paper li:nth-child(3){animation-delay:.65s}.ng-paper li:nth-child(4){animation-delay:.75s}
/* 30-day timeline inside the panel (Onboarding) */
.ng-tl{background:#fff;color:var(--navy);border-radius:16px;box-shadow:0 20px 50px rgba(10,37,64,.22),0 0 0 1px var(--border);padding:20px 20px 18px}
.ng-tl .hd{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;font-size:14px;margin-bottom:18px}
.ng-tl .hd span{font-size:12.5px;font-weight:600;color:var(--muted)}
.ng-tl .bar{position:relative;height:6px;border-radius:3px;background:var(--accent-tint);margin:0 10px 26px}
.ng-tl .bar i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--deep));width:100%;transform-origin:left center;animation:ngline 1.4s var(--ease) .5s backwards}
.ng-tl .bar b{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--accent);transform:translate(-50%,-50%);animation:ngcircle .4s var(--ease) backwards}
.ng-tl .bar b:nth-child(2){left:0;animation-delay:.6s}.ng-tl .bar b:nth-child(3){left:16%;animation-delay:.9s}.ng-tl .bar b:nth-child(4){left:58%;animation-delay:1.3s}.ng-tl .bar b:nth-child(5){left:100%;animation-delay:1.8s}
.ng-tl ol{display:grid;gap:8px}
.ng-tl li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:baseline;padding:9px 0;border-top:1px solid #EEF2F7;font-size:13.5px;animation:ngrise .45s var(--ease) backwards}
.ng-tl li:nth-child(1){animation-delay:.5s}.ng-tl li:nth-child(2){animation-delay:.6s}.ng-tl li:nth-child(3){animation-delay:.7s}.ng-tl li:nth-child(4){animation-delay:.8s}
.ng-tl li .d{font-size:12px;font-weight:700;color:var(--accent-hover);background:var(--accent-tint);border-radius:999px;padding:3px 9px;text-align:center;white-space:nowrap}
.ng-tl li b{display:block;color:var(--navy)}
.ng-tl li span{color:var(--slate)}
.ng-trust.on-tint{margin-top:8px}

/* ---------- pricing calculator, full version ---------- */
.ng-calc.full{margin-top:0}
.ng-calc .ctrls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.ng-calc .ctrl{border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:var(--bg)}
.ng-calc .ctrl .lbl{margin-bottom:8px}
.ng-stepper{display:flex;align-items:center;gap:10px}
.ng-stepper button{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--border-2);background:#fff;color:var(--navy);font-size:18px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}
.ng-stepper button:hover{border-color:var(--accent);color:var(--accent)}
.ng-stepper output{font-size:22px;font-weight:700;letter-spacing:-.03em;min-width:28px;text-align:center;font-variant-numeric:tabular-nums}
.ng-calc select{width:100%;font:inherit;font-size:14px;font-weight:600;padding:8px 10px;border:1.5px solid var(--border-2);border-radius:10px;background:#fff;color:var(--navy)}
.ng-calc .out.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.ng-calc .out .rate{font-size:clamp(22px,2vw,28px);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:#fff}
.ng-calc .out .rate small{display:block;font-size:12px;font-weight:600;color:var(--soft);margin-top:4px}
.ng-calc .yr{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;padding:12px 14px;border-radius:12px;background:var(--accent-tint);font-size:13.5px;color:var(--navy)}
.ng-calc .yr b{font-weight:700}
.ng-calc .yr .sv{color:var(--success);font-weight:700}

/* ---------- tables as cards ---------- */
.ng-tablecard{margin-top:28px;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow-card)}
.ng-tablecard .scroll{overflow-x:auto}
.ng-tablecard table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px}
.ng-tablecard th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--bg);padding:12px 18px;border-bottom:1px solid var(--border);white-space:nowrap}
.ng-tablecard td{padding:14px 18px;border-bottom:1px solid #EEF2F7;vertical-align:top;color:var(--slate);line-height:1.5}
.ng-tablecard tr:last-child td{border-bottom:0}
.ng-tablecard td:first-child{color:var(--navy);font-weight:600}
.ng-tablecard .num{font-variant-numeric:tabular-nums;white-space:nowrap}
.ng-tablecard .rate{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}
.ng-tablecard tbody tr{transition:background .15s}
.ng-tablecard tbody tr:hover{background:var(--bg)}
.ng-tablecard .us{background:var(--accent-tint)}
.ng-tablecard th.us{color:var(--accent-hover);background:var(--accent-tint)}
.ng-tablecard tbody tr:hover .us{background:#DCE8FF}
.ng-tablecard .cap{padding:12px 18px;font-size:13px;color:var(--muted);border-top:1px solid var(--border);background:var(--bg)}
.ng-tablecard.narrow{max-width:760px}
.ng-tablecard.narrow table{min-width:0}
.ng-after{margin-top:18px;font-size:15px;line-height:1.6;color:var(--slate);max-width:72ch}
.ng-after a,.ng-para a,.ng-check a,.ng-list a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ng-after a:hover,.ng-para a:hover{color:var(--accent-hover)}
.ng-para{font-size:16px;line-height:1.65;color:var(--slate);max-width:68ch;margin-top:16px}
.ng-para strong{color:var(--navy)}
.ng-para+.ng-para{margin-top:14px}
.ng-sec.tint .ng-after a,.ng-sec.tint .ng-para a,.ng-sec.tint .ng-list a{color:var(--accent-hover)}

/* ---------- two-up and three-up card grids reused across pages ---------- */
.ng-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ng-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.ng-t h3{font-size:17px;font-weight:700;letter-spacing:-.015em;line-height:1.3;color:var(--navy);padding-right:52px}
.ng-t p{font-size:14.5px;line-height:1.55;color:var(--slate)}
.ng-t .big.sm{font-size:clamp(24px,2.2vw,30px)}
.ng-t .foot{margin-top:auto;padding-top:12px}
.ng-t .foot a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px;font-size:14px}
.ng-t.lined{border:1px solid var(--border);box-shadow:none}
.ng-t.lined:hover{box-shadow:var(--shadow-card)}
.ng-t .chk{display:flex;flex-direction:column;margin-top:4px}
.ng-t .chk li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid #EEF2F7;font-size:14.5px;line-height:1.45;color:var(--navy)}
.ng-t .chk li svg{width:16px;height:16px;flex:0 0 16px;margin-top:3px;stroke:var(--accent);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ng-t .chk.dash li svg{stroke:var(--muted)}
.ng-t .chk.dash li{color:var(--slate)}
.ng-t.grey{background:var(--bg);box-shadow:none;border:1px solid var(--border)}

/* ---------- big fee cards (Who we serve, by size) ---------- */
.ng-size .lbl{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ng-size .fee{font-size:clamp(28px,2.6vw,36px);font-weight:700;letter-spacing:-.04em;line-height:1.05;color:var(--navy);margin:8px 0 2px;font-variant-numeric:tabular-nums}
.ng-size .fee small{font-size:14px;font-weight:600;letter-spacing:0;color:var(--muted);margin-left:4px}
.ng-size .rt{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--accent-tint);color:var(--accent-hover);font-size:12.5px;font-weight:700;margin-bottom:8px;align-self:flex-start}

/* ---------- promise and facts (About) ---------- */
.ng-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin-top:28px;border:1px solid var(--border);border-radius:18px;background:#fff;overflow:hidden}
.ng-facts>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:14px 20px;border-bottom:1px solid #EEF2F7;font-size:14.5px;line-height:1.5}
.ng-facts>div:nth-last-child(-n+2){border-bottom:0}
.ng-facts dt{font-weight:700;color:var(--navy)}
.ng-facts dd{color:var(--slate)}
.ng-facts dd a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ng-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.ng-person{background:#fff;border:1px solid var(--border);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:6px;min-width:0;transition:transform .2s,box-shadow .2s}
.ng-person:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.ng-person .photo{aspect-ratio:4/3;border-radius:14px;border:1.5px dashed var(--border-2);background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;color:var(--muted);text-align:center;padding:12px;margin-bottom:10px}
.ng-person .nm{font-size:17px;font-weight:700;letter-spacing:-.015em;color:var(--navy)}
.ng-person .ttl{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.02em}
.ng-person p{font-size:14px;line-height:1.5;color:var(--slate)}
.ng-person .cred{margin-top:auto;padding-top:10px;font-size:12.5px;color:var(--muted)}
.ng-person .cred b{color:var(--navy);font-weight:600}
.ng-pending{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--warn);background:var(--warn-tint);padding:3px 8px;border-radius:6px;vertical-align:middle;line-height:1.3}
.ng-sample{border-bottom:1px dotted var(--soft);cursor:help}
.ng-photo{margin-top:28px;aspect-ratio:16/7;border-radius:22px;border:1.5px dashed var(--border-2);background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px;font-weight:600;text-align:center;padding:20px}

/* ---------- checklist (Onboarding) and plain lists ---------- */
.ng-check{display:grid;gap:10px;margin-top:24px;max-width:720px}
.ng-check li{display:flex;gap:14px;align-items:flex-start;padding:14px 18px;background:#fff;border:1px solid var(--border);border-radius:14px;font-size:15px;line-height:1.5;color:var(--navy);transition:transform .2s,box-shadow .2s}
.ng-check li:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}
.ng-check li .k{flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:var(--accent-tint);display:flex;align-items:center;justify-content:center;margin-top:1px}
.ng-check li .k svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ng-list{columns:2;column-gap:32px;margin-top:20px;max-width:900px;font-size:15px;line-height:1.6;color:var(--navy)}
.ng-list li{break-inside:avoid;display:flex;gap:10px;align-items:flex-start;padding:7px 0}
.ng-list li svg{width:16px;height:16px;flex:0 0 16px;margin-top:5px;stroke:var(--accent);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ng-list.x li svg{stroke:var(--muted)}
.ng-list.x li{color:var(--slate)}
.ng-cols3{columns:3;column-gap:28px;margin-top:22px;font-size:15px;line-height:1.7;color:var(--navy)}
.ng-cols3 li{break-inside:avoid;padding:3px 0;display:flex;gap:9px;align-items:flex-start}
.ng-cols3 li i{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:0 0 6px;margin-top:11px}
.ng-nothing{display:flex;flex-wrap:wrap;align-items:center;gap:20px 36px;margin-top:26px;padding:26px 28px;border-radius:22px;background:var(--navy);color:#fff}
.ng-nothing .big{font-size:clamp(40px,5vw,64px);font-weight:700;letter-spacing:-.05em;line-height:1;color:#fff;flex:0 0 auto}
.ng-nothing .big span{color:var(--soft)}
.ng-nothing p{font-size:15px;line-height:1.6;color:#C7D3E3;max-width:60ch;flex:1 1 320px}
.ng-nothing p a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ng-nothing p a:hover{color:var(--soft)}

/* ---------- callout box and split note rows ---------- */
.ng-box{display:flex;gap:16px;align-items:flex-start;margin-top:22px;padding:20px 22px;border-radius:18px;background:var(--section-tint);border:1px solid #DCE6F2;max-width:860px}
.ng-box .k{flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px #DCE6F2}
.ng-box .k svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ng-box b{display:block;font-size:16px;color:var(--navy);margin-bottom:4px;letter-spacing:-.01em}
.ng-box p{font-size:14.5px;line-height:1.55;color:var(--slate)}
.ng-box.dark{background:var(--navy);border-color:var(--navy)}
.ng-box.dark .k{background:rgba(255,255,255,.12);box-shadow:none}
.ng-box.dark .k svg{stroke:var(--soft)}
.ng-box.dark b{color:#fff}
.ng-box.dark p{color:#C7D3E3}
.ng-box.dark a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ng-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px}
.ng-terms>div{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px 20px;font-size:14.5px;line-height:1.55;color:var(--slate)}
.ng-terms b{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-hover);margin-bottom:6px}
.ng-terms strong{color:var(--navy)}
.ng-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.ng-ctarow.tight{margin-top:24px}
.ng-ctarow .ng-link{font-size:15px}
.ng-updated{margin-top:22px;font-size:13.5px;color:var(--muted)}
.ng-updated b{color:var(--navy);font-weight:600}
.ng-sec-head .ng-ctas{margin-top:18px}

/* ---------- specialties hub ---------- */
.ng-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ng-jump a{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;background:#fff;border:1px solid var(--border);font-size:13.5px;font-weight:600;color:var(--navy);transition:border-color .15s,transform .15s}
.ng-jump a:hover{border-color:var(--accent);transform:translateY(-1px);color:var(--navy)}
.ng-jump a i{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.ng-scs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}
.ng-sc{position:relative;background:#fff;border:1px solid var(--border);border-radius:22px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:10px;min-width:0;scroll-margin-top:calc(var(--nav-h) + 24px);transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}
.ng-sc::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--accent),var(--soft));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.ng-sc:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);border-color:#CFE0FF}
.ng-sc:hover::before,.ng-sc:target::before{transform:scaleX(1)}
.ng-sc:target{border-color:var(--accent);box-shadow:var(--shadow-lift)}
.ng-sc .hd{display:flex;align-items:center;gap:12px}
.ng-sc .ic{width:44px;height:44px;border-radius:13px;background:var(--accent-tint);display:flex;align-items:center;justify-content:center;flex:0 0 44px}
.ng-sc .ic svg{width:21px;height:21px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ng-sc h3{font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--navy)}
.ng-sc p{font-size:14.5px;line-height:1.55;color:var(--slate)}
.ng-sc .den{margin-top:auto;display:flex;gap:9px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--warn-tint);color:var(--warn);font-size:13px;line-height:1.45;font-weight:600}
.ng-sc .den svg{width:15px;height:15px;flex:0 0 15px;margin-top:2px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ng-sc .den b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1px}
.ng-sc .lk{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--muted);padding-top:4px}
.ng-sc .lk svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ng-sc a.lk{color:var(--accent)}
.ng-sc a.lk:hover{color:var(--accent-hover)}
.ng-sc .soon{white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:3px 7px}
.ng-askform{max-width:720px}
.ng-askform .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.ng-askform .ng-stepper{margin-top:2px}
.ng-askform .ng-stepper input{width:64px;text-align:center;padding:9px 6px}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .ng-ihero{grid-template-columns:1fr;gap:26px;padding-top:22px}
  .ng-ihero .ng-h1,.ng-ihero.single .ng-h1{max-width:none}
  .ng-ipanel{padding:18px}
  .ng-tl li{grid-template-columns:56px minmax(0,1fr)}
  .ng-calc .ctrls{grid-template-columns:1fr}
  .ng-calc .out.three{grid-template-columns:1fr 1fr}
  .ng-calc .out.three>div:last-child{grid-column:span 2}
  .ng-grid.two,.ng-grid.four{display:flex}
  .ng-two{grid-template-columns:minmax(0,1fr)}
  .ng-facts{grid-template-columns:minmax(0,1fr)}
  .ng-facts>div{grid-template-columns:110px minmax(0,1fr);gap:12px;padding:12px 16px}
  .ng-facts>div:nth-last-child(2){border-bottom:1px solid #EEF2F7}
  .ng-team{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:22px -15px 0;padding:4px 15px 12px;scroll-padding-inline:15px;scrollbar-width:none}
  .ng-team::-webkit-scrollbar{display:none}
  .ng-team>*{flex:0 0 78%;scroll-snap-align:start}
  .ng-list{columns:1}
  .ng-cols3{columns:2}
  .ng-terms{grid-template-columns:minmax(0,1fr)}
  .ng-scs{grid-template-columns:1fr;gap:12px}
  .ng-askform .row{grid-template-columns:1fr}
  .ng-nothing{padding:22px}
  .ng-photo{aspect-ratio:4/3}
  .ng-tablecard{margin-left:0;margin-right:0;border-radius:14px;border:1px solid var(--border)}
}

/* two-up tables: let each card size to its column */
.ng-two{align-items:start}
.ng-two .ng-tablecard table{min-width:0}
.ng-two .ng-tablecard:not(.narrow) td:first-child{white-space:nowrap}
.ng-two .ng-tablecard th,.ng-two .ng-tablecard td{padding-left:14px;padding-right:14px}
@media (max-width:900px){.ng-two .ng-tablecard:not(.narrow) table{min-width:520px}.ng-two .ng-tablecard td:first-child{white-space:normal}}
.ng-size .rt svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round}
.ng-jump a svg,.ng-sc .lk svg{width:14px;height:14px}

/* bracket rows light up as the slider reaches them */
.ng-tablecard tr[data-bracket]{transition:background .25s,color .25s}
.ng-tablecard tr[data-bracket].on{background:var(--accent-tint)}
.ng-tablecard tr[data-bracket].on td:first-child{color:var(--accent-hover)}
.ng-size .fee span[data-count]{font-variant-numeric:tabular-nums}
.ng-two.tables{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.ng-two.tables .ng-tablecard:not(.narrow) th,.ng-two.tables .ng-tablecard:not(.narrow) td{padding-left:12px;padding-right:12px;font-size:14px}
@media (max-width:900px){.ng-two.tables{grid-template-columns:minmax(0,1fr)}}

/* ---------- medical billing services page (12 Oct 2026) ---------- */
.ng-ipanel .ng-sheet-wrap{padding:58px 0 58px}
.ng-ipanel .ng-callout.c1{top:2px;right:0}
.ng-ipanel .ng-callout.c2{bottom:2px;left:0}
.ng-list.one li>span{flex:1 1 auto;min-width:0}
.ng-check.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
.mb-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:22px 24px 20px;min-width:0;transition:transform .2s,box-shadow .2s}
.mb-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}
.mb-card.alt{background:var(--bg)}
.ng-sec.tint .mb-card.alt{background:#F3F7FD}
.mb-card h3{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--navy)}
.mb-card h3 .k{flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:var(--accent-tint);display:flex;align-items:center;justify-content:center}
.mb-card h3 .k svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.mb-card.alt h3 .k{background:var(--warn-tint)}
.mb-card.alt h3 .k svg{stroke:var(--warn)}
.ng-list.one{columns:1;margin-top:8px;max-width:none}
.ng-list.one li{padding:6px 0}
.ng-nothing .big .to{font-size:.4em;font-weight:600;color:#C7D3E3;letter-spacing:-.02em;margin-left:10px}
.mb-fit{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px 40px;margin-top:30px}
.mb-h3{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.mb-chips{margin-top:0}
.mb-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
.mb-three .mb-card h3{margin-bottom:4px}
.ng-sec .ng-sec-head .ng-h2{margin-top:0}
.ng-h1{margin-top:4px}
.mb-h3{font-size:15px;font-weight:700;letter-spacing:-.01em;text-transform:none;color:var(--navy);margin-bottom:12px}
.ng-box.dark{max-width:none;margin-top:26px}
.ng-box.dark .k svg{stroke:var(--soft)}
.ng-facts dt{white-space:nowrap}
.ng-spec{cursor:default}
@media (max-width:900px){.ng-check.two,.mb-fit,.mb-three{grid-template-columns:minmax(0,1fr)}.ng-facts{grid-template-columns:minmax(0,1fr)}.ng-facts>div{grid-template-columns:100px minmax(0,1fr)}.ng-facts>div:nth-last-child(2){border-bottom:1px solid #EEF2F7}.ng-ipanel .ng-sheet-wrap{padding:10px 0 20px}}


/* swipe-row dots: centred, active bar follows the scroll (main.js) */
@media (max-width:900px){.ng-hint{justify-content:center}.ng-hint.js i{width:6px;background:var(--border-2)}.ng-hint.js i.on{width:18px;background:var(--accent)}}

.ng-sheet-scroll{overflow-x:visible}
.ng-sheet table{min-width:0;table-layout:auto}
.ng-sheet th,.ng-sheet td{padding-left:10px;padding-right:10px}
.ng-sheet td{white-space:normal}
.ng-sheet td .ng-pill{white-space:nowrap}
@media (max-width:900px){
  .ng-sheet-scroll{overflow-x:auto}
  .ng-sheet table{min-width:460px}
  .ng-sheet td{white-space:nowrap}
}

/* claim sheet on phones: each row becomes a small card, so nothing scrolls or gets cut off */
@media (max-width:900px){
  .ng-sheet-scroll{overflow:visible}
  .ng-sheet table,.ng-sheet tbody{display:block;min-width:0;width:100%}
  .ng-sheet thead{display:none}
  .ng-sheet tr{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 16px;border-bottom:1px solid #EEF2F7}
  .ng-sheet tr:last-child{border-bottom:0}
  .ng-sheet td{display:block;padding:0;border:0;white-space:normal}
  .ng-sheet td:nth-child(1){grid-column:1;grid-row:1;font-size:12px;color:var(--muted)}
  .ng-sheet td:nth-child(2){grid-column:1;grid-row:2;font-weight:600}
  .ng-sheet td:nth-child(3){grid-column:2;grid-row:1 / span 2;align-self:center;font-size:15px}
  .ng-sheet td:nth-child(4){grid-column:1;grid-row:3;margin-top:6px}
  .ng-sheet td:nth-child(5){grid-column:2;grid-row:3;margin-top:6px;align-self:center;font-size:12.5px;color:var(--slate);text-align:right}
}
@media (max-width:900px){.ng-sheet td:nth-child(3),.ng-sheet td:nth-child(5){justify-self:end}}

/* phones: the two floating callouts sit in the flow above and below the sheet instead of overlapping it */
.ng-sheet-top b i{flex:0 0 8px}
@media (max-width:900px){
  .ng-sheet-wrap{display:flex;flex-direction:column;gap:12px;padding:0}
  .ng-callout{position:static;width:100%;animation:none!important}
  .ng-callout.c1{order:0}
  .ng-sheet{order:1}
  .ng-callout.c2{order:2}
  .ng-sheet-top{flex-wrap:wrap;gap:4px 12px}
  .ng-sheet-top b{align-items:flex-start;line-height:1.35}
  .ng-sheet-top b i{margin-top:6px}
  .ng-sheet-top span{white-space:normal}
}

/* mobile text size: 14px */
@media (max-width:900px){
  body{font-size:14px}
  p,li,dd,td,address,blockquote,.ng-lead,.ng-intro,.ng-para,.ng-after,.ng-prose,.ng-related,.ng-micro,.ng-thanks,.ng-foot,.ng-foot a,.ng-foot-col a,.ng-spec,.ng-pr-note,.ng-switch-note,.ng-way .v,.in-step .sub{font-size:14px!important}
}

/* button text: initial capitals */
.ng-btn,.ng-c .btn,.ng-spec.all,.in-add{text-transform:capitalize}

/* mobile: smaller step number circles */
@media (max-width:900px){
  .ng-step .n{width:48px;height:48px;font-size:17px;box-shadow:0 0 0 6px #fff,0 8px 20px rgba(10,102,255,.3);margin-bottom:-12px;top:-24px}
}

/* mobile: slightly smaller buttons */
@media (max-width:900px){
  .ng-btn{height:46px;padding:0 18px;font-size:14px}
  .ng-btn.lg{height:52px;padding:0 24px;font-size:15px}
  .ng-mobile .ng-btn{height:46px;font-size:15px}
}
