/* Free billing audit page: complete stylesheet (style.css is not loaded here). */

/* Northgate Billing shared stylesheet, v5 (12 Oct 2026).
   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;
}


/* ---------- 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:flex;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;padding:clamp(24px,3vw,36px) clamp(18px,2.5vw,32px) clamp(76px,7vw,104px);max-width: 661px;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);padding:56px 0}
.ng-proof{position:relative;z-index:3}
.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:0}
  .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}
}



/* ---------- Free Billing Audit page (au-) ---------- */
.au-hero .ng-copy{max-width:574px}
.au-hero .ng-crumbs{margin-bottom:0}
.au-hero .ng-h1{max-width:15ch}
.au-hero .ng-trust span{color:var(--navy)}

/* sample audit page inside the gradient panel */
.au-rep-wrap{position:relative;padding:22px 0 46px;color:var(--navy)}
.au-rep{background:#fff;border-radius:16px;box-shadow:0 30px 70px rgba(10,37,64,.18),0 0 0 1px var(--border);overflow:hidden;font-size:13.5px}
.au-rep .top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,var(--accent-tint),#fff)}
.au-rep .top b{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;min-width:0}
.au-rep .top b i{width:8px;height:8px;border-radius:50%;background:var(--success);display:inline-block;flex:0 0 8px;box-shadow:0 0 0 0 rgba(21,128,61,.35);animation:ngpulse 2.2s ease-out infinite}
.hero-off .au-rep .top b i{animation-play-state:paused}
.au-rep .top span{font-size:12px;color:var(--muted);white-space:nowrap}
.au-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-bottom:1px solid var(--border)}
.au-kpi{padding:14px 18px 16px;min-width:0}
.au-kpi+.au-kpi{border-left:1px solid var(--border)}
.au-l{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.au-kpi .v{display:block;margin:6px 0 10px}
.au-kpi .v b{font-size:26px;font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.au-kpi .v b.bad{color:var(--error)}
.au-kpi .v small{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-top:4px}
.au-bar{position:relative;height:10px;border-radius:999px;background:#EEF2F7;overflow:visible}
.au-bar .fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--accent);transform-origin:left center;animation:augrow 1s var(--ease) .7s backwards}
.au-bar .fill.over{background:linear-gradient(90deg,var(--accent) 0%,var(--accent) 55%,#E5484D 100%)}
.au-bar .mark{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--navy);border-radius:2px}
.au-bar .mark::after{content:attr(data-t);position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:4px;font-size:10.5px;color:var(--muted);white-space:nowrap;font-weight:600}
.au-kpi .au-bar{margin-bottom:16px}
@keyframes augrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.au-aging{padding:14px 18px 16px;border-bottom:1px solid var(--border)}
.au-seg{display:flex;height:16px;border-radius:999px;overflow:hidden;margin:9px 0 8px;background:#EEF2F7}
.au-seg span{display:block;height:100%;transform-origin:left center;animation:augrow .9s var(--ease) backwards}
.au-seg .s1{background:#CFE0FF;animation-delay:.9s}.au-seg .s2{background:#8FB9FF;animation-delay:1s}.au-seg .s3{background:var(--accent);animation-delay:1.1s}.au-seg .s4{background:#F59E0B;animation-delay:1.2s}.au-seg .s5{background:#E5484D;animation-delay:1.3s}
.au-leg{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--slate);font-weight:500}
.au-leg i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:1px}
.au-rec{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 18px 16px;background:var(--navy);color:#fff}
.au-rec .au-l{color:var(--soft)}
.au-rec .big{font-size:30px;font-weight:700;letter-spacing:-.04em;line-height:1;margin-top:5px;font-variant-numeric:tabular-nums}
.au-rec .side{font-size:12.5px;color:#C7D3E3;line-height:1.4;max-width:46%}
.au-callout.c1{right:14px;top:0}
.au-callout.c2{left:auto;right:14px;bottom:0}
.ng-callout .ic.red{background:var(--error-tint)}
.ng-callout .ic.red svg{stroke:var(--error)}

/* proof strip variant */
.au-proof .ng-stat .n{font-size:28px}

/* what the audit covers */
.au-cover{margin-top:30px;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow-card)}
.au-cover .tablewrap{overflow-x:auto}
.au-cover table{width:100%;border-collapse:collapse;font-size:14px;min-width:720px}
.au-cover th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--bg);padding:12px 16px;border-bottom:1px solid var(--border)}
.au-cover td{padding:13px 16px;border-bottom:1px solid #EEF2F7;vertical-align:top;color:var(--slate);line-height:1.5}
.au-cover tbody tr{transition:background .15s}
.au-cover tbody tr:hover{background:var(--bg)}
.au-cover tr:last-child td{border-bottom:0}
.au-cover td:first-child{color:var(--navy);font-weight:600;white-space:nowrap}
.au-cover td:last-child{color:var(--navy)}
.au-cover .opt{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-hover);background:var(--accent-tint);padding:2px 7px;border-radius:6px;margin-left:6px;vertical-align:middle}
.au-cover-foot{display:flex;gap:12px;align-items:center;padding:14px 16px;border-top:1px solid var(--border);background:var(--section-tint);font-size:14.5px;font-weight:600;color:var(--navy)}
.au-cover-foot svg{width:18px;height:18px;flex:0 0 18px;stroke:var(--accent-hover);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* how it works: reuse ng-steps */
.au-steps .ng-step p a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* before you upload */
.au-priv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}
.au-pc{background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:transform .2s,box-shadow .2s}
.au-pc:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.au-pc .tag{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-hover)}
.au-pc .tag svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.au-pc.pref{border-color:#CFE0FF;background:var(--section-tint)}
.au-pc .tag.ok{color:var(--success)}
.au-pc h3{font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--navy)}
.au-pc p{font-size:14.5px;line-height:1.55;color:var(--slate)}
.au-retain{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:16px 18px;border-radius:14px;background:#fff;border:1px solid var(--border);font-size:14.5px;line-height:1.55;color:var(--slate)}
.au-retain svg{width:18px;height:18px;flex:0 0 18px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}

/* ---------- the form ---------- */
.au-form-sec{scroll-margin-top:calc(var(--nav-h) + 8px)}
.au-form-head{max-width:720px;margin:0 auto 28px;text-align:center}
.au-form-head .ng-intro{margin:0 auto}
.au-form{max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:0 24px 60px rgba(10,37,64,.10);overflow:hidden}
.au-prog{padding:18px 28px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;font-weight:700;color:var(--muted)}
.au-prog b{color:var(--navy)}
.au-prog-bar{height:4px;background:#EEF2F7;margin:12px 28px 0;border-radius:999px;overflow:hidden}
.au-prog-bar i{display:block;height:100%;width:25%;background:var(--accent);border-radius:999px;transition:width .4s var(--ease)}
.au-tabs{display:flex;gap:4px;padding:14px 28px 0;overflow-x:auto;scrollbar-width:none}
.au-tabs::-webkit-scrollbar{display:none}
.au-tabs span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted);padding:6px 10px;border-radius:999px;white-space:nowrap}
.au-tabs span i{width:20px;height:20px;border-radius:50%;background:#EEF2F7;color:var(--muted);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-style:normal}
.au-tabs span.on{color:var(--navy);background:var(--accent-tint)}
.au-tabs span.on i{background:var(--accent);color:#fff}
.au-tabs span.done i{background:var(--success);color:#fff}
.au-step{padding:22px 28px 28px;display:none}
.au-step.on{display:block;animation:ngfade .35s var(--ease)}
.au-step h3{font-size:22px;letter-spacing:-.025em;margin:0 0 4px;color:var(--navy)}
.au-step .sub{font-size:14px;color:var(--muted);margin:0 0 22px}
.au-q{margin-bottom:22px}
.au-q>label,.au-q>.lbl{display:block;font-size:15px;font-weight:600;margin-bottom:8px;color:var(--navy)}
.au-q .lbl .opt,.au-q>label .opt{font-weight:500;color:var(--muted);font-size:13px}
.au-q .why{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--muted);line-height:1.5;margin-top:7px}
.au-q .why svg{width:14px;height:14px;flex:0 0 14px;stroke:var(--muted);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:3px}
.au-q .msg{display:none;font-size:12.5px;color:var(--error);margin-top:6px}
.au-q.err .msg{display:block}
.au-q.err input:not([type=radio]):not([type=checkbox]),.au-q.err select{border-color:var(--error)}
.au-q.err .au-opts label{border-color:#F5C2C2}
.au-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.au-bench{display:none;align-items:flex-start;gap:9px;margin-top:9px;padding:10px 13px;border-radius:10px;background:var(--accent-tint);color:var(--accent-hover);font-size:13.5px;font-weight:600;line-height:1.5;animation:ngfade .3s var(--ease)}
.au-bench.show{display:flex}
.au-bench svg{width:15px;height:15px;flex:0 0 15px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;margin-top:3px}
.au-bench.over{background:var(--warn-tint);color:var(--warn)}
.au-bench.good{background:var(--success-tint);color:var(--success)}
/* option tiles (radio) */
.au-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.au-opts.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}
.au-opts label{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1.5px solid var(--border-2);border-radius:12px;font-size:14.5px;font-weight:500;color:var(--navy);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;margin:0;background:#fff}
.au-opts label:hover{border-color:var(--accent)}
.au-opts input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--accent);margin:0}
.au-opts label.sel{border-color:var(--accent);background:var(--accent-tint);box-shadow:0 0 0 3px rgba(10,102,255,.12);font-weight:600}
.au-opts label .in{flex:1;display:flex;align-items:center;gap:8px;min-width:0}
.au-opts label .in input[type=text],.au-opts label .in input[type=number]{width:100%;max-width:140px;height:34px;padding:0 10px;border:1px solid var(--border-2);border-radius:8px;font:inherit;font-size:14px;color:var(--navy);background:#fff}
.au-opts label .in input[type=number]{max-width:92px}
.au-opts label .in input[type=text]:focus,.au-opts label .in input[type=number]:focus{border-color:var(--accent);outline:3px solid var(--accent-tint);outline-offset:0}
.au-opts label .in .unit{font-size:13px;color:var(--muted);font-weight:600}
.au-checks{display:grid;gap:8px}
.au-checks label{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border:1.5px solid var(--border-2);border-radius:12px;font-size:14.5px;font-weight:500;color:var(--navy);cursor:pointer;margin:0;background:#fff;transition:border-color .15s,background .15s;line-height:1.4}
.au-checks label:hover{border-color:var(--accent)}
.au-checks input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--accent);margin:1px 0 0}
.au-checks label.sel{border-color:var(--accent);background:var(--accent-tint);font-weight:600}
/* stepper */
.au-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--border-2);border-radius:12px;overflow:hidden;background:#fff}
.au-stepper button{width:46px;height:46px;border:0;background:var(--bg);color:var(--navy);font-size:22px;cursor:pointer;line-height:1;transition:background .15s}
.au-stepper button:hover{background:var(--accent-tint)}
.au-stepper input{width:72px;height:46px;border:0;border-left:1.5px solid var(--border-2);border-right:1.5px solid var(--border-2);text-align:center;font:inherit;font-size:18px;font-weight:700;color:var(--navy);-moz-appearance:textfield}
.au-stepper input::-webkit-outer-spin-button,.au-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.au-stepper input:focus{outline:3px solid var(--accent-tint);outline-offset:-3px}
/* money slider */
.au-money{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.au-money .amt{display:flex;align-items:center;border:1.5px solid var(--border-2);border-radius:12px;background:#fff;overflow:hidden;height:46px}
.au-money .amt span{padding:0 10px 0 14px;font-weight:700;color:var(--muted)}
.au-money .amt input{width:120px;height:100%;border:0;font:inherit;font-size:17px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.au-money .amt input::-webkit-outer-spin-button,.au-money .amt input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.au-money .amt input:focus{outline:3px solid var(--accent-tint);outline-offset:-3px}
.au-money .amt .per{padding:0 14px 0 6px;font-size:13px;font-weight:600;color:var(--muted)}
.au-money input[type=range]{flex:1;min-width:180px;accent-color:var(--accent);height:28px;cursor:pointer;margin:0}
.au-ticks{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);font-weight:500;margin-top:2px}
/* number with not-sure */
.au-num{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.au-num .unitwrap{display:flex;align-items:center;border:1.5px solid var(--border-2);border-radius:12px;background:#fff;overflow:hidden;height:46px}
.au-num .unitwrap input{width:96px;height:100%;border:0;font:inherit;font-size:17px;font-weight:700;color:var(--navy);padding:0 0 0 14px;-moz-appearance:textfield}
.au-num .unitwrap input::-webkit-outer-spin-button,.au-num .unitwrap input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.au-num .unitwrap input:focus{outline:3px solid var(--accent-tint);outline-offset:-3px}
.au-num .unitwrap span{padding:0 14px 0 6px;font-size:13.5px;font-weight:600;color:var(--muted)}
.au-num .ns{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--slate);cursor:pointer;margin:0}
.au-num .ns input{width:17px;height:17px;accent-color:var(--accent);margin:0}
/* uploads */
.au-drop{position:relative;border:2px dashed var(--border-2);border-radius:16px;padding:22px 20px;text-align:center;background:var(--bg);transition:border-color .15s,background .15s}
.au-drop:hover,.au-drop.over{border-color:var(--accent);background:var(--accent-tint)}
.au-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.au-drop .ic{width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.au-drop .ic svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.au-drop b{display:block;font-size:15px;color:var(--navy)}
.au-drop small{display:block;font-size:12.5px;color:var(--muted);margin-top:4px}
.au-drop.locked{opacity:.55;pointer-events:none}
.au-drop .file{display:none;margin-top:10px;font-size:13.5px;font-weight:600;color:var(--success);align-items:center;justify-content:center;gap:7px}
.au-drop .file svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.au-drop.has .file{display:flex}
.au-drop.has{border-style:solid;border-color:var(--success);background:var(--success-tint)}
.au-drop.has b,.au-drop.has small{display:none}
.au-drop.has .ic{display:none}
.au-where{margin-top:10px;border:1px solid var(--border);border-radius:12px;background:#fff}
.au-where summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;font-size:13.5px;font-weight:600;color:var(--navy)}
.au-where summary::-webkit-details-marker{display:none}
.au-where summary svg{width:16px;height:16px;stroke:var(--accent);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.au-where[open] summary svg{transform:rotate(180deg)}
.au-where ul{padding:0 14px 12px;display:grid;gap:6px;font-size:13.5px;color:var(--slate)}
.au-where li{display:flex;gap:8px;flex-wrap:wrap}
.au-where li b{color:var(--navy);min-width:120px;font-weight:600}
.au-where li code{font-family:inherit;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:1px 7px;font-size:13px;color:var(--navy)}
.au-where li.me{background:var(--accent-tint);border-radius:8px;padding:6px 8px;margin:0 -8px}
.au-lock{display:none;margin-top:10px;padding:10px 13px;border-radius:10px;background:var(--warn-tint);color:var(--warn);font-size:13.5px;font-weight:600;line-height:1.5}
.au-lock.show{display:block}
.au-baa{display:none;margin-top:14px;border:1.5px solid var(--accent);border-radius:16px;padding:18px 20px;background:var(--section-tint)}
.au-baa.show{display:block;animation:ngfade .3s var(--ease)}
.au-baa h3{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--navy);margin:0 0 6px}
.au-baa p{font-size:14px;color:var(--slate);line-height:1.55;margin:0 0 12px}
.au-baa .doc{height:110px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:12.5px;color:var(--slate);line-height:1.5;margin-bottom:12px}
.au-baa .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.au-baa .row input{flex:1;min-width:180px;height:44px;padding:0 12px;border:1px solid var(--border-2);border-radius:10px;font:inherit;font-size:15px;color:var(--navy)}
.au-baa .row input:focus{border-color:var(--accent);outline:3px solid var(--accent-tint);outline-offset:0}
.au-baa .ng-btn{height:44px}
.au-baa.signed .row{display:none}
.au-baa .signed-line{display:none;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--success)}
.au-baa.signed .signed-line{display:flex}
.au-baa .signed-line svg{flex:0 0 18px;width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.au-later{margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--bg);border:1px solid var(--border);font-size:14px;color:var(--slate);line-height:1.55}
.au-later b{color:var(--navy)}
.au-later button{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--accent);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.au-later.on{background:var(--success-tint);border-color:#A7E3B8;color:var(--success)}
.au-later.on b{color:var(--success)}
/* nav row */
.au-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 28px 26px;flex-wrap:wrap}
.au-nav .ng-btn{height:50px}
.au-nav .back{background:transparent;color:var(--slate);border:0;font-weight:600;display:inline-flex;align-items:center;gap:7px;cursor:pointer;padding:0 6px;height:50px}
.au-nav .back:hover{color:var(--navy)}
.au-nav .back svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.au-nav .next svg,.au-nav .submit svg{width:15px;height:15px}
.au-under{width:100%;font-size:13px;color:var(--muted);text-align:right;margin-top:-10px}
.au-errsum{margin:0 0 16px;padding:12px 14px;border-radius:12px;background:var(--error-tint);color:var(--error);font-size:14px}
.au-errsum ul{margin:6px 0 0;padding-left:18px;list-style:disc}
.au-errsum a{color:var(--error);font-weight:600;text-decoration:underline}
.au-consent{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border:1.5px solid var(--border-2);border-radius:12px;background:var(--bg);margin-bottom:8px}
.au-consent input{width:18px;height:18px;flex:0 0 18px;margin-top:2px;accent-color:var(--accent)}
.au-consent label{font-size:13.5px;font-weight:500;line-height:1.5;color:var(--slate);margin:0}
.au-consent label a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.au-q.err .au-consent{border-color:var(--error)}
.au-privline{font-size:13px;color:var(--muted);margin-top:8px}
/* confirmation */
.au-done{display:none;padding:34px 28px 32px}
.au-done.on{display:block;animation:ngrise .5s var(--ease)}
.au-done .ok{width:58px;height:58px;border-radius:50%;background:var(--success-tint);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.au-done .ok svg{width:28px;height:28px;stroke:var(--success);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.au-done h3{font-size:26px;letter-spacing:-.03em;margin:0 0 8px;color:var(--navy)}
.au-done .ng-intro{max-width:60ch}
.au-done .due{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:9px 14px;border-radius:999px;background:var(--accent-tint);color:var(--accent-hover);font-weight:700;font-size:14px}
.au-done .due svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.au-done ul{margin:22px 0 0;display:grid;gap:10px;max-width:60ch}
.au-done li{display:flex;gap:11px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--navy)}
.au-done li svg{width:18px;height:18px;flex:0 0 18px;stroke:var(--accent);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;margin-top:3px}
.au-done .ng-ctas{margin-top:24px}
.au-done .preview{margin-top:18px;font-size:13px;color:var(--warn);background:var(--warn-tint);padding:10px 13px;border-radius:10px;display:inline-block}

/* why free + sample */
.au-why{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,64px);align-items:start}
.au-why .ng-intro{max-width:none;font-size:17px}
.au-sample{max-width:860px;margin:30px auto 0;background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-card);overflow:hidden}
.au-sample .top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid var(--border);background:var(--bg);font-size:13px;color:var(--muted)}
.au-sample .top b{color:var(--navy);font-size:14px}
.au-sample .top .pending{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}
.au-sample dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.au-sample .row{padding:16px 22px;border-bottom:1px solid #EEF2F7;border-right:1px solid #EEF2F7;min-width:0}
.au-sample .row:nth-child(2n){border-right:0}
.au-sample .row.wide{grid-column:span 2;border-right:0}
.au-sample dt{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.au-sample dd{font-size:14.5px;line-height:1.55;color:var(--slate)}
.au-sample dd b{color:var(--navy);font-size:17px;letter-spacing:-.02em}
.au-sample dd b.bad{color:var(--error)}
.au-sample dd b.good{color:var(--success)}

/* final cta */
.au-final .b-card li b{color:var(--navy)}

@media (max-width:900px){
  .au-cover table,.au-cover tbody,.au-cover tr,.au-cover td{display:block;min-width:0}
  .au-cover thead{display:none}
  .au-cover tr{padding:14px 16px;border-bottom:1px solid var(--border)}
  .au-cover tr:last-child{border-bottom:0}
  .au-cover td{padding:0;border:0;white-space:normal}
  .au-cover td:first-child{font-size:15.5px;margin-bottom:6px;white-space:normal}
  .au-cover td[data-l]{padding-left:0;margin-top:6px;font-size:14px}
  .au-cover td[data-l]::before{content:attr(data-l);display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
  .au-hero .ng-h1{max-width:none}
  .au-rep-wrap{padding:56px 0 56px}
  .au-kpis{grid-template-columns:1fr}
  .au-kpi+.au-kpi{border-left:0;border-top:1px solid var(--border)}
  .au-rec .side{max-width:none}
  .au-priv{grid-template-columns:1fr}
  .au-prog,.au-tabs{padding-left:18px;padding-right:18px}
  .au-prog-bar{margin-left:18px;margin-right:18px}
  .au-step{padding:18px 18px 22px}
  .au-nav{padding:0 18px 20px}
  .au-grid2,.au-opts,.au-opts.cols3{grid-template-columns:1fr}
  .au-nav .ng-btn{width:auto}
  .au-nav .next,.au-nav .submit{flex:1}
  .au-under{text-align:left;margin-top:0}
  .au-why{grid-template-columns:1fr}
  .au-sample dl{grid-template-columns:1fr}
  .au-sample .row{border-right:0}
  .au-sample .row.wide{grid-column:auto}
  .au-done{padding:26px 18px}
}

/* ---------- form in the hero panel ---------- */
.au-hero .ng-panel{padding:clamp(18px,2.2vw,18px) clamp(14px,2vw,18px) clamp(18px,2.2vw,18px)}
.au-panel-form .au-form{max-width:none;margin:0;border:0;box-shadow:0 30px 70px rgba(10,37,64,.25)}
.au-panel-form .au-prog,.au-panel-form .au-tabs{padding-left:22px;padding-right:22px}
.au-panel-form .au-prog-bar{margin-left:22px;margin-right:22px}
.au-panel-form .au-step{padding:18px 22px 22px}
.au-panel-form .au-nav{padding:0 22px 22px}
.au-panel-form .au-grid2{grid-template-columns:1fr;gap:0}
.au-panel-form .au-opts{grid-template-columns:1fr 1fr}
.au-panel-form .au-step h3{font-size:19px}
.au-panel-form .au-done{padding:26px 22px 24px}
.au-mobile-cta{display:none}
.au-hero .ng-copy{justify-content:flex-start;padding-top:8px}
/* sample card lower on the page: animate when it scrolls into view, not on load */
.au-sample-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);margin-top:30px;align-items:start}
.au-sample{margin:0;max-width:none}
.au-sample-vis .au-rep-wrap{padding:28px 0 46px}
.au-sample-vis .au-rep .fill,.au-sample-vis .au-seg span{animation:none}
.au-sample-vis.in .au-rep .fill{animation:augrow 1s var(--ease) .3s backwards}
.au-sample-vis.in .au-seg span{animation:augrow .9s var(--ease) backwards}
.au-sample-vis.in .au-seg .s1{animation-delay:.5s}.au-sample-vis.in .au-seg .s2{animation-delay:.6s}.au-sample-vis.in .au-seg .s3{animation-delay:.7s}.au-sample-vis.in .au-seg .s4{animation-delay:.8s}.au-sample-vis.in .au-seg .s5{animation-delay:.9s}
.au-sample-vis .ng-callout.ng-pop{animation:none}
.au-sample-vis.in .ng-callout.ng-pop{animation:ngpop .5s var(--ease) backwards,ngfloat 6s ease-in-out infinite}
.au-sample-vis.in .ng-callout.ng-pop.c1{animation-delay:.6s,1.2s}
.au-sample-vis.in .ng-callout.ng-pop.c2{animation-delay:.8s,2s}
.au-sample-vis .au-rep .top b i{animation:none}
@media (max-width:900px){
  .au-mobile-cta{display:flex}
  .au-sample-grid{grid-template-columns:1fr}
  .au-panel-form .au-opts{grid-template-columns:1fr}
  .au-hero .ng-panel{padding:14px 12px;border-radius:22px}
  .au-panel-form .au-prog,.au-panel-form .au-tabs{padding-left:16px;padding-right:16px}
  .au-panel-form .au-prog-bar{margin-left:16px;margin-right:16px}
  .au-panel-form .au-step{padding:16px 16px 20px}
  .au-panel-form .au-nav{padding:0 16px 18px}
}

.au-hero-list{margin-top:10px;padding:18px 20px 16px;border-radius:18px;background:#fff;border:1px solid var(--border);max-width:460px}
.au-hero-list .t{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-hover);margin-bottom:8px}
.au-hero-list ul{display:flex;flex-direction:column}
.au-hero-list li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid #EEF2F7;font-size:14.5px;line-height:1.45;color:var(--navy);font-weight:500}
.au-hero-list li:first-child{border-top:0}
.au-hero-list 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}
.au-hero-list>a{display:inline-block;margin-top:8px;font-size:14px}
@media (max-width:900px){.au-hero-list{display:none}}


/* success screen: the blue frame shrinks to the confirmation card, no empty space below it */
.au-hero .ng-panel:has(.au-done.on){align-self:start}

/* ---------- mobile: stack the hero and keep everything inside the screen ----------
   .ng-hero is a flex row on desktop, so the grid rule in the earlier mobile block never applied. */
@media (max-width:900px){
  .au-hero .ng-hero{flex-direction:column;align-items:stretch;gap:24px;padding-top:24px}
  .au-hero .ng-hero>*{min-width:0;max-width:100%}
  .au-hero .ng-copy{width:100%;padding-bottom:0}
  .au-hero .ng-panel,.au-hero .ng-panel:has(.au-done.on){width:100%;max-width:100%;box-sizing:border-box;align-self:stretch}
  .au-hero .ng-panel-in,.au-panel-form,.au-form,.au-form-body,.au-step,.au-q,.au-done{min-width:0;max-width:100%}
  .au-tabs{max-width:100%}
  /* confirmation screen: long emails and dates wrap instead of pushing the card wider */
  .au-done h3{font-size:22px;overflow-wrap:anywhere}
  .au-done p,.au-done li,.au-done b{overflow-wrap:anywhere}
  .au-done .due{flex-wrap:wrap;max-width:100%}
  .au-done .ng-ctas .ng-btn{width:100%}
  /* smaller Back / Continue / Start my audit buttons inside the form */
  .au-hero .au-nav .ng-btn,.au-hero .au-nav .back{height:44px;font-size:14.5px}
  .au-hero .au-nav .ng-btn{padding:0 20px}
  .au-hero .au-nav .next{flex:0 1 auto;min-width:140px}
  /* the signed-BAA text and the file drop zones stay inside the card */
  .au-baa,.au-baa .doc,.au-drop{max-width:100%;min-width:0}
}
@media (max-width:420px){
  .au-hero .ng-panel{padding:10px 8px;border-radius:18px}
  .au-panel-form .au-prog,.au-panel-form .au-tabs{padding-left:12px;padding-right:12px}
  .au-panel-form .au-prog-bar{margin-left:12px;margin-right:12px}
  .au-panel-form .au-step{padding:14px 12px 18px}
  .au-panel-form .au-nav{padding:0 12px 16px}
  .au-panel-form .au-done{padding:22px 14px 20px}
}

/* mobile: the form panel is moved below the proof strip by free-billing-audit.js; keep the wrapper tight */
.au-form-mobile{padding-bottom:28px}
.au-form-mobile .ng-hero{padding-top:0}

/* 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}
}

/* mobile: smaller text inside the audit form */
@media (max-width:900px){
  .au-form .au-prog,.au-form .au-tabs span{font-size:12px}
  .au-form .au-step h3,.au-panel-form .au-step h3{font-size:17px}
  .au-form .au-q>label,.au-form .au-q>.lbl{font-size:13.5px;margin-bottom:6px}
  .au-form .au-q .lbl .opt,.au-form .au-q>label .opt{font-size:12px}
  .au-form .au-q .why{font-size:12px}
  .au-form .field input,.au-form .field select,.au-form .field textarea{font-size:14px}
  .au-form .au-opts label,.au-form .au-checks label{font-size:13.5px}
  .au-form .au-stepper input{font-size:16px}
  .au-form .au-money .amt input,.au-form .au-num .unitwrap input{font-size:15px}
  .au-form .au-num .ns{font-size:13px}
  .au-form .au-consent label{font-size:12.5px}
}

/* dropdowns: the arrow gets the same gap from the border as the text has on the left */
.au-form .field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:42px;cursor:pointer;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A2540' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}

/* mobile: more room in the "What the audit covers" cards (title, label, text) */
@media (max-width:900px){
  .au-cover tr{padding:18px 18px 16px}
  .au-cover td:first-child{font-size:15.5px!important;font-weight:700;line-height:1.3;margin-bottom:12px;color:var(--navy)}
  .au-cover td[data-l]{margin-top:14px;line-height:1.6;color:var(--slate)}
  .au-cover td[data-l]::before{font-size:11px;letter-spacing:.08em;margin-bottom:5px}
}

/* "What do you pay today": the $ / % sign sits on the same line as its input */
.au-opts label .in [data-pay-in]{display:inline-flex;align-items:center;gap:6px}
.au-opts label .in .unit{line-height:1}
.au-opts label .in [data-pay-in]{gap:8px}
.au-opts label .in [data-pay-in] input[type=number]{flex:0 0 auto;width:116px;max-width:none}
.au-opts label .in [data-pay-in="percent"] input[type=number]{width:84px}
