/* ==========================================================================
   SaMeD RCM Solutions LLC Homepage
   Rebuilt to match the client-supplied design exactly.
   ========================================================================== */

@font-face{font-family:'Poppins';src:url('fonts/poppins-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Poppins';src:url('fonts/poppins-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Poppins';src:url('fonts/poppins-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Poppins';src:url('fonts/poppins-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Poppins';src:url('fonts/poppins-800.woff2') format('woff2');font-weight:800;font-display:swap}

:root{
  --navy-bar:#001A4D;      /* top announcement bar */
  --navy:#0B2472;          /* primary heading navy */
  --navy-band:#002263;     /* stats band / dark panels */
  --navy-btn:#002468;      /* navy buttons */
  --navy-card:#00197A;     /* "view all" tile */
  --green:#007838;         /* primary green (buttons) */
  --green-label:#008446;   /* eyebrow labels */
  --green-text:#0A7A3C;
  --red:#E03131;
  --text:#45464E;
  --muted:#5A6280;
  --border:#E3E9F3;
  --border-soft:#EDF1F8;
  --bg:#FFFFFF;
  --bg-soft:#F9FBFE;
  --shadow:0 1px 3px rgba(10,36,114,.05);
  --wrap:1200px;
  --r:12px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:clamp(13px, 1.305vw, 20.8px);scroll-padding-top:6.5rem}
body{
  margin:0;font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;
  font-size:0.9375rem;line-height:1.62;letter-spacing:-.005em;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5{margin:0;color:var(--navy);font-weight:700;line-height:1.22;letter-spacing:-.02em}
p{margin:0 0 0.875rem}
.wrap{width:94%;max-width:99.625rem;margin:0 auto;padding:0}
.green{color:var(--green-text)}
.navy{color:var(--navy)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:0.5625rem;
  font-weight:600;font-size:0.9062rem;line-height:1.25;text-align:center;
  padding:0.8125rem 1.625rem;border-radius:0.5rem;border:0;cursor:pointer;
  transition:filter .18s ease,transform .18s ease,box-shadow .18s ease;
}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-green{background:var(--green);color:#fff}
.btn-navy{background:var(--navy-btn);color:#fff}
.btn-outline{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
.btn-sm{padding:0.5625rem 1.0rem;font-size:0.75rem;border-radius:0.375rem}
.btn-lg{padding:0.9375rem 2.0rem;font-size:1.0rem}

/* ---------- announcement bar ---------- */
.announce{background:var(--navy-bar);color:#fff;font-size:0.8438rem;font-weight:600;letter-spacing:.005em}
.announce .wrap{display:flex;align-items:center;justify-content:center;gap:0.75rem;min-height:2.7rem;flex-wrap:wrap;text-align:center}
.announce .star{color:#FFC53D;font-size:0.9375rem;line-height:1}
.announce .pill{background:#00A94F;color:#fff;border-radius:0.3125rem;padding:0.1875rem 0.75rem;font-weight:600;white-space:nowrap}

/* ---------- header ---------- */
.site-header{background:#fff;position:sticky;top:0;z-index:60}
.header-inner{display:flex;align-items:center;gap:1.0rem;padding:0.75rem 0;min-height:5.85rem}
.logo img{height:3.44rem;width:auto}
.nav{display:flex;align-items:center;gap:0.8125rem;flex:1;flex-wrap:nowrap;min-width:0}
.nav a{
  font-size:0.6625rem;font-weight:600;letter-spacing:.015em;color:var(--navy);
  text-transform:uppercase;white-space:nowrap;padding-bottom:0.125rem;transition:color .16s ease;
}
.nav a:hover{color:var(--green)}
.nav a.active{color:var(--green);border-bottom:0.125rem solid var(--green)}
/* ---- Resources dropdown in the locked header ----
   Client asked for this on 25 Sep. Only pages that are actually built are listed:
   Services and Specialties get no dropdown because those pages do not exist yet. */
.nav-dd{position:relative;display:flex;align-items:center}
.nav-dd-t{display:flex;align-items:center;gap:0.3rem;background:none;border:0;margin:0;padding:0 0 0.125rem;
  font-family:inherit;font-size:0.6625rem;font-weight:600;letter-spacing:.015em;color:var(--navy);
  text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:color .16s ease}
.nav-dd-c{width:0.62rem;height:0.62rem;fill:none;stroke:currentColor;stroke-width:2.6;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}
.nav-dd-t:hover,.nav-dd.open .nav-dd-t{color:var(--green)}
.nav-dd-t.active{color:var(--green);border-bottom:0.125rem solid var(--green)}
.nav-dd.open .nav-dd-c{transform:rotate(180deg)}
.nav-dd-m{position:absolute;top:calc(100% + 0.55rem);left:-0.7rem;z-index:60;display:none;min-width:15rem;
  background:#fff;border:1px solid #E3E9F3;border-radius:0.55rem;
  box-shadow:0 14px 34px rgba(11,36,114,.14);padding:0.45rem 0}
/* bridges the gap so the menu does not close as the pointer travels to it */
.nav-dd-m::before{content:"";position:absolute;top:-0.6rem;left:0;right:0;height:0.6rem}
.nav-dd.open .nav-dd-m{display:block}
.nav-dd-m a{display:block;padding:0.5rem 1rem;font-size:0.6625rem;font-weight:600;letter-spacing:.015em;
  text-transform:uppercase;color:var(--navy);white-space:nowrap;
  transition:background .14s ease,color .14s ease}
.nav-dd-m a:hover{background:#F1FAF5;color:var(--green)}
.nav-dd-h{display:block;margin-top:0.35rem;padding:0.55rem 1rem 0.32rem;border-top:1px solid #EDF1F8;
  font-size:0.58rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#9AA0B4}
/* Specialties menu: 20 pages, two columns on desktop so it fits a 768px tall screen (22 Oct 2026) */
@media (min-width:861px){
  .nav-dd.open .nav-dd-m.nav-dd-2c{display:grid;grid-template-columns:repeat(2,max-content)}
  .nav-dd-2c a:first-child{grid-column:1/-1}
}
@media (hover:hover) and (min-width:1024px){
  .nav-dd:hover .nav-dd-m.nav-dd-2c{display:grid;grid-template-columns:repeat(2,max-content)}
  .nav-dd:hover .nav-dd-m{display:block}
  .nav-dd:hover .nav-dd-t{color:var(--green)}
  .nav-dd:hover .nav-dd-c{transform:rotate(180deg)}
}
.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:0.5rem;flex:none}
.call-now{display:flex;align-items:center;gap:0.4375rem;font-size:0.8438rem;font-weight:700;color:var(--navy)}
.call-now svg{width:0.875rem;height:0.875rem;fill:var(--navy)}
.header-ctas{display:flex;gap:0.5rem}
.header-ctas .btn{max-width:8.125rem;font-size:0.7188rem;padding:0.5625rem 0.875rem;line-height:1.3}
.burger{display:none;background:none;border:0;padding:0.5rem;cursor:pointer}
.burger span{display:block;width:1.375rem;height:0.125rem;background:var(--navy);margin:0.25rem 0;border-radius:0.125rem}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:#fff}
.hero-bg{position:absolute;top:0;right:0;bottom:0;width:47%;z-index:0;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 12%);mask-image:linear-gradient(to right,transparent 0,#000 12%)}
.hero-bg img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top}
.hero .wrap{position:relative;z-index:2}
.hero-inner{max-width:48.8%;padding:2.55rem 0 2.75rem}
.hero h1{font-size:2.75rem;font-weight:800;line-height:1.14;letter-spacing:-.025em;margin-bottom:1.125rem}
.hero h2{font-size:1.25rem;font-weight:600;line-height:1.34;margin-bottom:1.0rem;letter-spacing:-.015em}
.hero .promise{font-size:1.1875rem;font-weight:600;color:var(--green-text);line-height:1.34;margin-bottom:1.125rem;letter-spacing:-.015em}
.hero p{font-size:0.875rem;line-height:1.72;max-width:100%;color:#3F4350}
.hero-btns{display:flex;gap:0.875rem;flex-wrap:wrap;margin:1.625rem 0 1.25rem}
.hero-links{display:flex;gap:2.125rem;flex-wrap:wrap;align-items:center}
.hero-link{display:inline-flex;align-items:center;gap:0.625rem;font-size:0.9375rem;font-weight:700;color:var(--navy)}
.hero-link .ic{width:1.875rem;height:1.875rem;border-radius:50%;display:grid;place-items:center;flex:none}
.hero-link .ic svg{width:1.0rem;height:1.0rem}
.ic-phone{background:#EAF0FA}.ic-phone svg{fill:var(--navy)}
.ic-wa{background:#25D366}.ic-wa svg{fill:#fff}
.hero-link.wa span{text-decoration:underline;text-underline-offset:0.1875rem}

/* ---------- stats band ---------- */
.stats{background:var(--navy-band);color:#fff;border-radius:var(--r);padding:1.25rem 1.125rem 1.375rem;margin-top:-0.375rem}
.stats-title{text-align:center;font-size:0.9375rem;font-weight:600;letter-spacing:.03em;margin-bottom:1.125rem;color:#fff}
.stats-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.stat{text-align:center;padding:0.25rem 0.75rem;border-right:0.0625rem solid rgba(255,255,255,.22)}
.stat:last-child{border-right:0}
.stat .ic{height:2.125rem;display:grid;place-items:center;margin-bottom:0.5625rem}
.stat .ic svg{height:1.875rem;width:auto;fill:#fff}
.stat .num{font-size:1.4375rem;font-weight:700;line-height:1.15;color:#fff;letter-spacing:-.02em}
.stat .num small{display:block;font-size:0.9375rem;font-weight:600}
.stat .num .pre{display:block;font-size:0.9375rem;font-weight:600}
.stat .lbl{font-size:0.7812rem;line-height:1.35;margin-top:0.3125rem;color:#fff;font-weight:400}

/* ---------- trust badges ---------- */
.trust{display:grid;grid-template-columns:repeat(6,1fr);gap:0.6875rem;margin-top:1.0rem}
.trust-item{
  display:flex;align-items:center;justify-content:center;gap:0.6875rem;background:#fff;border:1px solid var(--border);
  border-radius:var(--r);padding:0.6875rem 0.6875rem;box-shadow:var(--shadow);
}
.trust-item svg{width:1.6875rem;height:1.6875rem;flex:none;fill:none;stroke:var(--navy);stroke-width:1.6}
.trust-item span{font-size:0.7812rem;font-weight:600;color:var(--navy);line-height:1.3}
.disclaimer{text-align:center;font-size:0.6562rem;color:#6B7280;margin:0.875rem 0 0;line-height:1.5}

/* ---------- three column block ---------- */
.section{padding:1.5rem 0}
.cols3{display:grid;grid-template-columns:1fr 1.18fr;gap:1.25rem;align-items:stretch}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:1.25rem;box-shadow:var(--shadow)}
.card-h{font-size:1.0625rem;font-weight:700;line-height:1.32;color:var(--navy);letter-spacing:-.01em}
.why-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:1.125rem 0.5rem;margin-top:1.25rem}
.why-icon{text-align:center}
.why-icon svg{width:2.125rem;height:2.125rem;margin:0 auto 0.625rem;fill:none;stroke:var(--navy);stroke-width:1.6}
.why-icon span{display:block;font-size:0.7812rem;font-weight:600;color:var(--navy);line-height:1.32}
/* client 2026-09-01 round 2: the green kickers were too small to read.
   The root font is clamped to 13px below ~996px, so a plain rem value renders
   at only 10.2px on a phone. A px floor and ceiling keep it readable on mobile
   and stop it competing with the navy heading on desktop. */
.eyebrow{font-size:clamp(12.4px, 0.9rem, 17px);font-weight:700;letter-spacing:.075em;text-transform:uppercase;color:var(--green-label);margin-bottom:0.5625rem}
.eyebrow.navy{color:var(--navy)}
.h3{font-size:1.375rem;font-weight:700;line-height:1.28;margin-bottom:0.875rem}
.checklist li{display:flex;gap:0.625rem;align-items:flex-start;font-size:0.85rem;line-height:1.45;margin-bottom:0.5625rem;color:#3F4350}
.checklist li svg{width:0.9375rem;height:0.9375rem;flex:none;margin-top:0.1875rem;stroke:var(--green);stroke-width:2.6;fill:none}
.checklist.navy-text li{color:var(--navy);font-weight:500}

/* client 2026-09-01 round 2: "centerlize the data". The three cards in the first row
   (Why Practices Stay, Your Trusted Revenue Cycle Partner, Our Goal Is Simple) now centre
   the heading together with the data under it, at every width. The tick list keeps its own
   text left so the ticks stay in one vertical line, and the list block itself is centred. */
.cols3 > .card{text-align:center}
.cols3 > .card .checklist{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:left}

/* client 2026-09-01 round 3: "OUR GOAL IS SIMPLE" sat centred in a narrow column with an
   empty gutter either side. It now spans the full row as two balanced columns, copy left
   and a medical staff photo right, mirroring the 20+ Years band directly below it.
   The photo is an ADDITION to the client's approved design, requested by Azeem. */
.cols3 > .card.goal-card{
  grid-column:1/-1;text-align:left;
  display:grid;grid-template-columns:1fr 0.92fr;gap:1.75rem;align-items:center;
  padding:1.5rem 1.5rem 1.5rem 1.625rem;
}
/* client 2026-09-02 round 4: the heading was 0.95rem, smaller than the green kickers around
   it. It now uses the exact same treatment as ".exp-body h3" one section below: same
   1.375rem size, and family, weight, colour, line-height and letter-spacing inherited from
   the shared h1..h5 rule. Same navy as before, just bigger. */
.goal-card .goal-kicker{font-size:1.375rem;margin-bottom:0.875rem}
.cols3 > .card.goal-card .checklist{width:100%;max-width:100%;margin:0;text-align:left}
.goal-card .checklist li{font-size:0.8875rem;margin-bottom:0.6875rem}
.goal-card .goal-btn{margin-top:1.125rem}
.goal-photo{align-self:stretch;display:flex}
.goal-photo img{width:100%;height:100%;min-height:13.5rem;max-height:19.5rem;object-fit:cover;object-position:64% 18%;border-radius:0.625rem}


/* ---------- 20+ years experience ---------- */
.exp{display:grid;grid-template-columns:238px 1fr 18.5rem;gap:1.25rem;align-items:center;
  background:#fff;border:1px solid var(--border);border-radius:var(--r);
  padding:1.375rem 1.25rem 0 1.375rem;overflow:hidden;box-shadow:var(--shadow)}
.exp-badge{text-align:center;padding-bottom:1.625rem}
.exp-badge img{width:10.625rem;margin:0 auto}
.exp-badge .badge20{display:block;width:10.625rem;max-width:100%;height:auto;margin:0 auto}
.exp-badge .cap{font-size:1.1875rem;font-weight:700;color:var(--navy);letter-spacing:.03em;margin-top:0.625rem}
/* client 2026-09-01 round 2: the 20+ years box is centred at every width now,
   heading and body together, not just on mobile. */
.exp-body{padding:0 0 1.625rem;text-align:center}
.exp-body h3{font-size:1.375rem;margin-bottom:0.625rem}
.exp-body>p{font-size:0.875rem;margin-bottom:1.0rem;max-width:35.0rem;margin-left:auto;margin-right:auto}
.exp-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0.375rem 1.125rem;margin-bottom:1.25rem;
  width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:left}
.exp-cols li{display:flex;gap:0.5rem;align-items:flex-start;font-size:0.7875rem;line-height:1.45;color:var(--navy);font-weight:500;margin-bottom:0.4375rem}
.exp-cols li svg{width:0.8125rem;height:0.8125rem;flex:none;margin-top:0.1875rem;stroke:var(--green);stroke-width:2.8;fill:none}
/* client 2026-09-01 round 3: the nurse was clipped on the right and along the bottom by a
   stretched container running object-fit:cover. She is now a cut out figure sitting on a
   soft panel, sized by her own aspect ratio, so no part of her is ever cropped. */
.exp-photo{position:relative;align-self:end;display:flex;justify-content:center;align-items:flex-end;
  padding-top:0.75rem;overflow:visible}
.exp-photo-panel{position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:100%;height:92%;border-radius:0.875rem 0.875rem 0 0;
  background:linear-gradient(180deg,#EDF6F1 0%,#DEEAF9 100%)}
.exp-photo img{position:relative;display:block;width:100%;height:auto;max-width:19rem;
  object-fit:contain}

@media (max-width:1080px){
  .stats-grid{grid-template-columns:repeat(3,1fr);gap:1.375rem 0}
  .stat{border-right:0}
  .trust{grid-template-columns:repeat(3,1fr)}
  .cols3{grid-template-columns:1fr}
  .exp{grid-template-columns:190px 1fr 13.5rem}
  .exp-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .nav,.header-right{display:none}
  .burger{display:block;margin-left:auto}
  .site-header.open .nav{display:flex;flex-direction:column;align-items:flex-start;width:100%;flex:0 0 100%;order:3;padding:0.75rem 0;gap:0.75rem}
  .site-header.open .header-right{display:flex;order:4;width:100%;flex:0 0 100%;align-items:flex-start;padding-bottom:0.75rem}
  .header-inner{flex-wrap:wrap}
  .hero h1{font-size:2.0rem}
  .exp{grid-template-columns:1fr;padding:1.5rem}
  .exp-cols{grid-template-columns:1fr}
}
@media (max-width:600px){
  .trust{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .hero h1{font-size:1.6875rem}
  .why-icons{grid-template-columns:repeat(2,1fr)}
}

/* ==================== PART 2 ==================== */
.sec-head{text-align:center;max-width:76%;margin:0 auto 1.375rem}
.sec-head h2{font-size:1.8125rem;font-weight:700;line-height:1.24;margin-bottom:0.75rem}
.sec-head p{font-size:0.8438rem;line-height:1.62;color:#3F4350;max-width:70%;margin:0 auto}
.section-pad{padding:2.125rem 0}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.45rem 2.23rem}
.svc{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r);overflow:hidden;
  box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}
.svc:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(10,36,114,.10)}
.svc-img{aspect-ratio:1562/1000;overflow:hidden;border-radius:var(--r) var(--r) 0 0;margin:0}
.svc-img img{width:100%;height:100%;object-fit:cover}
.svc-t{padding:0.75rem 0.625rem 0.9375rem;text-align:center;font-size:1.28rem;font-weight:600;color:var(--navy);line-height:1.35}
.svc-all{background:var(--navy-card);border-radius:var(--r);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:0.875rem;color:#fff;text-align:center;padding:1.625rem;min-height:100%}
.svc-all svg{width:2.75rem;height:2.75rem;fill:none;stroke:#fff;stroke-width:1.7}
.svc-all .lbl{font-size:0.9688rem;font-weight:600}
.svc-all .arw{width:1.875rem;height:1.25rem;stroke:#fff;stroke-width:1.8;fill:none}

/* specialties */
.spec-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:0.6875rem}
.spec{background:#fff;border:1px solid var(--border);border-radius:0.625rem;padding:0.8125rem 0.3125rem 0.75rem;
  text-align:center;box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease}
a.spec{display:block;text-decoration:none;color:inherit}
.spec:hover{transform:translateY(-2px);border-color:#C9D6EE}
.spec img{width:5.6rem;height:5.6rem;margin:0 auto 0.5rem}
.spec span{display:block;font-size:0.7125rem;font-weight:600;color:var(--navy);line-height:1.28}
.center-btn{text-align:center;margin-top:1.5rem}

/* before / after */
.ba-head{text-align:center;margin-bottom:1.25rem}
.ba-head h2{font-size:1.6875rem;font-weight:700;margin-bottom:0.5rem}
.ba-head h2 .b{color:#E62727}
.ba-head p{font-size:0.9375rem;font-weight:600;color:var(--navy);margin:0}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:3.25rem;position:relative;align-items:stretch}
.ba-card{border-radius:var(--r);padding:1.125rem;border:1px solid;display:flex;gap:1.0rem;align-items:flex-start}
.ba-before{background:#FEF7F7;border-color:#F6DADA}
.ba-after{background:#F5FBF7;border-color:#D8EEE1;flex-direction:row-reverse}
.ba-title{text-align:center;font-size:1.0625rem;font-weight:700;margin-bottom:0.75rem}
.ba-before .ba-title{color:#E62727}
.ba-after .ba-title{color:var(--green-text)}
.ba-card img{width:17.6rem;border-radius:0.5rem;flex:none;object-fit:cover}
.ba-list li{display:flex;gap:0.5625rem;align-items:flex-start;font-size:0.9rem;line-height:1.45;margin-bottom:0.5625rem;color:#3F4350}
.ba-list li svg{width:0.8125rem;height:0.8125rem;flex:none;margin-top:0.1875rem;stroke-width:2.6;fill:none}
.ba-list.x li svg{stroke:#E62727}
.ba-list.ck li svg{stroke:var(--green)}
.vs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:3.25rem;height:3.25rem;border-radius:50%;
  background:var(--navy-band);color:#fff;display:grid;place-items:center;font-size:1.0rem;font-weight:700;z-index:3;
  border:4px solid #fff;letter-spacing:-.01em}
.ba-foot{text-align:center;margin-top:1.25rem}
.ba-foot .line{font-size:0.9375rem;font-weight:600;color:var(--navy);margin-bottom:0.875rem}

/* free assessment panel */
/* client 2026-09-01 round 3: this box was set to width:88% inside the shared .wrap, so it
   sat inset from every other section with a visible gutter each side. It now shares the one
   container width and the one left and right baseline as the rest of the page. */
.fa{border:1px solid #CFE0F5;background:#FBFDFF;border-radius:var(--r);padding:1.625rem 1.875rem;width:100%;margin:2.125rem 0 0}
.fa-top{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:1.125rem}
.fa-top img{width:3.5rem;flex:none;margin-top:0.25rem}
.fa-top h3{font-size:1.5rem;font-weight:700;letter-spacing:-.015em}
.fa-top .sub{font-size:0.9375rem;font-weight:600;color:var(--green-text);margin:0.25rem 0 0.625rem}
.fa-top p{font-size:0.8125rem;margin:0;line-height:1.6}
.fa-cols{display:grid;grid-template-columns:1.35fr 1fr;gap:1.875rem}
.fa-l h4{font-size:0.875rem;color:var(--green-text);font-weight:700;margin-bottom:0.625rem}
.fa-l .two{display:grid;grid-template-columns:1fr 1fr;gap:0 1.25rem}
.fa-r{border-left:0.0938rem solid #C9D9F0;padding-left:1.625rem}
.fa-r h4{font-size:0.875rem;color:var(--navy);font-weight:700;margin-bottom:0.5rem}
.fa-r p{font-size:0.7812rem;line-height:1.6}
.fa-r .np{font-size:0.9062rem;font-weight:700;color:var(--navy);margin:0}
.fa .center-btn{margin-top:1.375rem}

/* ==================== PART 3 ==================== */
.proc{display:grid;grid-template-columns:1fr 400px 1fr;gap:1.25rem;align-items:center}
.proc-mid{display:grid;place-items:center}
.proc-mid img{width:100%;max-width:24.375rem}
.proc-col{display:grid;gap:1.375rem}
.proc-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:1.25rem 1.375rem;text-align:center;box-shadow:var(--shadow)}
.proc-card h4{font-size:0.9688rem;font-weight:700;letter-spacing:.01em;margin-bottom:0.5rem}
.proc-card.g h4{color:var(--green-text)}
.proc-card p{font-size:0.8125rem;line-height:1.55;margin:0}

/* tech + pricing */
.tp{display:grid;grid-template-columns:1fr 1.06fr;gap:1.5rem;align-items:stretch}
.tp .card{padding:1.625rem 1.75rem}
.tp .card>.eyebrow{text-align:center}
.tp h3{font-size:1.375rem;text-align:center;margin-bottom:0.625rem}
.tp .lead{font-size:0.8rem;text-align:center;line-height:1.6;margin-bottom:1.125rem}
.ehr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;margin-bottom:1.25rem}
.ehr{border:1px solid var(--border);border-radius:0.5625rem;height:4.0rem;display:grid;place-items:center;background:#fff;padding:0.5rem}
.ehr img{max-height:2.375rem;width:auto;object-fit:contain}
/* AdvancedMD, Kareo and Office Ally read smaller than the rest of the row at
   the shared max-height, their source files carry more built-in whitespace
   around the mark. Client feedback, 17 Sep: match the visual size of the
   others. Scoped to just these three so the rest of the row is untouched. */
.ehr-lg img{max-height:2.875rem}
.tp .ask{text-align:center}
.tp .ask h4{font-size:0.9688rem;color:var(--navy);font-weight:700;margin-bottom:0.375rem}
.tp .ask p{font-size:0.8rem;margin-bottom:0.875rem}
.price-h{font-size:1.375rem;text-align:center;line-height:1.3;margin-bottom:0.75rem}
.price-h .g{color:var(--green-text)}
.price-list{margin:1.375rem 0}
.price-list li{display:flex;align-items:center;gap:0.875rem;font-size:1.0rem;font-weight:600;color:var(--navy);
  padding:0.875rem 0.25rem;border-bottom:0.0625rem solid #E7EDF7}
.price-list li:last-child{border-bottom:0}
.price-list li svg{width:1.625rem;height:1.625rem;flex:none;stroke:var(--green);stroke-width:1.8;fill:none}
.tp .fine{font-size:0.75rem;color:#5A6280;margin:0.875rem 0 0;line-height:1.55}

/* why choose grid */
.wc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.8125rem}
.wc{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:1.125rem 1.25rem;
  display:flex;align-items:center;gap:1.0rem;box-shadow:var(--shadow);transition:transform .18s ease}
.wc:hover{transform:translateY(-2px)}
.wc img{width:2.875rem;height:2.875rem;flex:none}
.wc span{font-size:0.875rem;font-weight:600;color:var(--navy);line-height:1.35}

/* what makes different */
.diff{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:1.875rem 1.25rem;box-shadow:var(--shadow)}
.diff-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:1.375rem}
.diff-item{text-align:center;padding:0 1.0rem;border-right:0.0625rem solid var(--border-soft)}
.diff-item:last-child{border-right:0}
.diff-item img{width:3.25rem;height:3.25rem;margin:0 auto 0.75rem}
.diff-item h5{font-size:0.8438rem;font-weight:700;color:var(--navy);line-height:1.32;margin-bottom:0.5rem}
.diff-item p{font-size:0.75rem;line-height:1.5;margin:0;color:#4A4F5C}

/* ==================== PART 4 ==================== */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.125rem}
.testi{background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.testi>img{width:100%;aspect-ratio:232/154;object-fit:cover}
.testi>img.testi-vec{object-position:50% 0}
.testi-b{padding:1.0rem 1.25rem 1.375rem;text-align:center}
.stars{display:flex;gap:0.25rem;justify-content:center;margin-bottom:0.75rem}
.stars img{width:1.0625rem;height:1.0625rem}
.testi h4{font-size:1.0625rem;font-weight:700;line-height:1.3;margin-bottom:0.75rem;display:flex;gap:0.5rem;justify-content:center;align-items:flex-start}
.testi h4 img{width:1.0625rem;margin-top:0.1875rem;flex:none}
.testi p{font-size:0.8375rem;line-height:1.62;text-align:left;margin-bottom:1.0rem}
.testi .who{font-size:0.8375rem;font-weight:600;color:var(--navy);text-align:left}

/* faq */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.875rem 1.375rem;align-items:start}
.faq{border:1px solid var(--border);border-radius:0.5625rem;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:0.875rem;
  padding:0.9375rem 1.125rem;font-size:0.8625rem;font-weight:600;color:var(--navy);line-height:1.36}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:0.9375rem;height:0.9375rem;flex:none;
  background:linear-gradient(var(--navy),var(--navy)) center/100% 2px no-repeat,
             linear-gradient(var(--navy),var(--navy)) center/2px 100% no-repeat;transition:transform .2s}
.faq[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 1.125rem 1.0rem;font-size:0.8125rem;line-height:1.62;color:#3F4350}

/* cta + form */
.cta{display:grid;grid-template-columns:1fr 1.14fr;border-radius:var(--r);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}
.cta-l{background:var(--navy-band);color:#fff;padding:2.125rem 2.0rem}
.cta-l h2{color:#fff;font-size:1.6875rem;font-weight:700;line-height:1.22;margin-bottom:0.875rem;letter-spacing:-.02em}
.cta-l .s1{font-size:1.0625rem;font-weight:700;color:#3FCB74;margin-bottom:0.875rem}
.cta-l p{font-size:0.8375rem;line-height:1.65;color:#DDE5F5}
.cta-l .s2{font-size:1.0625rem;font-weight:700;color:#3FCB74;line-height:1.4;margin:1.0rem 0 1.375rem}
.cta-btns{display:grid;gap:0.75rem}
.cta-btn{display:flex;align-items:center;gap:0.875rem;padding:0.8125rem 1.125rem;border-radius:0.5rem;
  border:1px solid rgba(255,255,255,.4);font-size:0.9062rem;font-weight:600;color:#fff;transition:background .18s ease}
.cta-btn:hover{background:rgba(255,255,255,.1)}
.cta-btn.green{background:var(--green);border-color:var(--green)}
.cta-btn img{width:1.3125rem;height:1.3125rem;flex:none}
.cta-r{background:#fff;padding:1.875rem 2.0rem}
.cta-r h3{font-size:1.4375rem;font-weight:700;margin-bottom:0.25rem}
.cta-r .sub{font-size:0.9062rem;font-weight:600;color:var(--green-text);margin-bottom:1.25rem}
.frm{display:grid;grid-template-columns:1fr 1fr;gap:0.625rem 1.125rem}
.fld{display:flex;flex-direction:column}
.fld.full{grid-column:1/-1}
.fld label{font-size:0.8rem;font-weight:500;color:#2C3243;margin-bottom:0.25rem}
.fld label i{color:#E02424;font-style:normal}
.fld input,.fld select,.fld textarea{
  font-family:inherit;font-size:0.8438rem;color:var(--text);padding:0.4375rem 0.75rem;border:1px solid #C9D3E4;
  border-radius:0.4375rem;background:#fff;outline:none;transition:border-color .16s ease,box-shadow .16s ease}
.fld textarea{height:2.75rem;min-height:2.75rem;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,120,56,.10)}
.frm .btn{grid-column:1/-1;width:100%}

/* ---- form validation states (colours reuse the variables above) ---- */
.frm-msg{grid-column:1/-1;display:none;margin:0;font-size:0.8rem;font-weight:500;line-height:1.5}
.frm-msg.err{display:block;color:var(--red)}
.fld-err{margin:0.3125rem 0 0;font-size:0.7188rem;font-weight:500;line-height:1.4;color:var(--red)}
.fld.has-err input,.fld.has-err select,.fld.has-err textarea{border-color:var(--red)}
.fld.has-err input:focus,.fld.has-err select:focus,.fld.has-err textarea:focus{
  border-color:var(--red);box-shadow:0 0 0 3px rgba(224,49,49,.10)}
.af-submit[disabled]{pointer-events:none}

/* links that have no destination yet (footer legal + social): no page jump */
a[aria-disabled="true"]{cursor:default}

.noobl{display:flex;align-items:center;justify-content:center;gap:0.5625rem;margin-top:0.875rem;font-size:0.875rem;font-weight:700;color:var(--navy)}
.noobl img{width:1.1875rem}

/* floating buttons */
.floaters{display:flex;flex-direction:column;gap:0.625rem;align-items:flex-start;margin:1.625rem 0 0}
.float-btn{display:inline-flex;align-items:center;gap:0.625rem;padding:0.5625rem 1.125rem 0.5625rem 0.5625rem;border-radius:62.4375rem;
  font-size:0.8438rem;font-weight:600;color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.16)}
.float-btn .rc{width:1.625rem;height:1.625rem;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18)}
.float-btn .rc svg{width:0.875rem;height:0.875rem;fill:#fff}
.float-navy{background:var(--navy-band)}
.float-wa{background:#25D366}

/* footer (client FINAL FOOTER design: deep navy #0D0751, green #00A65A accents) */
.footer{padding:2.5rem 0 0;margin-top:1.875rem;background:#0D0751;color:#fff}
/* 5 columns: brand, Company, Services, Resources (Legal sits under it), Contact.
   The width freed by folding Legal into Resources goes to Services, whose names
   are the longest in the footer. */
.f-grid{display:grid;grid-template-columns:1.3fr .78fr 1.45fr 1.14fr 1.15fr;gap:1.625rem}
.f-sub{margin-top:1.25rem}
.f-brand img{width:9.375rem;margin-bottom:0.875rem}
.f-brand p{font-size:0.75rem;line-height:1.7;color:rgba(255,255,255,.88)}
.f-brand .tag{font-size:0.7812rem;font-weight:700;color:#fff;line-height:1.6;margin:0}
.f-brand .tag .g{color:#2ECB71}
.f-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:0.5rem;margin-top:1.5rem;align-items:start}
.f-badge{display:flex;flex-direction:column;align-items:center;gap:0.375rem;text-align:center}
.f-badge svg{width:1.375rem;height:1.375rem;fill:#fff}
.f-badge span{font-size:0.5625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1.35;color:#fff}
.f-col{border-left:0.0625rem solid rgba(255,255,255,.22);padding-left:1.375rem}
.f-col h5{font-size:0.75rem;font-weight:700;letter-spacing:.075em;color:#00A75B;text-transform:uppercase;margin-bottom:0.75rem}
.f-col li{margin-bottom:0.5rem}
.f-col a{font-size:0.775rem;color:#fff;line-height:1.4;transition:color .16s}
.f-col a:hover{color:#2ECB71}
.f-contact li{display:flex;gap:0.5625rem;align-items:flex-start;margin-bottom:0.6875rem;font-size:0.775rem;color:#fff;line-height:1.42}
.f-contact .fic{width:1.375rem;height:1.375rem;flex:none;border-radius:50%;background:#00A65A;display:grid;place-items:center}
.f-contact .fic svg{width:0.75rem;height:0.75rem;fill:#fff}
.f-social{margin-top:1.0rem}
.f-social h5{margin-bottom:0.5625rem}
.f-social .row{display:flex;gap:0.5625rem}
.f-social img{width:1.75rem;height:1.75rem;min-width:30px;min-height:30px;border-radius:50%;display:block}
.f-pills{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:0.0625rem solid rgba(255,255,255,.22);margin-top:1.75rem;padding:1.25rem 0 0.25rem}
.f-pill{display:inline-flex;align-items:center;gap:0.75rem;background:#00A65A;color:#fff;border-radius:62.4375rem;padding:0.5625rem 1.375rem 0.5625rem 0.5625rem;font-size:0.8438rem;line-height:1.3;box-shadow:0 3px 10px rgba(0,0,0,.25);transition:filter .18s}
.f-pill:hover{filter:brightness(1.08)}
.f-pill .rc{width:2.125rem;height:2.125rem;flex:none;border-radius:50%;background:#fff;display:grid;place-items:center}
.f-pill .rc svg{width:1rem;height:1rem;fill:#00A65A}
.f-pill .tx{display:flex;flex-direction:column}
.f-pill .tx b{font-weight:700}
.f-bottom{border-top:0.0625rem solid rgba(255,255,255,.22);margin-top:1.25rem;padding:0.875rem 0;text-align:center;
  font-size:0.7188rem;color:rgba(255,255,255,.92)}

@media (max-width:1080px){
  .spec-grid{grid-template-columns:repeat(5,1fr)}
  /* process: when the two columns stack, flatten them so the steps
     read 01, 02, 03, 04 instead of 01, 04, 02, 03. Desktop is untouched. */
  .proc{grid-template-columns:1fr;gap:1.375rem}
  .proc-col{display:contents}
  .proc-mid{order:-1}
  .proc-col:nth-child(1) .proc-card:nth-child(1){order:1}   /* 01 free consultation */
  .proc-col:nth-child(3) .proc-card:nth-child(1){order:2}   /* 02 practice setup */
  .proc-col:nth-child(3) .proc-card:nth-child(2){order:3}   /* 03 revenue optimization */
  .proc-col:nth-child(1) .proc-card:nth-child(2){order:4}   /* 04 reporting */
  .tp{grid-template-columns:1fr}
  .wc-grid{grid-template-columns:repeat(2,1fr)}
  .diff-grid{grid-template-columns:repeat(3,1fr);gap:1.625rem 0}
  .diff-item{border-right:0}
  .testi-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .cta{grid-template-columns:1fr}
  .f-grid{grid-template-columns:repeat(3,1fr)}
  .fa-cols{grid-template-columns:1fr}
  .fa-r{border-left:0;padding-left:0;border-top:0.0938rem solid #C9D9F0;padding-top:1.125rem}
}
@media (max-width:760px){
  .ba{grid-template-columns:1fr;gap:2.125rem}
  .vs{position:static;transform:none;margin:0 auto}
  .ba-card,.ba-after{flex-direction:column;align-items:center}
  .ba-card img{width:100%;max-width:17.5rem}
  .sec-head h2{font-size:1.4375rem}
  .spec-grid{grid-template-columns:repeat(3,1fr)}
  .svc-grid{grid-template-columns:1fr}
  .wc-grid,.f-grid{grid-template-columns:1fr}
  .frm{grid-template-columns:1fr}
  .diff-grid{grid-template-columns:1fr}
  .fa-l .two{grid-template-columns:1fr}
}

/* extracted-icon sizing */
.stat .ic img{height:2.0rem;width:auto;margin:0 auto}
.trust-item img{width:1.875rem;height:1.875rem;flex:none;object-fit:contain}
.why-icon img{width:2.25rem;height:2.25rem;margin:0 auto 0.625rem;object-fit:contain}

/* ---- Poppins metric adjustments (Poppins runs wider than the design font) ---- */
.hero-inner{max-width:48.8%}
.hero-btns .btn{font-size:0.8375rem;padding:0.75rem 1.25rem}
.header-ctas .btn{max-width:none;font-size:0.6375rem;padding:0.5rem 0.6875rem;line-height:1.28}
.nav{gap:0.6875rem}
.nav a{font-size:0.6312rem;letter-spacing:.01em}
.hero h1{font-size:2.5625rem;letter-spacing:-.03em}
.sec-head h2{letter-spacing:-.025em}
.spec span{font-size:0.78rem;letter-spacing:-.01em}
.svc-t{font-size:1.28rem}
.stat .lbl{font-size:0.725rem}
.trust-item span{font-size:0.725rem}
.exp-cols li{font-size:0.7375rem}
.f-col a,.f-contact li{font-size:0.725rem}
.price-list li{font-size:0.9375rem}
.cta-l h2{font-size:1.5625rem}
.faq summary{font-size:0.825rem}

/* ---- new assessment form (client revision) ---- */
.af-logo{display:block;width:40%;max-width:15rem;margin:0 auto 0.75rem}
.af-head{display:flex;gap:0.875rem;align-items:flex-start;margin-bottom:0.75rem}
.af-text{flex:1;min-width:0}
.af-title{font-size:1.8125rem;font-weight:700;line-height:1.16;letter-spacing:-.03em;color:var(--navy)}
.af-title .g{color:var(--green-text)}
.af-rule{display:block;width:3.5rem;height:0.1875rem;background:var(--green-text);border-radius:0.125rem;margin:0.5rem 0}
.af-lead{font-size:0.825rem;line-height:1.6;margin:0;color:#3F4350;max-width:20.625rem}
.af-illus{width:13.4375rem;flex:none;margin-top:-0.25rem}
.af-submit{width:100%;font-size:1.0rem;padding:0.6875rem 1.375rem;gap:0.6875rem}
.af-submit img{width:1.5rem;height:1.5rem;filter:brightness(0) invert(1)}
.af-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:0.75rem}
.af-t{display:flex;gap:0.5625rem;align-items:flex-start;padding:0 0.75rem;border-right:0.0625rem solid var(--border)}
.af-t:first-child{padding-left:0}
.af-t:last-child{border-right:0;padding-right:0}
.af-t img{width:2.125rem;height:2.125rem;flex:none;margin-top:0;object-fit:contain}
.af-t h6{margin:0 0 0.125rem;font-size:0.8rem;font-weight:700;color:var(--navy);line-height:1.25}
.af-t p{margin:0;font-size:0.7125rem;line-height:1.4;color:#4A4F5C}
@media (max-width:760px){
  .af-logo{width:60%;max-width:12rem}
  .af-head{flex-direction:column}
  .af-illus{width:11.25rem;margin:0 auto}
  .af-lead{max-width:none}
  .af-trust{grid-template-columns:1fr;gap:0.75rem}
  .af-t{border-right:0;padding:0}
  .af-title{font-size:1.5rem}
}

/* ==================== PRIVATE PREVIEW LOCK ==================== */
html:not(.unlocked), html:not(.unlocked) body{overflow:hidden !important;height:100%}
#gate{
  position:fixed;inset:0;z-index:99999;background:#F4F7FC;
  display:flex;align-items:center;justify-content:center;padding:1.5rem;
}
html.unlocked #gate{display:none}
#gate::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 480px at 12% -10%, rgba(0,120,56,.09), transparent 60%),
    radial-gradient(900px 520px at 92% 108%, rgba(0,34,99,.12), transparent 60%);
}
.gate-card{
  position:relative;width:100%;max-width:26.25rem;background:#fff;border:1px solid var(--border);
  border-radius:1.0rem;padding:2.375rem 2.125rem 1.75rem;text-align:center;
  box-shadow:0 18px 50px rgba(10,36,114,.14);
}
.gate-card.shake{animation:gshake .4s}
@keyframes gshake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
.gate-logo{width:11.625rem;margin:0 auto 1.375rem}
.gate-title{font-size:1.5625rem;font-weight:700;color:var(--navy);letter-spacing:-.025em;margin-bottom:0.5625rem}
.gate-sub{font-size:0.8438rem;line-height:1.6;color:#4A4F5C;margin-bottom:1.375rem}
#gate-form{display:grid;gap:0.6875rem}
#gate-input{
  font-family:inherit;font-size:0.9375rem;text-align:center;padding:0.8125rem 0.875rem;
  border:1.5px solid #C9D3E4;border-radius:0.5625rem;outline:none;color:var(--navy);
  transition:border-color .16s ease, box-shadow .16s ease;
}
#gate-input::placeholder{color:#9AA4BC;font-size:0.875rem}
#gate-input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,120,56,.12)}
#gate-form .btn{width:100%;padding:0.8125rem 1.25rem;font-size:0.9375rem}
.gate-err{display:none;margin:0.75rem 0 0;font-size:0.8rem;color:#D92D20;font-weight:500}
.gate-foot{margin:1.375rem 0 0;font-size:0.6875rem;color:#8A93A8;letter-spacing:.04em}
@media (max-width:480px){
  .gate-card{padding:1.875rem 1.375rem 1.5rem}
  .gate-logo{width:9.875rem}
  .gate-title{font-size:1.375rem}
}

/* crisp vector quote mark in testimonials (replaces low-res bitmap) */
.testi h4 svg.q{width:1.3125rem;height:1.0rem;flex:none;margin-top:0.3125rem;fill:var(--navy)}

/* sharper photo rendering */
.testi>img,.svc-img img,.ba-card img,.exp-photo img,.hero-bg img{image-rendering:auto}


/* ==================== RESPONSIVE (rebuilt) ==================== */
@media (max-width:1180px){
  .cols3{grid-template-columns:1fr 1fr;gap:1.1rem}
  .cols3 > .card:last-child{grid-column:1/-1}
  .spec-grid{grid-template-columns:repeat(5,1fr)}
  .diff-grid{grid-template-columns:repeat(3,1fr);gap:1.6rem 0}
  .diff-item{border-right:0}
  .f-grid{grid-template-columns:1.4fr 1fr 1fr;gap:1.6rem}
  .f-col{border-left:0;padding-left:0}
}
@media (max-width:1000px){
  .wrap{width:92%}
  .svc-grid{grid-template-columns:repeat(3,1fr)}
  .stats-grid{grid-template-columns:repeat(3,1fr);gap:1.4rem 0}
  .stat{border-right:0}
  .trust{grid-template-columns:repeat(3,1fr)}
  .tp{grid-template-columns:1fr}
  .wc-grid{grid-template-columns:repeat(2,1fr)}
  .proc{grid-template-columns:1fr}
  .proc-mid{order:-1;margin-bottom:1rem}
  .exp{grid-template-columns:160px 1fr 12rem;padding:1.3rem 1rem 0 1.3rem}
  .cols3 > .card.goal-card{grid-template-columns:1fr 0.8fr;gap:1.4rem}
  .exp-cols{grid-template-columns:1fr 1fr}
  .cta{grid-template-columns:1fr}
  .testi-grid{grid-template-columns:repeat(3,1fr);gap:1rem}
  .faq-grid{grid-template-columns:1fr}
}
@media (max-width:860px){
  /* header -> burger menu */
  .header-inner{flex-wrap:wrap;min-height:0;gap:0.6rem}
  .nav,.header-right{display:none}
  .burger{display:block;margin-left:auto}
  /* open menu taller than the phone screen scrolls inside itself (22 Oct 2026, 20 specialty links) */
  .site-header.open{max-height:100vh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}
  .site-header.open .nav{display:flex;flex-direction:column;align-items:flex-start;flex:0 0 100%;
    width:100%;order:3;padding:0.6rem 0 0.9rem;gap:0.85rem;border-top:1px solid var(--border-soft)}
  .site-header.open .nav a{font-size:0.95rem}
  .site-header.open .nav-dd{flex-direction:column;align-items:flex-start;width:100%}
  .site-header.open .nav-dd-t{font-size:0.95rem;padding:0;width:100%;justify-content:flex-start}
  .site-header.open .nav-dd-c{width:0.85rem;height:0.85rem}
  .site-header.open .nav-dd-m{position:static;min-width:0;width:100%;border:0;box-shadow:none;
    background:none;padding:0.45rem 0 0.15rem 0.9rem}
  .site-header.open .nav-dd-m::before{display:none}
  /* tap targets: the client only ever opens this on his phone */
  .site-header.open .nav-dd-m a{display:flex;align-items:center;min-height:44px;
    padding:0.45rem 0;font-size:0.85rem;white-space:normal}
  .site-header.open .nav-dd-t{min-height:44px}
  .site-header.open .nav-dd-m a:hover{background:none}
  .site-header.open .nav-dd-h{padding:0.5rem 0 0.28rem;font-size:0.7rem}
  .site-header.open .header-right{display:flex;order:4;width:100%;flex:0 0 100%;align-items:stretch;
    flex-direction:column;gap:0.6rem;padding-bottom:0.9rem}
  .site-header.open .header-ctas{flex-direction:column;gap:0.5rem}
  .site-header.open .header-ctas .btn{max-width:none;width:100%;font-size:0.85rem;padding:0.75rem 1rem}
  .site-header.open .call-now{align-self:flex-start;font-size:1rem}

  /* hero: stack the photo under the copy so it is actually visible */
  .hero{background:#fff;display:flex;flex-direction:column}
  .hero .wrap{order:1}
  .hero-bg{position:static;display:block;order:2;width:90%;max-width:none;height:auto;margin:0 auto 1.8rem;
    -webkit-mask-image:none;mask-image:none}
  .hero-bg img{width:100%;height:auto;max-width:100%;object-fit:cover;object-position:center 20%;
    max-height:42vh;border-radius:0.7rem}
  .hero-inner{max-width:100%;padding:1.8rem 0 0.4rem}
  .hero h1{font-size:2.15rem}
  .hero h2{font-size:1.15rem}
  .hero .promise{font-size:1.1rem}
  .hero p{font-size:0.95rem;max-width:100%}
  .hero-btns{gap:0.7rem;margin:1.3rem 0 1rem}
  .hero-btns .btn{flex:1 1 100%;font-size:0.95rem;padding:0.85rem 1rem}
  .hero-links{gap:1.4rem;padding-bottom:1.4rem}

  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .spec-grid{grid-template-columns:repeat(4,1fr)}
  .testi-grid{grid-template-columns:1fr;gap:1.2rem}
  .f-grid{grid-template-columns:1fr 1fr}
  .ba{grid-template-columns:1fr;gap:1.6rem}
  .ba-before{order:1}
  .vs{position:static;transform:none;margin:0 auto;order:2}
  .ba-after{order:3}
  .ba-card,.ba-after{flex-direction:column;align-items:center}
  .ba-card img{width:100%;max-width:22rem}
  .af-head{flex-direction:column}
  .af-illus{width:60%;max-width:16rem;margin:0 auto 0.6rem}
  .af-lead{max-width:100%}
  .af-trust{grid-template-columns:1fr;gap:0.9rem}
  .af-t{border-right:0;padding:0}
  .fa{width:100%}
  .fa-cols{grid-template-columns:1fr;gap:1.2rem}
  .fa-r{border-left:0;padding-left:0;border-top:1.5px solid #C9D9F0;padding-top:1.1rem}
  .fa-l .two{grid-template-columns:1fr}
  .fa-top{flex-direction:column;gap:0.8rem}
  .exp{grid-template-columns:1fr;padding:1.3rem}
  .exp-badge{padding-bottom:1rem}
  .exp-cols{grid-template-columns:1fr 1fr}
  /* client 2026-09-01: centre the data inside the 20+ years box on mobile */
  .exp-body{text-align:center}
  .exp-body>p{max-width:100%}
  .exp-cols{width:fit-content;margin-left:auto;margin-right:auto}
  /* client 2026-09-01: the nurse photo is part of this box on mobile too */
  /* client 2026-09-01 round 3: on a phone she stands whole on her panel, never cropped */
  .exp-photo{position:relative;display:flex;align-self:center;justify-content:center;align-items:flex-end;
    overflow:visible;width:100%;max-width:19rem;margin:1rem auto -1.3rem;height:auto;padding-top:0.5rem}
  /* client 2026-09-02 round 4: she filled only 17rem of her 19rem panel, so she read as a
     small inset with white either side. On desktop the figure spans her whole column, so
     she now does the same here. Her source is 552px wide, which is the limit. */
  .exp-photo img{width:100%;max-width:100%;height:auto;object-fit:contain}
  .cta-l,.cta-r{padding:1.5rem 1.3rem}
  .cta-l h2{font-size:1.5rem}
  .frm{grid-template-columns:1fr 1fr}
}

/* client 2026-09-02 round 4: OUR GOAL IS SIMPLE stays a real two column row (copy left,
   photo right) all the way down to 700px, so a tablet at 768px gets the balanced row the
   client asked for instead of a letterboxed strip that cut the team off at the forehead.
   Below 700px there is not enough width for two columns, so it stacks and the photo is
   sized by aspect ratio rather than a fixed height cap, which keeps the crop proportional
   and the faces in frame at every phone width. */
@media (max-width:700px){
  .cols3 > .card.goal-card{grid-template-columns:1fr;gap:1.15rem;padding:1.25rem}
  .goal-photo{align-self:auto}
  .goal-photo img{height:auto;min-height:0;max-height:none;aspect-ratio:16/10;object-position:64% 18%}
}

@media (max-width:620px){
  .wrap{width:90%}
  .announce .wrap{gap:0.5rem;font-size:0.8rem;padding:0.4rem 0}
  .announce .pill{font-size:0.78rem}
  .hero h1{font-size:1.85rem}
  .hero-bg img{max-height:38vh}
  .svc-grid{grid-template-columns:1fr 1fr;gap:0.8rem}
  .svc-t{font-size:0.88rem;padding:0.6rem 0.4rem 0.8rem}
  .spec-grid{grid-template-columns:repeat(3,1fr);gap:0.6rem}
  .spec img{width:3.6rem;height:3.6rem}
  .spec span{font-size:0.72rem}
  .stats-grid{grid-template-columns:1fr 1fr;gap:1.3rem 0}
  .trust{grid-template-columns:1fr 1fr;gap:0.7rem}
  .cols3{grid-template-columns:1fr}
  .cols3 > .card:last-child{grid-column:auto}
  .why-icons{grid-template-columns:repeat(3,1fr)}
  .wc-grid{grid-template-columns:1fr}
  .diff-grid{grid-template-columns:1fr 1fr}
  .exp-cols{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr;gap:1.3rem}
  .frm{grid-template-columns:1fr}
  .sec-head{max-width:100%}
  .sec-head p{max-width:100%;font-size:0.9rem}
  .sec-head h2{font-size:1.55rem}
  .ehr-grid{grid-template-columns:repeat(2,1fr)}
  .price-list li{font-size:1rem}
  .floaters{width:100%}
  .float-btn{font-size:0.9rem}
  .f-bottom{font-size:0.72rem;line-height:1.6}
}
@media (max-width:420px){
  .hero h1{font-size:1.62rem}
  .svc-grid{grid-template-columns:1fr}
  .spec-grid{grid-template-columns:repeat(2,1fr)}
  .diff-grid{grid-template-columns:1fr}
  .why-icons{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:1fr 1fr}
  .trust{grid-template-columns:1fr}
  .gate-card{padding:1.6rem 1.1rem}
}

/* ==========================================================================
   Popups (Book Free Consultation, Thank You, Exit-Intent) + honeypot.
   Built from the client's FREE CONSULTATION BOX, THANK YOU BOX and
   EXIT POPUP design files (24 Aug email).
   ========================================================================== */

/* honeypot: invisible to visitors, only bots fill it */
.hp-field{position:absolute !important;left:-624.9375rem;top:auto;width:0.0625rem;height:0.0625rem;overflow:hidden}

body.modal-open{overflow:hidden}
.modal{position:fixed;inset:0;z-index:220;background:rgba(6,10,44,.58);display:grid;place-items:center;padding:0.5rem;overflow-y:auto}
.modal[hidden]{display:none}
.modal-card{position:relative;background:#fff;border-radius:1rem;box-shadow:0 18px 60px rgba(4,8,40,.35);max-height:98vh;overflow-y:auto;width:100%}
.modal-x{position:absolute;top:0.75rem;right:0.75rem;z-index:5;width:2rem;height:2rem;border:0;border-radius:50%;background:rgba(11,36,114,.06);cursor:pointer;display:grid;place-items:center}
.modal-x svg{width:0.875rem;height:0.875rem;stroke:var(--navy);stroke-width:2.4;fill:none}
.modal-x:hover{background:rgba(11,36,114,.14)}

/* ---- Book Free Consultation ---- */
.mc{max-width:56rem;display:grid;grid-template-columns:1fr 1.35fr;overflow-x:hidden}
.mc-left{background:var(--navy-band);color:#fff;padding:2rem 1.75rem;display:flex;flex-direction:column;gap:1rem}
.mc-pill{display:inline-flex;align-items:center;gap:0.5rem;align-self:flex-start;background:rgba(255,255,255,.14);border-radius:62.4375rem;padding:0.375rem 0.875rem;font-size:0.6875rem;font-weight:700;letter-spacing:.06em}
.mc-pill .dot{width:0.5625rem;height:0.5625rem;border-radius:50%;background:#2ECB71}
.mc-left h3{color:#fff;font-size:1.75rem;line-height:1.15}
.mc-left h3 .g{color:#2ECB71}
.mc-left p{font-size:0.8438rem;line-height:1.65;color:rgba(255,255,255,.92);margin:0}
.mc-checks{display:flex;flex-direction:column;gap:0.6875rem}
.mc-checks li{display:flex;align-items:flex-start;gap:0.625rem;font-size:0.8125rem;font-weight:600}
.mc-checks .ck{width:1.25rem;height:1.25rem;flex:none;border-radius:50%;background:#00A65A;display:grid;place-items:center;margin-top:0.0625rem}
.mc-checks .ck svg{width:0.6875rem;height:0.6875rem;stroke:#fff;stroke-width:3;fill:none}
.mc-bottom{margin-top:auto;display:flex;align-items:center;gap:0.875rem}
.mc-cal{width:6.75rem;height:6.75rem;flex:none;border-radius:50%;background:#16418C;display:grid;place-items:center}
.mc-cal svg{width:4.25rem;height:4.25rem}
.mc-focus{background:#fff;color:var(--navy);border-radius:0.625rem;padding:0.875rem 1rem;font-size:0.7188rem;font-weight:700;letter-spacing:.03em;line-height:1.6}
.mc-focus b{color:var(--green-text)}
.mc-right{padding:0.75rem 1.5rem 0.75rem}
.mc-logo{height:1.75rem;width:auto;margin-bottom:0.25rem}
.mc-right h4{font-size:1.0625rem;margin-bottom:0.125rem}
.mc-sub{font-size:0.8125rem;color:var(--muted);margin-bottom:0.375rem}
.mc-frm{gap:0.375rem 1rem}
.mc-frm .fld input::placeholder,.mc-frm .fld textarea::placeholder{color:#9AA3B8}
.mc-submit{letter-spacing:.05em}
.mc-submit svg{width:1rem;height:1rem;stroke:#fff;stroke-width:2;fill:none}
.mc-trust{text-align:center;font-size:0.7188rem;color:var(--navy);margin:0.3125rem 0 0.125rem}
.mc-phi{text-align:center;font-size:0.6875rem;color:var(--muted);margin:0}

/* ---- Thank You ---- */
.mt{max-width:36rem;padding:2.25rem 2rem 1.75rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.mt-logo{height:2.625rem;width:auto;margin-bottom:1.125rem}
.mt-check{width:3.5rem;height:3.5rem;border:0.25rem solid #00A65A;border-radius:50%;display:grid;place-items:center;margin-bottom:1rem}
.mt-check svg{width:1.75rem;height:1.75rem;stroke:#00A65A;stroke-width:3;fill:none}
.mt h3{font-size:2rem}
.mt h3 .g{color:var(--green-text)}
.mt-line{font-size:0.9375rem;font-weight:700;color:var(--navy);margin:0.5rem 0 0}
.mt-rule{display:block;width:3.75rem;height:0.1875rem;background:#00A65A;border-radius:62.4375rem;margin:0.875rem 0}
.mt-copy{font-size:0.8438rem;color:var(--muted);line-height:1.7;margin-bottom:1.125rem}
.mt-next{display:flex;gap:0.875rem;align-items:flex-start;text-align:left;border:0.0625rem solid #D9EFE3;background:#F7FCF9;border-radius:0.75rem;padding:1rem 1.125rem;width:100%}
.mt-mail{width:2.375rem;height:2.375rem;flex:none;border-radius:50%;background:#E3F4EA;display:grid;place-items:center}
.mt-mail svg{width:1.125rem;height:1.125rem;fill:#00A65A}
.mt-next h5{font-size:0.9062rem;color:var(--green-text);margin-bottom:0.25rem}
.mt-next p{font-size:0.7812rem;color:var(--text);line-height:1.6;margin:0}
.mt-foot{display:flex;gap:1.25rem;flex-wrap:wrap;justify-content:center;align-items:center;margin-top:1.25rem;padding-top:1rem;border-top:0.0625rem solid var(--border-soft);width:100%}
.mt-foot a{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.8125rem;font-weight:700;color:var(--green-text)}
.mt-foot .rc{width:1.625rem;height:1.625rem;border-radius:50%;border:0.09375rem solid #00A65A;display:grid;place-items:center}
.mt-foot .rc svg{width:0.8125rem;height:0.8125rem;fill:#00A65A}
.mt-foot .rc.wa{border:0;background:#00A65A}
.mt-foot .rc.wa svg{fill:#fff}

/* ==========================================================================
   Exit intent popup, rebuilt 2 Sep 2026 from the client's own EXIT POPUP.jpg
   (4500 x 6557, 300 DPI, 24 Aug handover).

   Every geometry number below is measured off that file and expressed in cqw,
   which is 1% of the popup card's own width. The card is a container, so the
   whole popup scales as one piece and keeps his exact proportions at every
   width. Source geometry: card x136..4381, y86..6482, so W = 4246 px and
   1 cqw = 42.46 source px.

   Photo, clipboard illustration, the four benefit icons, the button arrow,
   the reassurance shield and the close X are all cut from his file.
   ========================================================================== */
.me{
  /* an exit popup is for someone leaving, they will not scroll to read an
     offer, so the whole card must fit on screen at once. Every measurement
     inside is in cqw (proportional to this element's own width), and the
     card's height always comes out to 1.512x its width, so capping width by
     BOTH the screen width and (92vh / 1.512) guarantees the full height fits
     without ever needing .me-scroll to scroll. Client feedback, 10 Sep. */
  max-width:500px;width:min(500px,calc(100vw - 1.5rem),calc(92vh / 1.512));
  container-type:inline-size;
  background:none;box-shadow:none;border-radius:0;max-height:none;overflow:visible;
}
.me-scroll{
  background:#FAFBFD;border:0.0625rem solid #B1C3E3;border-radius:2.07cqw;
  box-shadow:0 18px 60px rgba(4,8,40,.35);
  overflow:visible;
}

/* ---- close control (his X, cut from the design; hit area enlarged for touch) ---- */
.me-x{
  position:absolute;z-index:6;top:1.52cqw;right:0.37cqw;
  width:8cqw;height:8cqw;padding:0;border:0;background:none;cursor:pointer;
  display:grid;place-items:center;
}
.me-x::before{content:'';position:absolute;inset:-10px}
.me-x img{width:4.24cqw;height:auto;transition:opacity .16s,transform .16s}
.me-x:hover img{opacity:.72;transform:scale(1.06)}

/* ---- hero: his background, photo, dot pattern and swoosh in one cut ---- */
.me-hero{
  position:relative;width:100%;aspect-ratio:4246/4107;
  background:url('img/exit-hero.jpg') center/100% 100% no-repeat;
}

/* ---- headline block ---- */
.me-head{position:absolute;left:7.05cqw;top:11.1cqw;width:62cqw}
.me-head h3{margin:0;color:#011F51;font-weight:800;letter-spacing:-.06em;line-height:1;text-indent:-1.65cqw}
.me-head h3 .g{
  display:block;color:#056938;font-weight:700;font-size:.398em;
  letter-spacing:-.05em;margin-top:-0.3cqw;text-indent:0;
}
.me-rule{display:block;width:7.98cqw;height:.73cqw;background:#056938;border-radius:.4cqw;margin:3.01cqw 0 0}
.me-head p{
  margin:2.72cqw 0 0;color:#051645;font-weight:400;line-height:6.05cqw;letter-spacing:-.02em;
}
.me-head p b{font-weight:700;color:#011F51}

/* ---- navy assessment band ---- */
.me-band{
  position:absolute;left:4.69cqw;top:63.52cqw;width:90.72cqw;height:33.18cqw;
  background:#012154;border-radius:4cqw;
}
.me-clip{position:absolute;left:3.86cqw;top:3.05cqw;width:27.11cqw;height:27.11cqw}
.me-bdiv{position:absolute;left:32.96cqw;top:5.25cqw;width:.14cqw;height:23.15cqw;background:rgba(255,255,255,.30)}
.me-band p{
  position:absolute;left:36.86cqw;top:5cqw;width:53.86cqw;margin:0;
  color:#fff;font-weight:600;letter-spacing:-.04em;
}
.me-band .fg{color:#52BC59;font-weight:700}

/* ---- four benefits, 2 x 2 with his hairline dividers ---- */
.me-grid{
  display:grid;grid-template-columns:1fr 1fr;
  margin:2.02cqw 4.57cqw 0 4.69cqw;
}
.me-item{
  position:relative;display:flex;align-items:center;gap:1.68cqw;
  padding:1.11cqw 0 1.81cqw 4.8cqw;
  color:#060E3C;font-weight:500;letter-spacing:-.02em;
}
.me-item img{width:10.55cqw;height:10.55cqw;flex:none}
/* horizontal rule under the first row, at his measured extents */
.me-item:nth-child(1)::after,.me-item:nth-child(2)::after{
  content:'';position:absolute;bottom:0;height:.14cqw;background:#E4E8F1;
}
.me-item:nth-child(1)::after{left:4.9cqw;right:8.8cqw}
.me-item:nth-child(2)::after{left:2.68cqw;right:2.36cqw}
/* vertical rule down the middle */
.me-item:nth-child(1)::before,.me-item:nth-child(3)::before{
  content:'';position:absolute;right:0;width:.14cqw;background:#E0E7F1;
}
.me-item:nth-child(1)::before{top:1.41cqw;bottom:0}
.me-item:nth-child(3)::before{top:0;bottom:2.05cqw}

/* ---- primary button, his green gradient and his arrow badge ---- */
.me-btn{
  position:relative;display:flex;align-items:center;justify-content:center;
  margin:0.38cqw 5.58cqw 0 5.89cqw;height:11.94cqw;border-radius:2.59cqw;
  background:linear-gradient(135deg,#0C8F4E 0%,#00693A 100%);
  color:#fff;font-weight:700;letter-spacing:-.03em;text-align:center;
  box-shadow:0 .35cqw 1.1cqw rgba(2,60,30,.28);
  transition:filter .18s ease,transform .18s ease;
}
.me-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.me-btn img{position:absolute;right:2.64cqw;top:50%;transform:translateY(-50%);width:6.83cqw;height:6.83cqw}

/* ---- reassurance line ---- */
.me-np{
  display:flex;align-items:center;justify-content:center;gap:2.38cqw;
  margin:3.4cqw 5.49cqw 3.68cqw 5.86cqw;
  color:#071849;font-weight:700;letter-spacing:-.02em;
}
.me-np img{width:6.93cqw;height:auto;flex:none}
.me-np .ln{flex:1 1 auto;height:.14cqw;background:#C2CFDF}

/* ---- type sizes, all tied to the card width so his proportions hold ---- */
.me-head h3{font-size:17.85cqw}
.me-head p{font-size:3.7cqw}
.me-band p{font-size:3.5cqw;line-height:6.08cqw}
.me-item{font-size:2.58cqw;line-height:3.886cqw}
.me-btn{font-size:4.555cqw}
.me-np{font-size:2.78cqw}

@media (max-width:860px){
  .mc{grid-template-columns:1fr;max-width:30rem}
  .mc-left{gap:0.5rem;padding:1rem 1.25rem}
  .mc-bottom{display:none}
  .mc-right{padding:0.875rem 1.25rem 0.875rem}
  .mc-frm{grid-template-columns:1fr;gap:0.375rem 1rem}
  .mc-left h3{font-size:1.5rem}
  .mc-left p{font-size:0.8rem;line-height:1.5}
  .mc-checks{gap:0.375rem}
  .mc-pill{padding:0.25rem 0.75rem}
  .f-pills{flex-direction:column;align-items:stretch}
  .f-pill{justify-content:flex-start}
  /* the close X is pinned to the screen (below), so as the visitor scrolls,
     the navy top panel and the white form panel both pass underneath it.
     A dark semi-opaque circle with a white icon reads on either background.
     Client feedback, 3 Sep: "Consultation box: design issue". */
  #modal-consult .modal-x{background:rgba(11,36,114,.55)}
  #modal-consult .modal-x:hover{background:rgba(11,36,114,.7)}
  #modal-consult .modal-x svg{stroke:#fff}
  /* the card scrolls on mobile (stacked layout is taller than the screen),
     so the close X must be pinned to the screen, not to the card, or it
     scrolls out of reach once the visitor scrolls down to the form.
     Client feedback, 10 Sep: X not visible / can't get back to the page. */
  .modal-x{position:fixed;top:0.75rem;right:0.75rem}
}
/* narrow phones: give the exit popup back some side padding so the card, and
   with it every cqw measurement, stays as wide as the screen sensibly allows.
   Scoped to #modal-exit so the approved consultation and thank-you popups are
   not touched. */
@media (max-width:480px){
  #modal-exit{padding:0.75rem}
}

/* ---- Free Practice Revenue Assessment popup (#modal-assess) ----
   The box itself is the approved on-page assessment form, so every visual rule
   is inherited from the .af-* block above and nothing here restyles it. These
   rules only give it a popup shell: a card width that puts the content at the
   same measure it has on the homepage at 1440 (about 660px), and an inner
   scroller so a long form scrolls INSIDE the card while the close X, which sits
   on the card and not on the scroller, stays reachable at every height. */
.ma{max-width:45rem;max-height:96vh;overflow:hidden;display:flex;flex-direction:column}
.ma-scroll{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.25rem 1.75rem 1.25rem}
@media (max-width:620px){
  .ma-scroll{padding:1.375rem 1.125rem 1.25rem}
}
/* narrow phones: same treatment the exit popup already gets, so the card keeps
   as much of the screen as it sensibly can. */
@media (max-width:480px){
  #modal-assess{padding:0.75rem}
}
/* Client feedback, size issue: in the popup the logo, heading, lead text and
   the decorative illustration ate most of the visible height before the form
   even started (measured: ~475px of 551px on a phone). Scoped to the popup
   only, the on-page form at the bottom of the homepage is untouched. */
#modal-assess .af-logo{width:28%;max-width:8rem;margin-bottom:0.5rem}
#modal-assess .af-title{font-size:1.5rem}
#modal-assess .af-lead{font-size:0.775rem;line-height:1.45}
#modal-assess .af-illus{width:9rem;margin-top:0}
@media (max-width:620px){
  #modal-assess .af-logo{width:34%;max-width:7rem}
  #modal-assess .af-illus{width:35%;max-width:6.5rem;margin:0 auto 0.4rem}
  #modal-assess .af-title{font-size:1.25rem}
}
/* Client feedback, 17 Sep: mobile is fine now, but on a laptop the popup
   still has a size issue, same root cause as the mobile fix above, the logo,
   heading, lead text and illustration still eat too much of the visible
   height before the form starts, on a laptop's shorter viewport. Keyed off
   viewport HEIGHT rather than width, since a laptop is wide but short, not
   narrow, so the width-based rule above never applied to it. */
@media (max-height:820px) and (min-width:621px){
  #modal-assess .af-logo{width:20%;max-width:5.75rem;margin-bottom:0.25rem}
  #modal-assess .af-head{margin-bottom:0.375rem}
  #modal-assess .af-title{font-size:1.25rem}
  #modal-assess .af-lead{font-size:0.7375rem;line-height:1.4}
  #modal-assess .af-illus{width:6.25rem}
  #modal-assess.ma-scroll,#modal-assess .ma-scroll{padding-top:0.875rem}
}

/* ==========================================================================
   ABOUT US PAGE  (site/about-us.html)
   Built to the client's approved design
   client-source/2026-08-28-final/COMPANY/SaMeD-RCM-About-Us-High-Resolution.jpg
   Band colours, proportions and icons are read off that file. Shared
   furniture (header, footer, popups, .btn, .eyebrow, .sec-head, .wrap)
   is reused from the homepage above, not forked.
   ========================================================================== */

/* the hero kicker is the only one the design sets in mixed case, so it can keep
   the SaMeD capitalisation. Every other kicker on the page is plain uppercase. */
.eyebrow.ab-eyebrow-asis{text-transform:none}

/* ---------- 1. hero ---------- */
.ab-hero{position:relative;background:#F4FAFA;overflow:hidden}
.ab-hero-photo{position:absolute;top:0;right:0;bottom:0;width:46.4%}
/* anchored to the top edge so the two doctors' heads are never cropped, at any width (client, 3 Sep 2026) */
.ab-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.ab-hero-in{position:relative;z-index:1;max-width:51%;padding:2.5rem 0 2.4rem}
.ab-h1{font-size:2.45rem;line-height:1.18;letter-spacing:-.03em;margin-bottom:0.875rem}
.ab-hero-p{font-size:0.9rem;line-height:1.62;color:#4A4F5C;max-width:32rem;margin-bottom:1.375rem}
.ab-hero-btns{display:flex;flex-wrap:wrap;gap:0.75rem;margin-bottom:1.5rem}
.ab-hero-btns .btn{font-size:0.8375rem;padding:0.8125rem 1.25rem}
.ab-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;max-width:36rem;align-items:stretch}
.ab-mini-c{background:#fff;border:0.0625rem solid #E7EFF3;border-radius:0.625rem;
  padding:0.8125rem 0.75rem;display:flex;align-items:center;gap:0.6875rem;
  box-shadow:0 0.125rem 0.5rem rgba(10,36,114,.06)}
.ab-mini-c img{width:2.1rem;height:2.1rem;flex:none;object-fit:contain}
.ab-mini-c b{display:block;font-size:0.9rem;font-weight:700;color:var(--navy);line-height:1.22;margin-bottom:0.125rem}
.ab-mini-c span{display:block;font-size:0.75rem;color:#5A6280;line-height:1.32}

/* ---------- 2. who we are ---------- */
.ab-who{background:#fff}
.ab-who-head{max-width:86%}
.ab-who-head h2{font-size:2.1rem}
.ab-who-head p{max-width:78%}
.ab-goal{display:flex;gap:1.0rem;align-items:center;background:#E9F8F1;
  border:0.0625rem solid #CBE8D9;border-radius:0.625rem;padding:1.0rem 1.25rem;
  max-width:79%;margin:1.5rem auto 0}
.ab-goal img{width:2.35rem;height:2.35rem;flex:none;object-fit:contain}
.ab-goal p{margin:0;font-size:0.875rem;font-weight:700;color:var(--navy);line-height:1.46}

/* ---------- shared two-column split (story, leadership, why, commitment) ---------- */
.ab-split{display:grid;grid-template-columns:1fr 1.12fr;gap:2.5rem;align-items:center}
.ab-split-r{grid-template-columns:1fr 1.2fr}
.ab-split-media img{width:100%}
.ab-h2{font-size:2.1rem;line-height:1.2;letter-spacing:-.025em;margin-bottom:1.0rem}
.ab-split-body p{font-size:0.8625rem;line-height:1.74;color:#4A4F5C}
.ab-split-body p:last-child{margin-bottom:0}

/* ---------- 3. our story ---------- */
/* photo cut from his design at full source resolution, the 20+ badge is an inline
   SVG drawn from his badge (same shield, laurel, star, colours) and sits inset
   from the photo edges so it is crisp at any size (client, 3 Sep 2026) */
.ab-story{background:#F3F8FC}
.ab-story-photo{position:relative}
.ab-story-photo img{display:block;width:100%;border-radius:0.875rem;box-shadow:0 0.375rem 1.25rem rgba(10,36,114,.14)}
.ab-badge{position:absolute;right:3%;bottom:3.5%;width:34%;height:auto;display:block;filter:drop-shadow(0 0.1875rem 0.375rem rgba(0,0,0,.28))}

/* ---------- 4. leadership and experience ---------- */
.ab-lead{background:#fff}
.ab-lead-p{max-width:30rem}
.ab-lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.9375rem;align-items:stretch}
.ab-lead-c{background:#fff;border:0.0625rem solid #E7EEF6;border-radius:0.75rem;
  padding:1.0rem 1.125rem;display:flex;align-items:center;gap:0.875rem;
  box-shadow:0 0.125rem 0.5rem rgba(10,36,114,.06)}
.ab-lead-c img{width:2.4rem;height:2.4rem;flex:none;object-fit:contain}
.ab-lead-c b{display:block;font-size:0.9375rem;font-weight:700;color:var(--navy);line-height:1.24;margin-bottom:0.1875rem}
.ab-lead-c span{display:block;font-size:0.775rem;color:#5A6280;line-height:1.35}

/* ---------- 5. mission and vision ---------- */
.ab-mv{background:#15005B;padding:2.375rem 0}
.ab-mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.375rem;align-items:stretch}
.ab-mv-c{background:#fff;border-radius:0.875rem;padding:1.5rem 1.625rem;display:flex;gap:1.0rem;align-items:flex-start}
.ab-mv-c img{width:3.05rem;height:3.05rem;flex:none;object-fit:contain;margin-top:0.125rem}
.ab-mv-c h3{font-size:1.3rem;line-height:1.25;margin-bottom:0.5rem}
.ab-mv-c p{font-size:0.85rem;line-height:1.62;color:#4A4F5C;margin:0}

/* ---------- 6. core values ---------- */
.ab-values{background:#FCFDFF}
/* five cards, and a flex row so a wrapped last row centres instead of
   sitting ragged on the left when the grid drops to three across */
.ab-val-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.0rem;align-items:stretch}
.ab-val{flex:1 1 0;min-width:0}
.ab-val{background:#fff;border:0.0625rem solid #E7EEF6;border-radius:0.75rem;
  padding:1.25rem 1.125rem 1.375rem;text-align:center;
  box-shadow:0 0.125rem 0.625rem rgba(10,36,114,.06)}
.ab-val img{width:4.35rem;height:4.35rem;margin:0 auto 0.75rem;object-fit:contain}
.ab-val h4{font-size:1.0rem;font-weight:700;margin-bottom:0.5625rem}
.ab-val p{font-size:0.775rem;line-height:1.52;color:#4A4F5C;margin:0;text-align:left}

/* ---------- 7. our services and 8. specialties ---------- */
/* 3 Sep 2026, client instruction: both sections are the homepage sections, so
   they use .svc-grid / .spec-grid from the homepage. The about-only grid CSS
   was retired here. .ab-more is kept for the specialties hub link pattern. */
.ab-more{display:inline-flex;align-items:center;gap:0.75rem;background:#15005B;color:#fff;
  border-radius:0.625rem;padding:0.625rem 1.75rem 0.625rem 0.625rem;
  font-size:0.9688rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.25}
.ab-more .rc{width:2.1rem;height:2.1rem;flex:none;border-radius:50%;background:#00A65A;display:grid;place-items:center}
.ab-more .rc svg{width:1.15rem;height:1.15rem;stroke:#fff;stroke-width:2.6;fill:none}

/* ---------- 9. why healthcare providers choose SaMeD ---------- */
.ab-whyc{background:#E9F8F1}
.ab-whyc-p{max-width:28rem}
.ab-whyc .btn{margin-top:0.375rem}
.ab-whyc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.8125rem;align-items:stretch}
.ab-whyc-c{background:#fff;border-radius:0.6875rem;padding:0.875rem 1.0rem;
  display:flex;align-items:center;gap:0.8125rem;box-shadow:0 0.125rem 0.5rem rgba(10,36,114,.06)}
.ab-whyc-c img{width:2.15rem;height:2.15rem;flex:none;object-fit:contain}
.ab-whyc-c span{font-size:0.85rem;font-weight:700;color:var(--navy);line-height:1.3}

/* ---------- 10. our commitment ---------- */
.ab-commit{background:#fff}
.ab-commit-photo{border-radius:0.875rem;box-shadow:0 0.625rem 1.875rem rgba(10,36,114,.12)}
.ab-split-body p.ab-commit-lead{font-size:1.0625rem;font-weight:700;color:var(--green-text);margin-bottom:0.75rem;line-height:1.35}
.ab-commit-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.9375rem;margin-top:1.375rem;align-items:stretch}
.ab-commit-c{background:#fff;border:0.0625rem solid #E4EEF2;border-radius:0.6875rem;
  padding:0.9375rem 1.0rem;display:flex;align-items:center;gap:0.8125rem;
  box-shadow:0 0.125rem 0.5rem rgba(10,36,114,.06)}
.ab-commit-c img{width:2.5rem;height:2.5rem;flex:none;object-fit:contain}
.ab-commit-c b{display:block;font-size:0.9375rem;font-weight:700;color:var(--navy);line-height:1.24;margin-bottom:0.125rem}
.ab-commit-c span{display:block;font-size:0.775rem;color:#5A6280;line-height:1.35}

/* ---------- 11. closing CTA band ---------- */
.ab-cta{background:#15005B;padding:1.875rem 0}
.ab-cta-in{display:grid;grid-template-columns:1fr 21rem;gap:2.0rem;align-items:center}
.ab-cta-eyebrow{font-size:clamp(12.4px, 0.9rem, 17px);font-weight:700;letter-spacing:.075em;
  text-transform:uppercase;color:#4FE0B0;margin-bottom:0.5625rem}
.ab-cta-l h2{color:#fff;font-size:1.8125rem;line-height:1.22;letter-spacing:-.025em;margin-bottom:0.625rem}
.ab-cta-l p{font-size:0.85rem;line-height:1.6;color:#D6DCEF;margin:0;max-width:34rem}
.ab-cta-r{display:grid;gap:0.6875rem}
.ab-cta-r .btn{width:100%;font-size:0.875rem;padding:0.8125rem 1.0rem}
.ab-btn-white{background:#fff;color:var(--navy)}

/* ---------- About Us: tablet ---------- */
/* 1000, not 1080: rule 9, a 1024 laptop must see his two column desktop layout */
@media (max-width:1000px){
  .ab-hero{display:flex;flex-direction:column-reverse}
  /* the photo becomes a banner under the copy. aspect-ratio keeps it in
     proportion, the rem cap stops it eating the screen on a tablet. */
  .ab-hero-photo{position:relative;width:100%;height:auto;aspect-ratio:16/10;max-height:24rem}
  .ab-hero-photo img{position:absolute;top:0;left:0;width:100%;height:100%}
  .ab-hero-in{max-width:100%;padding:1.75rem 0 2.0rem}
  .ab-hero-p{max-width:none}
  .ab-mini{max-width:none}
  .ab-split,.ab-split-r{grid-template-columns:1fr;gap:1.75rem}
  .ab-split-media{order:-1}
  .ab-split-r .ab-split-media{order:0}
  .ab-lead-p,.ab-whyc-p{max-width:none}
  .ab-mv-grid{grid-template-columns:1fr}
  .ab-val{flex:0 1 calc(33.333% - 0.6667rem)}
  .ab-who-head{max-width:100%}
  .ab-who-head p{max-width:100%}
  .ab-goal{max-width:100%}
  .ab-cta-in{grid-template-columns:1fr;gap:1.375rem}
  .ab-cta-r{max-width:26rem}
}

/* ---------- About Us: phone ---------- */
@media (max-width:760px){
  .ab-h1{font-size:1.9rem}
  .ab-h2,.ab-who-head h2{font-size:1.5rem}
  .ab-cta-l h2{font-size:1.4rem}
  .ab-hero-btns .btn{width:100%}
  .ab-mini{grid-template-columns:1fr;gap:0.625rem}
  .ab-goal{flex-direction:column;text-align:center;gap:0.75rem;padding:1.0rem}
  .ab-lead-grid{grid-template-columns:1fr}
  .ab-val{flex:0 1 100%}
  .ab-val p{text-align:center}
  .ab-whyc-grid{grid-template-columns:1fr}
  .ab-commit-grid{grid-template-columns:1fr}
  .ab-mv-c{flex-direction:column;gap:0.75rem}
  .ab-more{font-size:0.85rem;padding:0.5625rem 1.125rem 0.5625rem 0.5625rem}
  .ab-cta-r{max-width:none}
}

/* ==========================================================================
   WHY CHOOSE US PAGE  (site/why-choose-us.html)
   Built to the client's approved design
   client-source/2026-08-28-final/COMPANY/SaMeD-RCM-Why-Choose-Us-High-Resolution.jpg
   (2400 x 10250). Every band colour below was sampled out of that file with
   PIL, not guessed. Icons and photos are crops from the same file. Shared
   furniture (header, footer, popups, .btn, .eyebrow, .sec-head, .wrap, .card)
   is reused from above, not forked.
   ========================================================================== */

/* His kicker green sampled off the design is #00993E on light bands and
   #5FE68F on the dark ones. The selectors below are deliberately specific:
   .sec-head p and .wcu-cta-l p both out-rank a bare .eyebrow, and without
   this the kickers rendered body grey (#3F4350) instead of his green. */
.wcu-hero .eyebrow,.wcu-apart .eyebrow,.wcu-report .eyebrow,
.wcu-support .eyebrow,.wcu-commit .eyebrow,.wcu-claims .eyebrow{text-transform:uppercase}
.wcu-apart .sec-head p.eyebrow,.wcu-commit .sec-head p.eyebrow,
.wcu-hero p.eyebrow,.wcu-report p.eyebrow,.wcu-support p.eyebrow{
  color:#00993E;font-size:clamp(12.4px, 0.9rem, 17px);max-width:none;margin:0 auto 0.5625rem}
.wcu-claims p.eyebrow.wcu-eyebrow-light,.wcu-snap p.eyebrow.wcu-eyebrow-light,
.wcu-cta-l p.wcu-cta-eyebrow{color:#5FE68F}
.wcu-eyebrow-light{color:#5FE68F}
.wcu-h2{font-size:2.0rem;line-height:1.2;letter-spacing:-.025em;margin-bottom:0.875rem}

/* ---------- 1. hero ---------- */
.wcu-hero{position:relative;background:#F9F7FC;overflow:hidden}
.wcu-hero-photo{position:absolute;top:2.4rem;right:2.6%;bottom:2.4rem;width:39%;
  border-radius:0.875rem;overflow:hidden}
.wcu-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.wcu-hero-in{position:relative;z-index:1;max-width:55%;padding:2.6rem 0 2.75rem}
.wcu-h1{font-size:2.6rem;font-weight:800;line-height:1.16;letter-spacing:-.03em;margin-bottom:1.0rem}
.wcu-hero-p{font-size:0.9rem;line-height:1.72;color:#4A4F5C;max-width:33rem;margin-bottom:1.625rem}
.wcu-hero-btns{display:flex;flex-wrap:wrap;gap:0.875rem}
.wcu-hero-btns .btn{font-size:0.8125rem;letter-spacing:.02em;padding:0.875rem 1.5rem}

/* ---------- 2. trust strip ---------- */
.wcu-trust{background:#fff;padding:1.5rem 0 0.25rem}
.wcu-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.875rem;align-items:stretch}
.wcu-trust-c{background:#fff;border:0.0625rem solid #ECE9F4;border-radius:0.75rem;
  padding:0.75rem 0.9375rem;display:flex;align-items:center;gap:0.8125rem;
  box-shadow:0 0.125rem 0.625rem rgba(10,36,114,.06)}
.wcu-trust-c img{width:2.6rem;height:2.6rem;flex:none;object-fit:contain}
.wcu-trust-c b{display:block;font-size:0.875rem;font-weight:700;color:var(--navy);line-height:1.24;margin-bottom:0.125rem}
.wcu-trust-c span{display:block;font-size:0.75rem;color:#5A6280;line-height:1.34}

/* ---------- 3. what sets us apart ---------- */
.wcu-apart{background:#fff}
.wcu-apart .sec-head h2{font-size:2.0rem}
.wcu-apart-split{display:grid;grid-template-columns:1fr 1.16fr;gap:1.75rem;align-items:start}
.wcu-apart-media img{width:100%;border-radius:0.875rem}
.wcu-apart-cards{display:grid;gap:1.0rem;align-content:start}
.wcu-num-c{background:#F9F7FC;border:0.0625rem solid #ECE9F4;border-radius:0.75rem;padding:1.25rem 1.375rem}
.wcu-num-c h3{font-size:1.125rem;line-height:1.3;margin-bottom:0.625rem;display:flex;align-items:baseline;gap:0.9375rem}
.wcu-num-c .n{color:#009744;font-weight:700;flex:none}
.wcu-num-c p{font-size:0.8375rem;line-height:1.7;color:#4A4F5C;margin:0}

/* ---------- 4. our experience includes ---------- */
.wcu-exp{background:#fff;padding:0.5rem 0 2.125rem}
.wcu-exp-h{font-size:1.1875rem;margin-bottom:1.0rem}
.wcu-exp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0.75rem;align-items:stretch}
.wcu-exp-t{background:#fff;border:0.0625rem solid #ECE9F4;border-radius:0.75rem;
  padding:1.0rem 0.5rem 0.9375rem;text-align:center;box-shadow:0 0.125rem 0.5rem rgba(10,36,114,.05)}
.wcu-exp-t img{width:3.1rem;height:3.1rem;margin:0 auto 0.625rem;object-fit:contain}
.wcu-exp-t span{display:block;font-size:0.775rem;font-weight:700;color:var(--navy);line-height:1.3}

/* ---------- 5. accurate claims submission (dark band) ---------- */
.wcu-claims{background:#1C004F;color:#fff;padding:2.25rem 0 2.5rem}
.wcu-claims-h{color:#fff;font-size:1.9375rem;line-height:1.22;letter-spacing:-.025em;margin-bottom:0.75rem}
.wcu-claims-p{font-size:0.875rem;line-height:1.7;color:#D8D2E6;max-width:56rem;margin-bottom:1.0rem}
.wcu-claims-sub{font-size:0.9rem;font-weight:700;color:#fff;margin-bottom:0.875rem}
.wcu-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.0rem;margin-bottom:1.625rem}
.wcu-stat{background:#280072;border:0.0625rem solid #3A1590;border-radius:0.75rem;
  padding:1.125rem 1.0rem 1.0rem;text-align:center}
.wcu-stat b{display:block;font-size:1.6875rem;font-weight:700;color:#5FE68F;line-height:1.2;
  letter-spacing:-.02em;margin-bottom:0.5rem}
.wcu-stat span{display:block;font-size:0.7625rem;font-weight:700;color:#fff;line-height:1.35}
.wcu-claims-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.0rem;align-items:stretch}
.wcu-claims-c{background:#fff;border-radius:0.75rem;overflow:hidden;display:flex;flex-direction:column}
.wcu-claims-c>img{width:100%;aspect-ratio:692/250;object-fit:cover;
  border-bottom:0.4375rem solid #009744}
.wcu-claims-b{padding:1.125rem 1.25rem 1.375rem}
.wcu-claims-b h4{font-size:1.0rem;line-height:1.3;margin-bottom:0.75rem}
.wcu-claims-b p{font-size:0.8125rem;line-height:1.68;color:#4A4F5C;margin:0}

/* ---------- 6. reporting + practice performance snapshot ---------- */
.wcu-report{background:#F7F8FC}
.wcu-report-split{display:grid;grid-template-columns:1fr 1.2fr;gap:1.25rem;align-items:stretch}
.wcu-report-c{padding:1.75rem 1.875rem;border-color:#ECE9F4;box-shadow:0 0.125rem 0.75rem rgba(10,36,114,.06)}
.wcu-report-p{font-size:0.875rem;line-height:1.7;color:#4A4F5C;margin-bottom:1.0rem}
.wcu-checks{display:grid;gap:0.5rem}
.wcu-checks li{display:flex;align-items:flex-start;gap:0.75rem;
  font-size:0.9rem;font-weight:700;color:#4A4F5C;line-height:1.45}
.wcu-checks img{width:1.25rem;height:1.25rem;flex:none;margin-top:0.0625rem;object-fit:contain}
.wcu-snap{background:#160040;border-radius:0.875rem;padding:1.625rem 1.75rem 1.75rem;
  position:relative;overflow:hidden}
/* his decorative circle, bottom left of the card */
.wcu-snap::before{content:"";position:absolute;left:-5.5rem;bottom:-6.5rem;
  width:14rem;height:14rem;border-radius:50%;background:#210C4F;z-index:0}
.wcu-snap>*{position:relative;z-index:1}
.wcu-snap-h{color:#fff;font-size:1.75rem;letter-spacing:.01em;line-height:1.15;margin-bottom:0.3125rem}
.wcu-snap-sub{font-size:0.775rem;color:#C9C1DC;margin-bottom:1.125rem}
.wcu-snap-panel{background:#F9F7FC;border-radius:0.75rem;padding:1.25rem 1.0rem}
.wcu-steps{display:flex;align-items:flex-start;justify-content:center;gap:0.375rem}
.wcu-step{flex:1 1 0;min-width:0;text-align:center}
.wcu-step>img{width:3.3rem;height:3.6rem;margin:0 auto 0.5rem;object-fit:contain}
.wcu-step b{display:block;font-size:0.6875rem;font-weight:700;color:var(--navy);line-height:1.3;
  letter-spacing:.01em;margin-bottom:0.25rem;min-height:1.7875rem}
.wcu-step b.g{color:#009744}
.wcu-step span{display:block;font-size:0.6562rem;color:#5A6280;line-height:1.35}
.wcu-step-arrow{width:3.4rem;height:auto;flex:none;margin-top:1.5rem;object-fit:contain}
.wcu-impact-h{margin:1.375rem 0 0.75rem}
.wcu-impact{display:flex;align-items:stretch;gap:0.5rem}
.wcu-impact-c{flex:1 1 0;min-width:0;background:#200A4B;border:0.0625rem solid #351C66;
  border-radius:0.625rem;padding:0.75rem 0.875rem}
.wcu-impact-c span{display:block;font-size:0.6875rem;font-weight:700;color:#5FE68F;
  letter-spacing:.05em;line-height:1.3;margin-bottom:0.1875rem}
.wcu-impact-c b{display:block;font-size:0.9375rem;font-weight:700;color:#fff;line-height:1.25}
.wcu-impact-x{align-self:center;flex:none;display:grid;place-items:center;width:0.875rem}
.wcu-impact-x svg{width:0.875rem;height:0.875rem;fill:none;stroke:#5FE68F;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- 7. support built around your practice ---------- */
.wcu-support{background:#fff}
.wcu-support-h{margin-bottom:1.375rem}
.wcu-support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.0rem;align-items:stretch}
.wcu-support-c{background:#FAF8FD;border:0.0625rem solid #ECE9F4;border-radius:0.75rem;
  padding:1.375rem 1.375rem 1.5rem;box-shadow:0 0.125rem 0.625rem rgba(10,36,114,.05)}
.wcu-support-c img{width:4.0rem;height:4.0rem;object-fit:contain;margin-bottom:0.875rem}
.wcu-support-c h4{font-size:1.0rem;line-height:1.3;margin-bottom:0.75rem}
.wcu-support-c p{font-size:0.8125rem;line-height:1.7;color:#4A4F5C;margin:0}

/* ---------- 8. technology and software expertise ---------- */
.wcu-tech{background:#fff;padding:0.5rem 0 2.375rem}
.wcu-tech-split{display:grid;grid-template-columns:1fr 1.28fr;gap:1.5rem;align-items:start}
.wcu-tech-media img{width:100%;border-radius:0.875rem}
.wcu-tech-card{background:#F7F5FA;border:0.0625rem solid #ECE9F4;border-radius:0.875rem;padding:1.5rem 1.625rem 1.625rem}
.wcu-tech-h{font-size:1.375rem;line-height:1.25;margin-bottom:0.4375rem}
.wcu-tech-p{font-size:0.8125rem;line-height:1.65;color:#4A4F5C;margin-bottom:1.125rem}
.wcu-ehr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.75rem}
.wcu-ehr{background:#fff;border:0.0625rem solid #E9E5F1;border-radius:0.5rem;
  padding:0.5rem 0.75rem;display:flex;align-items:center;justify-content:center;gap:0.6875rem;min-width:0}
/* client feedback, 17 Sep: increase all logo sizes here and centre them,
   they were sitting left-aligned in their card. */
.wcu-ehr img{width:6.4rem;height:3.1rem;flex:none;object-fit:contain}
.wcu-ehr span{font-size:0.7625rem;font-weight:700;color:var(--navy);line-height:1.3;min-width:0}

/* ---------- 9. our commitment to your practice ---------- */
.wcu-commit{background:#EDF8F2}
.wcu-commit .sec-head h2{font-size:2.0rem}
.wcu-commit-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.375rem;align-items:start}
.wcu-commit-c{background:#fff;border-radius:0.875rem;overflow:hidden;
  box-shadow:0 0.25rem 1.0rem rgba(10,36,114,.08)}
.wcu-commit-photo{width:100%;aspect-ratio:1026/425;object-fit:cover;object-position:50% 28%}
.wcu-bar{display:block;height:0.6875rem}
.wcu-bar-navy{background:#280072}
.wcu-bar-green{background:#019444}
.wcu-commit-b{padding:1.375rem 1.5rem 1.625rem}
.wcu-commit-b h4{font-size:1.1875rem;line-height:1.28;margin-bottom:0.875rem}
.wcu-checks-b li{font-size:0.875rem}

/* ---------- 10. closing CTA band ---------- */
.wcu-cta{background:#1C004F;padding:2.125rem 0}
.wcu-cta-in{display:grid;grid-template-columns:1fr 22rem;gap:2.25rem;align-items:center}
.wcu-cta-eyebrow{font-size:clamp(12.4px, 0.9rem, 17px);font-weight:700;letter-spacing:.075em;
  text-transform:uppercase;color:#5FE68F;margin-bottom:0.5625rem}
.wcu-cta-l h2{color:#fff;font-size:1.75rem;line-height:1.26;letter-spacing:-.025em;margin-bottom:0.625rem}
.wcu-cta-l p{font-size:0.85rem;line-height:1.68;color:#D8D2E6;margin:0;max-width:38rem}
.wcu-cta-r{display:grid;gap:0.75rem}
.wcu-cta-r .btn{width:100%;font-size:0.8125rem;letter-spacing:.02em;padding:0.9375rem 1.0rem}
.wcu-btn-outline{background:#280072;color:#fff;border:0.09375rem solid #8E7BD0}

/* ---------- Why Choose Us: tablet ----------
   Collapses at 1000px, not 1080px, so a 1024px laptop still sees the client's
   DESKTOP design (two column hero, 5 across specialties, 4 across stats,
   3 across claims and support, and the reporting card beside the snapshot)
   exactly as he drew it. Azeem, 2 Sep 2026: follow the client's design. */
@media (max-width:1000px){
  .wcu-hero{display:flex;flex-direction:column-reverse}
  .wcu-hero-photo{position:relative;top:auto;right:auto;bottom:auto;width:100%;
    height:auto;aspect-ratio:16/10;max-height:24rem;border-radius:0;margin-top:0}
  .wcu-hero-in{max-width:100%;padding:1.75rem 0 2.0rem}
  .wcu-hero-p{max-width:none}
  .wcu-trust-grid{grid-template-columns:repeat(2,1fr)}
  .wcu-apart-split{grid-template-columns:1fr;gap:1.5rem}
  .wcu-exp-grid{grid-template-columns:repeat(4,1fr)}
  .wcu-stat-grid{grid-template-columns:repeat(2,1fr)}
  .wcu-claims-grid{grid-template-columns:1fr;gap:1.125rem}
  .wcu-claims-c>img{aspect-ratio:16/6}
  .wcu-report-split{grid-template-columns:1fr;gap:1.25rem}
  .wcu-support-grid{grid-template-columns:1fr;gap:0.875rem}
  .wcu-tech-split{grid-template-columns:1fr;gap:1.5rem}
  .wcu-commit-grid{grid-template-columns:1fr;gap:1.25rem}
  .wcu-cta-in{grid-template-columns:1fr;gap:1.5rem}
  .wcu-cta-r{max-width:26rem}
}

/* ---------- Why Choose Us: small tablet ---------- */
@media (max-width:900px){
  .wcu-exp-grid{grid-template-columns:repeat(3,1fr)}
  .wcu-report-c{padding:1.5rem 1.375rem}
  .wcu-snap{padding:1.5rem 1.25rem}
}

/* ---------- Why Choose Us: phone ---------- */
@media (max-width:760px){
  .wcu-h1{font-size:1.95rem}
  .wcu-h2,.wcu-apart .sec-head h2,.wcu-commit .sec-head h2{font-size:1.55rem}
  .wcu-claims-h{font-size:1.5rem}
  .wcu-cta-l h2{font-size:1.4rem}
  .wcu-hero-btns .btn,.wcu-cta-r .btn{width:100%}
  .wcu-trust-grid{grid-template-columns:1fr}
  .wcu-exp-grid{grid-template-columns:repeat(2,1fr)}
  .wcu-ehr-grid{grid-template-columns:1fr}
  .wcu-cta-r{max-width:none}
  /* his four-step flow cannot stay one row on a phone without shrinking the
     labels past readable, so it becomes 2 x 2 and the connecting arrows,
     which only make sense on a single line, are dropped */
  .wcu-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:1.125rem 0.75rem}
  .wcu-step-arrow{display:none}
  .wcu-impact{flex-direction:column}
  .wcu-impact-x{width:100%;height:0.875rem}
  .wcu-impact-x svg{transform:rotate(90deg)}
}

/* ---------- Why Choose Us: narrow phone ---------- */
@media (max-width:400px){
  .wcu-h1{font-size:1.72rem}
  .wcu-stat-grid{gap:0.75rem}
  .wcu-stat b{font-size:1.45rem}
  .wcu-exp-t img{width:2.75rem;height:2.75rem}
}

/* ==========================================================================
   PRICING PAGE  (site/pricing.html)
   Built to the client's approved design
   client-source/2026-08-28-final/COMPANY/Pricing.jpg (4500 x 13500).

   Every size below is his geometry converted at one constant: his content
   column is 4098 source px wide (x184 to x4282) and the site wrap is 72rem
   wide, so 1 source px = 0.017577rem. Working that way keeps his proportions
   at every viewport, because the root font size already scales with the
   viewport (html{font-size:clamp(13px,1.305vw,20.8px)}).

   Photos, the 2.5% badge, every icon and the CTA chart graphic are crops from
   that same file. See site/img/pricing/_manifest.json for each crop box.
   Shared furniture (header, footer, popups, .btn, .wrap) is reused, not forked.
   ========================================================================== */

/* ---------- shared section heading: navy title with a green rule each side ---------- */
.pr-head{
  display:flex;align-items:center;justify-content:center;gap:2.09rem;
  font-size:1.53rem;font-weight:700;color:var(--navy);text-align:center;
  line-height:1.3;letter-spacing:-.02em;
}
.pr-rule{flex:0 0 auto;width:3.02rem;height:0.14rem;background:#0A7A3C;border-radius:0.1rem}

/* ---------- 1. hero ---------- */
.pr-hero{position:relative;background:#fff;overflow:hidden;padding:3.08rem 0 2.5rem;min-height:40.88vw}
.pr-hero-photo{position:absolute;top:0;right:0;bottom:0;width:57.1%;z-index:1}
.pr-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.pr-hero .wrap{position:relative;z-index:2}
.pr-hero-in{max-width:41.5%}
.pr-h1{font-size:4.41rem;line-height:1.02;color:var(--navy);letter-spacing:-.03em;margin:0}
.pr-hero-sub{font-size:1.14rem;font-weight:700;color:#0A7A3C;line-height:1.3;margin:0.62rem 0 0;letter-spacing:-.01em}
.pr-hero-p{font-size:0.837rem;line-height:2.12;color:#45464E;margin:1.22rem 0 0;max-width:27.7rem}
.pr-hero-btns{display:flex;flex-wrap:wrap;gap:0.86rem;margin-top:1.72rem}
.pr-hero-btns .btn{min-width:13.8rem}
.pr-trust{display:flex;gap:0;margin-top:2.3rem}
.pr-trust-c{display:flex;align-items:center;gap:0.72rem;width:11.07rem;flex:0 0 auto}
.pr-trust-c img{width:2.28rem;height:2.28rem;flex:0 0 auto}
.pr-trust-c span{font-size:0.72rem;font-weight:600;color:var(--navy);line-height:1.42}

/* ---------- 2. flexible pricing options ---------- */
.pr-models{padding:2.11rem 0 0}
.pr-model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.49rem;margin-top:1.48rem}
.pr-model-c{
  background:#fff;border:1px solid #EDEFF4;border-radius:0.62rem;
  box-shadow:0 1px 3px rgba(10,36,114,.045);
  padding:1.76rem 1.6rem 2.7rem;text-align:center;
  display:flex;flex-direction:column;align-items:center;
}
.pr-model-ic{width:5.34rem;height:5.34rem}
.pr-model-c h3{font-size:1.24rem;color:var(--navy);margin:1.7rem 0 0;letter-spacing:-.02em}
.pr-model-c > p{font-size:0.96rem;line-height:1.62;color:#45464E;margin:0.85rem 0 0;max-width:16.5rem;text-align:left}
.pr-checks{margin:1.35rem 0 0;text-align:left;display:flex;flex-direction:column;gap:0.62rem}
.pr-checks li{display:flex;align-items:flex-start;gap:0.62rem;font-size:0.88rem;line-height:1.5;color:#45464E}
.pr-checks li img{width:1.1rem;margin-top:0.11rem;flex:0 0 auto}
.pr-models-note{margin:1.1rem 0 0;text-align:center;font-size:0.78rem;line-height:1.5;color:#6B6E78}

/* ---------- 3 + 5. icon tile grids (Services Available, Service Package) ---------- */
.pr-services{padding:2.0rem 0 0}
.pr-package{padding:2.0rem 0 0}
.pr-tile-grid{display:grid;gap:1.11rem 1.16rem;margin-top:1.72rem}
.pr-tile-6{grid-template-columns:repeat(6,1fr)}
.pr-tile-3{grid-template-columns:repeat(3,1fr)}
.pr-tile-3 .pr-tile{padding:1.85rem 1rem 1.6rem}
.pr-tile-3 .pr-tile img{width:4rem;height:4rem}
.pr-tile-3 .pr-tile span{font-size:0.98rem;margin-top:1.25rem}
/* his package row 1 tiles are auto-width, so the fr values below are his own
   measured tile widths (570 665 650 651 652 586 source px), normalised */
.pr-pkg-6{grid-template-columns:0.57fr 0.665fr 0.65fr 0.651fr 0.652fr 0.586fr;margin-top:1.85rem}
.pr-pkg-5{grid-template-columns:repeat(5,1fr);margin-top:0.95rem;width:96%;margin-left:auto;margin-right:auto}
.pr-tile{
  background:#fff;border:1px solid #EEF0F4;border-radius:0.5rem;
  box-shadow:0 1px 2px rgba(10,36,114,.035);
  padding:1.55rem 0.62rem 1.4rem;text-align:center;
  display:flex;flex-direction:column;align-items:center;
}
.pr-tile img{width:3.41rem;height:3.41rem}
.pr-tile span{font-size:0.84rem;font-weight:600;color:var(--navy);line-height:1.4;margin-top:1.1rem}
a.pr-tile{text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}
a.pr-tile:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(10,36,114,.10)}
.pr-pkg-6 .pr-tile img,.pr-pkg-5 .pr-tile img{width:3.15rem;height:3.15rem}
.pr-pkg-6 .pr-tile,.pr-pkg-5 .pr-tile{padding:1.4rem 0.55rem 1.15rem}
.pr-pkg-6 .pr-tile span,.pr-pkg-5 .pr-tile span{margin-top:0.92rem}

/* ---------- 4. what determines your pricing ---------- */
.pr-determines{padding:2.2rem 0 0}
.pr-det-panel{border:1px solid #EDEFF4;border-radius:0.62rem;background:#fff;margin-top:1.09rem;padding:0.75rem 0 0.9rem}
.pr-det-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.pr-det-col{display:flex;flex-direction:column;gap:0.7rem}
.pr-det-i{
  display:flex;align-items:flex-start;gap:0.6rem;
  font-size:0.92rem;line-height:1.45;color:#3E4353;
  padding:0.35rem 1.9rem 0.35rem 3.0rem;
}
.pr-det-i img{width:1.53rem;height:1.53rem;flex:0 0 auto;margin-top:-0.06rem}

/* ---------- 6. why practices choose ---------- */
.pr-why{padding:2.2rem 0 0}
.pr-why-row{
  display:grid;
  grid-template-columns:repeat(5,0.902fr) 1.318fr repeat(4,1fr);
  margin-top:1.55rem;
}
.pr-why-i{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 0.18rem}
.pr-why-i img{width:5.06rem;height:5.06rem}
.pr-why-i span{font-size:0.78rem;font-weight:600;color:var(--navy);line-height:1.42;margin-top:0.73rem}
.pr-why-sep{border-right:1px solid #F0F0F3}

/* ---------- 7. request a free quote ---------- */
.pr-quote{padding:1.9rem 0 0}
.pr-quote-card{
  border:1px solid #2E8B57;border-radius:0.9rem;background:#fff;overflow:hidden;
  display:grid;grid-template-columns:26.6% 35.8% 29.0%;column-gap:3.0%;
  align-items:center;padding-right:2.3%;
}
.pr-quote-photo{align-self:stretch}
.pr-quote-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.pr-quote-mid{padding:1.45rem 0}
.pr-quote-mid h2{font-size:1.72rem;color:var(--navy);letter-spacing:-.025em;margin:0}
.pr-quote-sub{font-size:0.88rem;font-weight:700;color:#0A7A3C;margin:0.6rem 0 0;line-height:1.4}
.pr-quote-p{font-size:0.86rem;line-height:1.72;color:#45464E;margin:0.85rem 0 0}
.pr-quote-btns{display:flex;flex-wrap:wrap;gap:0.72rem;margin-top:1.3rem}
.pr-quote-btns .btn{padding:0.72rem 1.1rem;font-size:0.83rem}
.pr-quote-inset{
  background:#FCFDFE;border:1px solid #EDEFF4;border-radius:0.62rem;
  padding:1.35rem 1.3rem 1.5rem;
}
.pr-quote-inset h3{font-size:0.9rem;color:var(--navy);margin:0 0 1.05rem;letter-spacing:-.015em}
.pr-quote-inset ul{display:flex;flex-direction:column;gap:0.85rem}
.pr-quote-inset li{display:flex;align-items:flex-start;gap:0.72rem;font-size:0.837rem;line-height:1.45;color:#3E4353}
.pr-quote-inset li img{width:1.05rem;flex:0 0 auto;margin-top:0.1rem}

/* ---------- 8. frequently asked pricing questions ---------- */
.pr-faq{padding:2.2rem 0 0}
.pr-faq-list{display:flex;flex-direction:column;gap:0.19rem;margin-top:1.02rem}
.pr-faq-i{background:#fff;border:1px solid #EAEDF4;border-radius:0.44rem;overflow:hidden}
.pr-faq-q{
  width:100%;background:none;border:0;cursor:pointer;font:inherit;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:0.72rem 1.35rem 0.72rem 1.7rem;min-height:2.64rem;text-align:left;
  font-size:0.9rem;font-weight:600;color:var(--navy);line-height:1.4;
}
.pr-pm{position:relative;flex:0 0 auto;width:0.95rem;height:0.95rem}
.pr-pm::before,.pr-pm::after{
  content:'';position:absolute;background:var(--navy);border-radius:0.06rem;
  transition:transform .18s ease,opacity .18s ease;
}
.pr-pm::before{left:0;right:0;top:50%;height:0.13rem;transform:translateY(-50%)}
.pr-pm::after{top:0;bottom:0;left:50%;width:0.13rem;transform:translateX(-50%)}
.pr-faq-i.open .pr-pm::after{transform:translateX(-50%) scaleY(0);opacity:0}
.pr-faq-a{padding:0 1.35rem 1.05rem}
.pr-faq-a p{font-size:0.837rem;line-height:1.68;color:#45464E;margin:0}

/* ---------- 9. closing CTA band ---------- */
.pr-cta{padding:2.0rem 0 1.25rem}
.pr-cta-band{
  position:relative;overflow:hidden;border-radius:0.53rem;background:#031762;
  display:flex;align-items:center;gap:1.5rem;
  padding:1.2rem 20.7% 1.2rem 2.65rem;min-height:10.99rem;
}
.pr-cta-chart{position:absolute;top:0;right:0;height:100%;width:auto;z-index:1;pointer-events:none}
.pr-cta-l{position:relative;z-index:2;flex:1 1 auto}
.pr-cta-l h2{font-size:1.24rem;color:#fff;letter-spacing:-.02em;margin:0;line-height:1.25}
.pr-cta-l p{font-size:0.88rem;color:#D8E0F2;margin:0.5rem 0 0;line-height:1.6}
.pr-cta-items{display:flex;flex-wrap:wrap;align-items:center;gap:0 1.35rem;margin-top:1.0rem}
.pr-cta-i{
  display:flex;align-items:center;gap:0.62rem;
  font-size:0.79rem;color:#fff;line-height:1.4;padding-right:1.35rem;
  border-right:1px solid rgba(255,255,255,.28);
}
.pr-cta-i:last-child{border-right:0;padding-right:0}
.pr-cta-i img{width:1.5rem;flex:0 0 auto}
.pr-cta-btns{position:relative;z-index:2;display:flex;flex-direction:column;gap:0.95rem;flex:0 0 auto;width:14.2rem}
.pr-cta-btns .btn{width:100%;padding:0.8rem 0.9rem;white-space:nowrap}
.pr-btn-white{background:#fff;color:var(--navy)}

/* ==========================================================================
   PRICING PAGE, responsive.
   Rule 9: nothing here collapses his desktop layout at or above 1024px.
   The first breakpoint is 1023px, so a 1024px laptop and a 1440px desktop both
   render the layout exactly as he drew it.
   ========================================================================== */
@media (max-width:1023px){
  .pr-head{gap:1.2rem;font-size:1.42rem}
  .pr-rule{width:2.2rem}

  /* hero stacks: his order kept, copy first, then his photo */
  .pr-hero{padding:2.2rem 0 2.4rem;display:flex;flex-direction:column;min-height:0}
  .pr-hero .wrap{order:1}
  .pr-hero-photo{order:2;position:relative;width:100%;right:auto;bottom:auto;margin-top:1.6rem;border-radius:0.6rem;overflow:hidden}
  .pr-hero-photo img{height:auto;aspect-ratio:2570/1840}
  .pr-hero-in{max-width:none}
  .pr-h1{font-size:3.3rem}
  .pr-hero-p{max-width:none;line-height:1.85}
  .pr-trust{flex-wrap:wrap;gap:1rem 1.4rem}
  .pr-trust-c{width:auto;max-width:13rem}

  .pr-model-grid{grid-template-columns:repeat(2,1fr)}
  .pr-tile-6{grid-template-columns:repeat(4,1fr)}
  .pr-pkg-6,.pr-pkg-5{grid-template-columns:repeat(4,1fr);width:100%}
  .pr-why-row{grid-template-columns:repeat(5,1fr);row-gap:1.5rem}
  .pr-why-sep{border-right:0}

  .pr-quote-card{grid-template-columns:1fr;column-gap:0;row-gap:0;padding-right:0}
  .pr-quote-photo img{aspect-ratio:16/10;height:auto}
  .pr-quote-mid{padding:1.6rem 1.5rem 0}
  .pr-quote-p{max-width:none}
  .pr-quote-inset{margin:1.5rem}

  .pr-cta-band{flex-direction:column;align-items:flex-start;padding:1.6rem 1.5rem;gap:1.3rem}
  .pr-cta-chart{opacity:.4;height:100%}
  .pr-cta-btns{width:100%;max-width:20rem}
}

@media (max-width:820px){
  /* once the heading wraps, the rules read better inline than pinned to the edges */
  .pr-head{display:block;text-align:center}
  .pr-rule{display:inline-block;vertical-align:middle;margin:0 0.7rem}
  .pr-model-grid{grid-template-columns:1fr;gap:1.1rem}
  .pr-model-c > p{max-width:none}
  .pr-tile-6,.pr-pkg-6,.pr-pkg-5{grid-template-columns:repeat(3,1fr)}
  .pr-tile-3{grid-template-columns:repeat(2,1fr)}
  .pr-why-row{grid-template-columns:repeat(4,1fr)}
  .pr-det-i{padding:0.35rem 0.8rem}
}

@media (max-width:640px){
  .pr-head{font-size:1.28rem;gap:0.8rem}
  .pr-rule{width:1.5rem}
  .pr-h1{font-size:2.9rem}
  .pr-hero-sub{font-size:1.05rem}
  .pr-hero-btns .btn{min-width:0;flex:1 1 12rem;height:auto}
  .pr-tile-6,.pr-pkg-6,.pr-pkg-5{grid-template-columns:repeat(2,1fr)}
  .pr-tile-3{grid-template-columns:1fr}
  .pr-tile img{width:3.9rem;height:3.9rem}
  .pr-pkg-6 .pr-tile img,.pr-pkg-5 .pr-tile img{width:3.6rem;height:3.6rem}
  .pr-tile span{font-size:0.8rem}
  .pr-why-row{grid-template-columns:repeat(3,1fr)}
  .pr-why-i img{width:4.6rem;height:4.6rem}
  .pr-why-i span{font-size:0.78rem}
  .pr-det-grid{grid-template-columns:1fr;row-gap:0.7rem}
  .pr-quote-mid h2{font-size:1.5rem}
  .pr-quote-btns .btn{flex:1 1 12rem;height:auto}
  .pr-faq-q{font-size:0.85rem;padding:0.7rem 1rem}
  .pr-faq-a{padding:0 1rem 0.95rem}
  .pr-cta-l h2{font-size:1.22rem}
  .pr-cta-items{gap:0.7rem 1rem}
  .pr-cta-i{border-right:0;padding-right:0;font-size:0.82rem;flex:1 1 100%}
  .pr-cta-btns{max-width:none}
}

@media (max-width:420px){
  .pr-h1{font-size:2.5rem}
  .pr-hero-sub{font-size:0.98rem}
  .pr-head{font-size:1.15rem}
  .pr-trust-c{max-width:none;width:100%}
  .pr-why-row{grid-template-columns:repeat(2,1fr)}
  .pr-hero-btns,.pr-quote-btns{flex-direction:column}
  .pr-hero-btns .btn,.pr-quote-btns .btn{width:100%;flex:0 0 auto}
}

/* Assessment box labels follow the client's FREE PRACTICE REVENUE ASSESSMENT BOX
   design: bold navy, not the shared grey. Scoped to the two assessment forms
   (the on-page one and the popup) so the consultation form is untouched. */
#af-form .fld label,
#am-form .fld label{font-weight:700;color:var(--navy)}

/* ==========================================================================
   SPECIALTIES HUB  (site/specialties.html, served at /specialties)
   Built to the client's approved design
   client-source/2026-08-28-final/SPECIALTY/SaMeD_Specialties_Approved_4500px.jpg
   (4500 x 9484). Sizes below are his geometry converted at one constant:
   the design is 4500 source px wide and renders at 1440 CSS px, so with the
   root font size at 1440 (18.79px) one source px is 0.017rem. Colours were
   sampled from the file with PIL: kicker rule #9CAAC8, step arrow #2D5291,
   step title #162A67, step copy #5B5E7C, bands #F1F7F5, don't-see card
   #E8F2FC, CTA box #EEF5FF, call button border #C6D7EF.
   Shared furniture (header, footer, popups, .btn, .wrap) is reused, not forked.
   Rule 9: no breakpoint below touches 1024 or above; the first is 1000px.
   ========================================================================== */

/* ---------- shared: green kicker with a light rule each side, navy h2, intro ---------- */
.sh-kicker{
  display:flex;align-items:center;justify-content:center;gap:0.9rem;
  font-size:0.9rem;font-weight:700;color:var(--green-label);text-align:center;
  line-height:1.3;letter-spacing:-.01em;margin:0 0 0.35rem;
}
.sh-rule{flex:0 0 auto;width:3.75rem;height:0.085rem;background:#9CAAC8;border-radius:0.1rem}
.sh-h2{font-size:1.2rem;font-weight:700;color:var(--navy);text-align:center;line-height:1.28;letter-spacing:-.02em;margin:0}
.sh-intro{font-size:0.74rem;line-height:1.6;color:#5E5D62;text-align:center;max-width:46rem;margin:0.5rem auto 0}
.sh-bi{width:1.05rem;height:1.05rem;flex:0 0 auto}
.sh-bi-svg{fill:currentColor}

/* ---------- 1. hero ---------- */
.sh-hero{position:relative;background:#FAFBFD;overflow:hidden;padding:2.2rem 0 1.2rem;min-height:29.8rem}
.sh-hero-photo{position:absolute;top:0.45rem;right:0;bottom:0.35rem;width:58.3%;z-index:1}
.sh-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:0% 50%}
.sh-hero .wrap{position:relative;z-index:2}
.sh-hero-in{max-width:41%}
.sh-h1{font-size:2.55rem;line-height:1.05;color:var(--navy);letter-spacing:-.03em;margin:0}
.sh-hero-g{font-size:1.16rem;font-weight:700;color:var(--green-text);line-height:1.22;letter-spacing:-.015em;margin:0.55rem 0 0}
.sh-hero-n{font-size:1.04rem;font-weight:700;color:var(--navy);line-height:1.22;letter-spacing:-.015em;margin:0.55rem 0 0}
.sh-hero-p{font-size:0.68rem;line-height:1.42;color:#313235;margin:0.8rem 0 0;max-width:27rem}
/* his two buttons run 31rem wide, past the 29.5rem copy column and into the
   photo fade, exactly as drawn, so the row is allowed to be wider than the column */
.sh-hero-btns{display:flex;flex-wrap:nowrap;width:max-content;max-width:none;gap:1.5rem;margin-top:1.3rem}
.sh-hero-btns .btn{font-size:0.64rem;padding:0.55rem 1.1rem;min-height:2.3rem;gap:0.55rem;white-space:nowrap}

/* ---------- 2. featured specialties, 5 x 4 cards ---------- */
.sh-featured{padding:1.9rem 0 0}
.sh-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0.63rem 1.22rem;margin-top:1.15rem}
.sh-card{
  display:flex;align-items:center;gap:0.55rem;min-height:6.8rem;
  background:#fff;border:1px solid #ECEEF3;border-radius:0.4rem;
  box-shadow:0 1px 3px rgba(10,36,114,.05);padding:0.7rem 0.4rem 0.7rem 1.1rem;min-width:0;
  transition:transform .18s ease,border-color .18s ease;
}
.sh-card:hover{transform:translateY(-2px);border-color:#C9D6EE}
.sh-card img{width:4.1rem;height:4.1rem;flex:0 0 auto}
.sh-card-t{display:block;font-size:0.74rem;font-weight:600;color:var(--navy);line-height:1.3}
.sh-card-t b{display:block;font-size:0.72rem;font-weight:600;color:var(--green-text);margin-bottom:0.15rem}
/* his Gastroenterology label is set smaller so the word stays on one line */
.sh-card-sm .sh-card-t{font-size:0.62rem}

/* ---------- 3. more specialties band, 6 columns ---------- */
.sh-more-wrap{padding:1.35rem 0 0}
.sh-more{background:#F1F7F5;border:1px solid #EEF8F4;border-radius:0.5rem;padding:1.05rem 0.9rem 1.1rem}
.sh-more-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:0.85rem}
.sh-more-col{padding:0 0.7rem;border-left:1px dashed #C9D0DD}
.sh-more-col:first-child{border-left:0}
.sh-more-col img{width:3.4rem;height:3.4rem;margin:0 auto}
.sh-more-col h3{font-size:0.8rem;font-weight:700;color:var(--navy);text-align:center;line-height:1.3;margin:0.7rem 0 0.6rem;min-height:2.1rem}
.sh-more-col ul{padding-left:0.95rem;list-style:disc;color:#4A4E55}
.sh-more-col li{font-size:0.72rem;line-height:1.35;margin:0 0 0.5rem;padding-left:0.1rem}
.sh-more-col li::marker{color:#4A4E55;font-size:0.7em}

/* ---------- 4. don't see your specialty ---------- */
.sh-dontsee-wrap{padding:1.1rem 0 0}
.sh-dontsee{
  display:grid;grid-template-columns:1fr 53%;align-items:center;overflow:hidden;
  background:#E8F2FC;border:1px solid #DDEBFA;border-radius:0.55rem;min-height:13.7rem;
}
.sh-dontsee-l{padding:1.3rem 0.8rem 1.3rem 1.05rem}
.sh-dontsee-l h2{font-size:1.36rem;color:var(--navy);letter-spacing:-.02em;margin:0;line-height:1.2}
.sh-dontsee-l p.sh-dontsee-g{font-size:1.0rem;font-weight:700;color:var(--green-text);margin:0.3rem 0 0.55rem;line-height:1.3}
.sh-dontsee-l p{font-size:0.74rem;line-height:1.5;color:#34374D;margin:0 0 0.6rem}
.sh-dontsee-l .btn{margin-top:0.55rem;font-size:0.78rem;padding:0.6rem 1.2rem;min-height:2rem;gap:0.55rem}
.sh-dontsee-r{align-self:stretch;display:flex}
.sh-dontsee-r img{width:100%;height:100%;object-fit:cover;object-position:100% 50%}

/* ---------- 5. revenue cycle support, 7 steps with arrows ---------- */
.sh-process{padding:1.9rem 0 0}
.sh-steps{display:flex;align-items:flex-start;justify-content:space-between;gap:0.35rem;margin-top:1.3rem}
.sh-step{flex:1 1 0;min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center}
.sh-step img{width:3.9rem;height:3.9rem}
.sh-step h3{font-size:0.8rem;font-weight:700;color:#162A67;line-height:1.32;margin:0.55rem 0 0.45rem}
.sh-step p{font-size:0.68rem;line-height:1.42;color:#5B5E7C;margin:0}
.sh-step-arrow{flex:0 0 auto;width:1.7rem;height:1.7rem;margin-top:1.1rem}

/* ---------- 6. why specialty experience matters ---------- */
.sh-why-wrap{padding:1.5rem 0 0}
.sh-why{background:#F1F7F5;border:1px solid #F0F9F5;border-radius:0.5rem;padding:0.95rem 1.2rem 0.85rem;text-align:center}
.sh-why h2{font-size:0.95rem;font-weight:700;color:var(--green-text);margin:0;line-height:1.3}
.sh-why-p{font-size:0.72rem;line-height:1.55;color:#3F4248;max-width:51rem;margin:0.45rem auto 0}
.sh-checks{display:flex;justify-content:space-between;gap:0.6rem;margin-top:0.95rem}
.sh-check{display:flex;align-items:center;gap:0.5rem;text-align:left;flex:0 1 auto;min-width:0}
.sh-check img{width:1.95rem;height:1.95rem;flex:0 0 auto}
.sh-check span{font-size:0.68rem;font-weight:500;color:#373A3F;line-height:1.3;white-space:nowrap}
.sh-goal{display:flex;align-items:center;justify-content:center;gap:0.7rem;font-size:0.72rem;color:#51535A;line-height:1.4;margin:0.6rem 0 0}
.sh-goal img{width:3rem;height:2.25rem;flex:0 0 auto}

/* ---------- 7. one revenue cycle partner, closing CTA box ---------- */
.sh-cta-wrap{padding:1.1rem 0 1.5rem}
.sh-cta{
  display:grid;grid-template-columns:24.3fr auto 27.7fr;gap:0.9rem;align-items:start;
  background:#EEF5FF;border:1px solid #E1ECFB;border-radius:0.65rem;min-height:7.8rem;padding:0.75rem 1.0rem 0.9rem 1.15rem;
}
.sh-cta-l h2{font-size:0.9rem;color:var(--navy);line-height:1.3;letter-spacing:-.02em;margin:0}
.sh-cta-l p{font-size:0.66rem;line-height:1.48;color:#4B4C72;margin:0.5rem 0 0}
.sh-cta-hand{width:7.7rem;height:7.7rem;align-self:center;margin-right:4.4rem}
.sh-cta-r h3{padding-left:4.4rem;font-size:0.88rem;color:var(--navy);line-height:1.3;letter-spacing:-.02em;margin:0}
.sh-cta-r p{padding-left:4.4rem;font-size:0.66rem;line-height:1.48;color:#4B4C72;margin:0.3rem 0 0;max-width:34rem}
.sh-cta-btns{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:0.8rem}
.sh-cta-btns .btn{font-size:0.56rem;padding:0.4rem 0.8rem;min-height:2.1rem;gap:0.45rem;line-height:1.25;white-space:nowrap}
.sh-cta-btns .sh-bi{width:0.95rem;height:0.95rem}
.sh-btn-call{background:#fff;color:var(--navy);border:1.5px solid #C6D7EF}
.sh-btn-call span{text-align:left}

/* ---------- Specialties hub: tablet, below 1024 so a laptop keeps his desktop layout ---------- */
@media (max-width:1000px){
  .sh-hero{display:flex;flex-direction:column;min-height:0;padding:1.8rem 0 1.6rem}
  .sh-hero .wrap{order:1}
  .sh-hero-photo{order:2;position:relative;top:auto;right:auto;bottom:auto;width:94%;margin:1.4rem auto 0;border-radius:0.6rem;overflow:hidden}
  .sh-hero-photo img{height:auto;aspect-ratio:2625/1701}
  .sh-hero-in{max-width:none}
  .sh-hero-p{max-width:none;font-size:0.8rem}
  .sh-hero-btns{flex-wrap:wrap;width:auto;gap:0.75rem}
  .sh-hero-btns .btn{white-space:normal}
  .sh-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:0.7rem}
  .sh-more-grid{grid-template-columns:repeat(3,1fr);row-gap:1.2rem}
  .sh-more-col:nth-child(3n+1){border-left:0}
  .sh-dontsee{grid-template-columns:1fr}
  .sh-dontsee-r img{aspect-ratio:2245/802;height:auto;object-position:50% 50%}
  /* his seven step flow cannot stay one row on a tablet without shrinking the
     copy past readable, so it becomes 4 + 3 and the connecting arrows, which
     only make sense on a single line, are dropped */
  .sh-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem 0.8rem}
  .sh-step-arrow{display:none}
  .sh-checks{flex-wrap:wrap;gap:0.8rem 1rem}
  .sh-check{flex:1 1 40%}
  .sh-check span{white-space:normal}
  .sh-cta{grid-template-columns:1fr;gap:1.1rem;text-align:center;align-items:center}
  .sh-cta-hand{margin:0 auto}
  .sh-cta-r h3,.sh-cta-r p{padding-left:0}
  .sh-cta-l h2{font-size:1.05rem}
  .sh-cta-l p,.sh-cta-r p{font-size:0.8rem}
  .sh-cta-r h3{font-size:1rem}
  .sh-cta-btns .btn{white-space:normal}
  .sh-cta-r p{margin-left:auto;margin-right:auto}
  .sh-cta-btns{justify-content:center}
  .sh-cta-l h2 br{display:none}
}

/* ---------- Specialties hub: phone ---------- */
@media (max-width:640px){
  .sh-kicker{gap:0.6rem;font-size:0.85rem}
  .sh-rule{width:1.8rem}
  .sh-h2{font-size:1.25rem}
  .sh-h1{font-size:2.3rem}
  .sh-hero-g{font-size:1.12rem}
  .sh-hero-n{font-size:1.02rem}
  .sh-hero-g br,.sh-hero-n br{display:none}
  .sh-hero-btns .btn{width:100%;font-size:0.85rem}
  .sh-hero-p{font-size:0.88rem;line-height:1.5}
  .sh-intro{font-size:0.88rem}
  .sh-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.6rem}
  .sh-card{min-height:0;padding:0.7rem 0.5rem 0.7rem 0.7rem;gap:0.45rem}
  .sh-card img{width:3.2rem;height:3.2rem}
  .sh-more{padding:1rem 0.8rem}
  .sh-more-grid{grid-template-columns:repeat(2,1fr)}
  .sh-more-col{border-left:0;padding:0 0.3rem}
  .sh-more-col h3{min-height:0;font-size:0.9rem}
  .sh-more-col li{font-size:0.85rem}
  .sh-dontsee-l{padding:1.2rem 1rem}
  .sh-dontsee-l .btn{width:100%;font-size:0.85rem}
  .sh-dontsee-l p{font-size:0.88rem}
  .sh-dontsee-l p.sh-dontsee-g{font-size:1.05rem}
  .sh-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sh-step h3{font-size:0.9rem}
  .sh-step p{font-size:0.82rem}
  .sh-why{padding:1rem 0.9rem}
  .sh-why h2{font-size:1.05rem}
  .sh-why-p{font-size:0.88rem}
  .sh-check{flex:1 1 42%}
  .sh-check span{font-size:0.82rem}
  .sh-goal{font-size:0.85rem}
  .sh-goal{flex-direction:column;gap:0.4rem}
  .sh-cta-btns{flex-direction:column}
  .sh-cta-btns .btn{width:100%;font-size:0.85rem}
  .sh-cta-l p,.sh-cta-r p{font-size:0.88rem}
}

@media (max-width:400px){
  .sh-h1{font-size:2.0rem}
  .sh-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.5rem}
  .sh-card{padding-left:0.55rem;gap:0.35rem}
  .sh-card img{width:2.9rem;height:2.9rem}
  .sh-card-t{font-size:0.78rem;overflow-wrap:anywhere}
  .sh-card-sm .sh-card-t{font-size:0.7rem}
  .sh-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 0.5rem}
}

@media (max-width:360px){
  .sh-more-grid{grid-template-columns:1fr}
  .sh-check{flex:1 1 100%}
}

/* ==========================================================================
   CONTACT US PAGE  (site/contact-us.html)
   Built to the client's approved design
   client-source COMPANY.rar / SaMeD-RCM-Contact-Us-High-Resolution.jpg
   Shared furniture (header, footer, popups, .btn, .eyebrow, .sec-head, .wrap,
   .frm/.fld) is reused from the homepage/pricing, not forked. New classes
   below are prefixed cu- for this page only.
   ========================================================================== */

/* ---------- 1. hero ---------- */
.cu-hero{position:relative;padding:2.25rem 0 2rem;overflow:hidden}
.cu-hero-photo{position:absolute;top:0.75rem;right:0;bottom:0;width:58%;z-index:0;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 40%);mask-image:linear-gradient(to right,transparent 0,#000 40%)}
.cu-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.cu-hero-in{position:relative;z-index:1;max-width:54%}
.cu-h1{font-size:2.375rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--navy);margin:0 0 0.875rem}
.cu-h1 br+*{color:var(--green-text)}
.cu-hero-p{font-size:0.9375rem;line-height:1.7;color:var(--text);margin:0 0 0.875rem;max-width:32rem}
.cu-hero-btns{display:flex;gap:0.875rem;margin-top:1.125rem;flex-wrap:wrap}

/* ---------- trust bar ---------- */
.cu-trust{background:var(--navy-band)}
.cu-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding:1.375rem 0}
.cu-trust-c{display:flex;align-items:center;gap:0.75rem}
.cu-trust-c .ic{flex:none;width:2.75rem;height:2.75rem;border-radius:50%;background:rgba(255,255,255,.06);
  border:0.0625rem solid rgba(95,230,143,.4);display:grid;place-items:center}
.cu-trust-c .ic svg{width:1.375rem;height:1.375rem;fill:none;stroke:#5FE68F;stroke-width:1.7}
.cu-trust-c b{display:block;color:#fff;font-size:0.9375rem;font-weight:700;line-height:1.3}
.cu-trust-c span{display:block;color:#C4CBE6;font-size:0.75rem;line-height:1.4}

/* ---------- 2. how we can help ---------- */
.cu-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.cu-help-c{background:#fff;border:0.0625rem solid var(--border);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--shadow)}
.cu-help-c::before{content:'';display:block;height:0.3125rem;background:var(--green)}
.cu-help-c:nth-child(2)::before{background:var(--navy)}
.cu-help-c{padding:0}
.cu-help-c>*{padding-left:1.5rem;padding-right:1.5rem}
.cu-help-h{display:flex;align-items:center;gap:0.75rem;padding-top:1.375rem;margin-bottom:0.75rem}
.cu-help-h svg{width:2rem;height:2rem;flex:none;fill:none;stroke:var(--green);stroke-width:1.6;
  background:#EAF7EF;border-radius:0.5rem;padding:0.375rem}
.cu-help-c:nth-child(2) .cu-help-h svg{stroke:var(--navy);background:#EAEDF9}
.cu-help-h h3{font-size:1.0625rem;font-weight:700;color:var(--navy);margin:0}
.cu-help-c>p{font-size:0.8438rem;color:var(--muted);margin:0 0 0.625rem}
.cu-help-checks{list-style:none;margin:0 0 1rem;padding:0 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:0.75rem 0.875rem}
.cu-help-checks li{display:flex;align-items:flex-start;gap:0.625rem;font-size:0.8125rem;color:var(--text);line-height:1.5}
.cu-help-checks svg{width:1rem;height:1rem;flex:none;margin-top:0.1875rem;fill:none;stroke:var(--green);stroke-width:2}
.cu-help-note{background:#EAF7EF;border-left:0.1875rem solid var(--green);border-radius:0 0.375rem 0.375rem 0;
  padding:0.75rem 0.875rem;font-size:0.8125rem;font-weight:600;color:var(--green-text);
  margin-left:1.5rem;margin-right:1.5rem;margin-bottom:1.375rem}
.cu-help-c:nth-child(2) .cu-help-note{background:#EAEDF9;border-left-color:var(--navy);color:var(--navy)}

/* ---------- 3. clear, actionable review ---------- */
.cu-focus-sec{background:var(--bg-soft)}
.cu-focus-split{display:grid;grid-template-columns:1fr 1fr;gap:2.25rem;align-items:center}
.cu-focus-l h2{font-size:1.625rem;font-weight:700;line-height:1.28;color:var(--navy);margin:0 0 0.75rem}
.cu-focus-l p{font-size:0.875rem;line-height:1.7;color:var(--text);margin:0 0 1.25rem}
.cu-focus-r{background:#fff;border:0.0625rem solid var(--border);border-radius:var(--r);
  padding:1.5rem;box-shadow:var(--shadow)}
.cu-focus-grid{display:grid;grid-auto-flow:column;grid-template-columns:1fr 7.25rem 1fr;
  grid-template-rows:repeat(3,1fr);gap:0.625rem;margin-top:1rem}
.cu-focus-i{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.3125rem;
  background:#fff;border:0.0625rem solid var(--border);border-radius:0.625rem;padding:0.75rem 0.5rem}
.cu-focus-i svg{width:1.375rem;height:1.375rem;fill:none;stroke:var(--green);stroke-width:1.6}
.cu-focus-i span{font-size:0.75rem;font-weight:600;color:var(--navy);line-height:1.28}
.cu-focus-badge{grid-row:1/4;display:flex;align-items:center;justify-content:center}
.cfb-ring{width:7.25rem;height:7.25rem;border-radius:50%;position:relative;display:grid;place-items:center;
  background:conic-gradient(from -90deg,var(--green) 0deg 180deg,var(--navy) 180deg 360deg)}
.cfb-white{position:absolute;inset:0.1875rem;border-radius:50%;background:#fff;z-index:1}
.cfb-dots{position:absolute;inset:0;width:100%;height:100%;z-index:2}
.cfb-dots circle{fill:#fff;stroke:var(--green);stroke-width:1.4}
.cfb-core{position:relative;z-index:3;width:6rem;height:6rem;border-radius:50%;background:var(--navy-band);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0.5rem}
.cfb-core svg{width:1.25rem;height:1.25rem;fill:none;stroke:#fff;stroke-width:1.8;margin-bottom:0.1875rem}
.cfb-core b{color:#5FE68F;font-size:0.5rem;font-weight:700;letter-spacing:.09em}
.cfb-core strong{color:#fff;font-size:0.6875rem;font-weight:800;line-height:1.18;letter-spacing:.01em;margin-top:0.0625rem}
.cfb-pill{margin-top:0.3125rem;display:inline-flex;align-items:center;gap:0.1875rem;
  background:rgba(255,255,255,.14);color:#fff;font-size:0.4688rem;
  font-weight:700;letter-spacing:.06em;padding:0.125rem 0.4375rem;border-radius:1rem}
.cfb-pill svg{width:0.625rem;height:0.625rem;flex:none;fill:var(--green);margin:0}

/* ---------- 4. get in touch ---------- */
.cu-get-split{display:grid;grid-template-columns:1fr 1.28fr;gap:1.5rem;align-items:stretch}
/* Let the info card and form shrink to the phone width instead of the inputs' natural width. */
.cu-get-split>*,.cu-form-card .frm>*{min-width:0}
.cu-info-card{background:var(--navy-band);border-radius:var(--r);padding:1.75rem 1.625rem;color:#fff}
.cu-info-card h3{color:#fff;font-size:1.375rem;font-weight:700;margin:0 0 0.625rem}
.cu-info-card>p{font-size:0.8438rem;line-height:1.65;color:#C4CBE6;margin:0 0 1.375rem}
.cu-info-list{list-style:none;margin:0 0 1.375rem;padding:0;display:flex;flex-direction:column;gap:1rem}
.cu-info-list li{display:flex;align-items:flex-start;gap:0.875rem}
.cu-info-list .ic{flex:none;width:2.25rem;height:2.25rem;border-radius:50%;background:rgba(255,255,255,.12);
  display:grid;place-items:center}
.cu-info-list .ic svg{width:1.125rem;height:1.125rem;fill:none;stroke:#5FE68F;stroke-width:1.8}
.cu-info-list b{display:block;font-size:0.7188rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:#5FE68F;margin-bottom:0.1875rem}
.cu-info-list span{display:block;font-size:0.8438rem;line-height:1.5;color:#fff}
.cu-info-list a{color:#fff}
.cu-info-note{background:rgba(255,255,255,.08);border:0.0625rem solid rgba(255,255,255,.18);border-radius:0.5rem;
  padding:0.75rem 0.875rem;font-size:0.7813rem;color:#C4CBE6}
.cu-form-card{background:#fff;border:0.0625rem solid var(--border);border-radius:var(--r);
  padding:1.75rem 1.625rem;box-shadow:var(--shadow)}
.cu-form-h{display:flex;align-items:flex-start;gap:0.875rem;margin-bottom:1.125rem}
.cu-form-h .ic{flex:none;width:2.5rem;height:2.5rem;border-radius:0.625rem;background:#EAF7EF;display:grid;place-items:center}
.cu-form-h .ic svg{width:1.25rem;height:1.25rem;fill:none;stroke:var(--green);stroke-width:1.7}
.cu-form-h h3{font-size:1.1875rem;font-weight:700;color:var(--navy);margin:0 0 0.1875rem}
.cu-form-h p{font-size:0.8125rem;color:var(--muted);margin:0}
.cu-form-foot{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;color:var(--muted);margin:0.875rem 0 0}
.cu-form-foot svg{width:0.9375rem;height:0.9375rem;flex:none;fill:none;stroke:var(--muted);stroke-width:1.7}

/* ---------- 5. why contact samed rcm solutions ---------- */
.cu-why-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.125rem}
.cu-why-grid .cu-why-c{flex:0 0 calc(25% - 0.84375rem)}
.cu-why-c{background:#fff;border:0.0625rem solid var(--border);border-radius:var(--r);
  padding:1.375rem 1.25rem;text-align:center;box-shadow:var(--shadow)}
.cu-why-c .ic{width:3rem;height:3rem;border-radius:0.625rem;background:#EAF7EF;
  display:grid;place-items:center;margin:0 auto 0.75rem}
.cu-why-c .ic svg{width:1.625rem;height:1.625rem;fill:none;stroke:var(--green);stroke-width:1.6}
.cu-why-c h4{font-size:0.9375rem;font-weight:700;color:var(--navy);margin:0 0 0.375rem}
.cu-why-c p{font-size:0.7813rem;line-height:1.55;color:var(--muted);margin:0}

/* ---------- 6. closing cta band ---------- */
.cu-cta{background:#1C004F;padding:2.125rem 0 1.5rem}
.cu-cta-in{display:grid;grid-template-columns:1fr 22rem;gap:2.25rem;align-items:center}
.cu-cta-eyebrow{font-size:clamp(12.4px, 0.9rem, 17px);font-weight:700;letter-spacing:.075em;
  text-transform:uppercase;color:#5FE68F;margin-bottom:0.5625rem}
.cu-cta-l h2{color:#fff;font-size:1.75rem;line-height:1.26;letter-spacing:-.025em;margin-bottom:0.625rem}
.cu-cta-l p{font-size:0.85rem;line-height:1.68;color:#D8D2E6;margin:0;max-width:38rem}
.cu-cta-r{display:grid;gap:0.75rem}
.cu-cta-r .btn{width:100%;font-size:0.8125rem;letter-spacing:.02em;padding:0.9375rem 1.0rem}
.cu-btn-outline{background:#280072;color:#fff;border:0.09375rem solid #8E7BD0}
.cu-thrive{background:#EAF7EF;padding:0.9375rem 0;text-align:center}
.cu-thrive p{margin:0;font-size:0.875rem;font-weight:700;color:var(--navy)}

/* ---------- Contact Us: tablet ---------- */
@media (max-width:1000px){
  .cu-hero{padding:1.75rem 0;display:flex;flex-direction:column}
  .cu-hero-photo{order:2;position:relative;width:100%;height:auto;aspect-ratio:16/10;margin-top:1.5rem;
    border-radius:0.875rem;overflow:hidden}
  .cu-hero-in{max-width:100%}
  .cu-hero-p{max-width:none}
  .cu-trust-grid{grid-template-columns:repeat(2,1fr)}
  .cu-help-grid{grid-template-columns:1fr;gap:1.25rem}
  .cu-focus-split{grid-template-columns:1fr;gap:1.5rem}
  .cu-get-split{grid-template-columns:1fr;gap:1.25rem}
  .cu-why-grid .cu-why-c{flex-basis:calc(50% - 0.5625rem)}
  .cu-cta-in{grid-template-columns:1fr;gap:1.5rem}
  .cu-cta-r{max-width:26rem}
}

/* ---------- Contact Us: phone ---------- */
@media (max-width:760px){
  .cu-h1{font-size:1.875rem}
  .cu-focus-l h2,.cu-get-split .sec-head h2{font-size:1.5rem}
  .cu-cta-l h2{font-size:1.4rem}
  .cu-hero-btns .btn,.cu-cta-r .btn{width:100%}
  .cu-help-checks{grid-template-columns:1fr}
  .cu-focus-grid{grid-auto-flow:row;grid-template-columns:1fr 1fr;grid-template-rows:none}
  .cu-focus-badge{grid-row:auto;grid-column:1/3;order:-1;margin-bottom:0.25rem}
  .cu-why-grid .cu-why-c{flex-basis:100%}
  .cu-cta-r{max-width:none}
}

/* ==========================================================================
   PRIVACY POLICY PAGE  (site/privacy-policy.html)
   Built to the client's approved design
   LEGAL.rar / SaMeD_RCM_Privacy_Policy_4500px_AttachedHero_Final.jpg
   Shared furniture (header, footer, popups, .btn, .wrap) is reused, not forked.
   New classes below are prefixed pp- for this page only. Sizes are taken from
   his 1600px design width, so the page keeps his proportions on every desktop.
   Small text carries a px floor so it stays readable on a phone.
   ========================================================================== */

/* ---------- hero card ---------- */
.pp-hero-sec{padding:2rem 0 0}
.pp-hero{display:grid;grid-template-columns:1fr 37%;align-items:center;gap:1.5rem;
  background:#F4F7FE;border:0.0625rem solid #C9D8EF;border-radius:0.75rem;
  padding:1.4rem 0.4rem 2.2rem 3.8rem}
.pp-h1{font-size:max(30px,3.3rem);font-weight:600;line-height:1.1;letter-spacing:-.02em;color:var(--navy);margin:0 0 1rem}
.pp-sub{font-size:max(15px,1.05rem);line-height:1.4;color:#1C2436;max-width:27rem;margin:0}
.pp-rule{display:block;width:3.8rem;height:0.19rem;background:var(--green);margin:1.3rem 0 1.9rem}
.pp-dates{font-size:max(13px,0.8rem);font-weight:500;color:#1C2436;margin:0}
.pp-bar{margin:0 0.35rem}
.pp-nw{white-space:nowrap}
.pp-hero-art img{width:100%;height:auto}

/* ---------- intro ---------- */
.pp-intro-sec{padding:1.9rem 0 0}
.pp-intro{font-size:max(14px,0.8rem);line-height:1.5;color:#1C2436;margin:0;padding:0 2.15rem}

/* ---------- card grid ---------- */
.pp-cards-sec{padding:2.4rem 0 0.4rem}
.pp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.25rem;align-items:stretch}
.pp-card{display:flex;flex-direction:column;background:#fff;border:0.0625rem solid #D6E2F0;
  border-radius:0.65rem;padding:0.25rem 1.55rem 1rem;min-width:0}
.pp-card-h{display:flex;align-items:center;gap:0.6rem;margin:0 0 1.25rem -0.8rem}
.pp-ic{flex:none;width:2.68rem;height:2.68rem;color:var(--navy)}
.pp-ic svg,.pp-note svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;
  stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.pp-card-h h2{font-size:max(19px,1.42rem);font-weight:600;line-height:1.2;letter-spacing:-.015em;color:var(--navy);margin:0}
.pp-h3{font-size:max(15px,0.9rem);font-weight:600;line-height:1.3;color:var(--navy);margin:0 0 0.6rem}
.pp-p{font-size:max(14px,0.8rem);line-height:1.45;color:#1C2436;margin:0 0 0.75rem}
.pp-p a,.pp-note a,.pp-contact a{color:inherit}
.pp-strong{font-weight:700;color:var(--navy)}
.pp-small{font-size:max(13px,0.7rem);line-height:1.5}
.pp-list{list-style:none;margin:0 0 0.75rem;padding:0}
.pp-list li{position:relative;padding-left:0.85rem;font-size:max(14px,0.8rem);line-height:1.5;color:#1C2436;break-inside:avoid}
.pp-list li::before{content:'';position:absolute;left:0.12rem;top:0.7em;width:0.2rem;height:0.2rem;
  min-width:4px;min-height:4px;border-radius:50%;background:var(--navy)}
.pp-list-lead{margin-top:0.2rem}
.pp-cols{columns:2;column-gap:1.4rem}
.pp-2col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.pp-2col .pp-h3{font-size:max(14px,0.8rem);letter-spacing:-.01em}
.pp-2col .pp-list{margin-bottom:0}
.pp-divide{border-top:0.0625rem solid #DDE3F0;margin-top:1.3rem;padding-top:0.9rem}
.pp-contact li{font-size:max(13px,0.72rem);margin-bottom:0.45rem}
.pp-contact li::before{background:#1C2436;width:0.26rem;height:0.26rem}
.pp-contact b{font-weight:600;color:#1C2436}

/* ---------- note boxes (green check, red alert) ---------- */
.pp-notes{margin:auto -0.6rem 0;padding-top:1rem;display:flex;flex-direction:column;gap:0.6rem}
.pp-note{display:flex;align-items:center;gap:0.7rem;background:#EDF8F0;border:0.0625rem solid #C6E8D0;
  border-radius:0.4rem;padding:0.8rem 0.9rem 1.2rem 0.6rem}
.pp-note svg{flex:none;width:max(18px,1.05rem);height:max(18px,1.05rem);color:#008E3E}
.pp-note p{align-self:flex-start;margin:0;font-size:max(13px,0.67rem);line-height:1.3;color:#1C2436}
.pp-note-red{background:#FEF0EF;border-color:#F0B8B9;min-height:6.5rem}
.pp-note-red svg{color:#BD312E}
.pp-link-line{margin:1.6rem 0.6rem 0.4rem;font-size:max(12px,0.62rem);line-height:1.4;color:var(--navy)}
.pp-link-line a{color:inherit}

/* ---------- Privacy Policy: tablet and phone (his desktop layout holds at 1024 and up) ---------- */
@media (max-width:1023px){
  .pp-grid{grid-template-columns:1fr}
  .pp-hero{padding-right:1.25rem}
  .pp-notes{margin-top:0.25rem}
  .pp-note-red{min-height:0}
}
@media (max-width:700px){
  .pp-hero{grid-template-columns:1fr;gap:1rem;padding:1.6rem 1.25rem 1.25rem}
  .pp-hero-art{max-width:26rem;margin:0 auto;width:100%}
  .pp-rule{margin:1rem 0 1.1rem}
  .pp-intro{padding:0}
  .pp-card{padding:0.5rem 1.1rem 1rem}
  .pp-card-h{margin:0 0 1rem -0.35rem;gap:0.55rem}
  .pp-ic{width:44px;height:44px}
  .pp-notes{margin-left:-0.35rem;margin-right:-0.35rem}
  .pp-link-line{margin-left:0.35rem;margin-right:0.35rem}
}
@media (max-width:560px){
  .pp-2col{grid-template-columns:1fr;gap:1rem}
  .pp-cols{columns:1}
}
@media (max-width:360px){
  .pp-h1{font-size:27px}
  .pp-hero{padding-left:1rem;padding-right:1rem}
}

/* ==========================================================================
   HIPAA COMPLIANCE STATEMENT PAGE  (site/hipaa-compliance.html)
   Built to the client's approved design
   LEGAL.rar / SaMeD_HIPAA_Compliance_Corrected_4500px.jpg
   Shared furniture (header, footer, popups, .btn, .wrap) is reused, not forked.
   New classes below are prefixed hp- for this page only. Sizes come from his
   4500px canvas read as a 1600px design width, so 58.5 design px = 1rem and
   the page keeps his proportions on every desktop. Small text carries a px
   floor so it stays readable on a phone.
   ========================================================================== */

/* ---------- hero: his text half on #F7FBFE, his photo bleeding off the right ---------- */
.hp-hero{background:#F7FBFE}
.hp-hero-in{display:grid;grid-template-columns:1fr 1fr}
.hp-hero-text{padding:5.2rem 2.2rem 0.6rem 3vw;align-self:start}
.hp-h1{font-size:max(30px,3.12rem);font-weight:700;line-height:1.1;letter-spacing:-.018em;color:var(--navy);margin:0 0 1.1rem}
.hp-tag{font-size:max(17px,1.33rem);font-weight:700;line-height:1.22;letter-spacing:-.005em;color:var(--green-text);margin:0 0 1.05rem}
.hp-hero-art{position:relative}
.hp-hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}

/* ---------- numbered cards ---------- */
.hp-cards-sec{padding:1.9rem 0 0}
.hp-card{display:grid;grid-template-columns:4.43rem 1fr;column-gap:1.33rem;align-items:start;
  background:#fff;border:0.0625rem solid var(--border);border-radius:0.48rem;
  padding:1.28rem 1.2rem 1.35rem 1.55rem;margin:0 0 1.9rem}
.hp-card:nth-of-type(-n+2){margin-bottom:2.7rem}
.hp-card-mid .hp-ic{align-self:center}
.hp-card-plain{display:block;padding:1.15rem 1.33rem 1.55rem}
.hp-ic{width:4.43rem;height:4.43rem}
.hp-ic svg{display:block;width:100%;height:100%;fill:none;stroke-linecap:round;stroke-linejoin:round}
.hp-h2{display:flex;font-size:max(19px,1.4rem);font-weight:700;line-height:1.22;letter-spacing:-.02em;
  color:var(--navy);margin:0 0 0.5rem}
.hp-n{flex:none;margin-right:0.85rem}
.hp-p{font-size:max(14px,0.85rem);line-height:1.45;color:#1C2436;margin:0 0 0.55rem}
.hp-bd>.hp-p:last-child{margin-bottom:0}

/* ---------- his green check lists ---------- */
.hp-checks{list-style:none;margin:0.5rem 0 0;padding:0 0 0 0.55rem}
.hp-checks li{position:relative;padding-left:1.08rem;margin:0 0 0.55rem;
  font-size:max(14px,0.85rem);line-height:1.35;color:#1C2436;break-inside:avoid}
.hp-checks li svg{position:absolute;left:0;top:0.28em;width:max(13px,0.62rem);height:max(13px,0.62rem);
  fill:none;stroke:#138C45;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.hp-2col{columns:2;column-gap:1.6rem}
.hp-note{font-size:max(12px,0.68rem);line-height:1.4;color:var(--muted);margin:0.85rem 0 0}
.hp-note-wide{margin-top:0.7rem}

/* ---------- section 2: three safeguard cards across ---------- */
.hp-sub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.07rem;margin-top:1rem}
.hp-sub{display:flex;flex-direction:column;background:#fff;border:0.0625rem solid var(--border);
  border-radius:0.4rem;padding:1.15rem 1.16rem 1.2rem;min-width:0}
.hp-sub-h{display:flex;align-items:center;gap:0.89rem;margin:0 0 1.1rem}
.hp-ic-sm{width:3.06rem;height:3.06rem;flex:none}
.hp-sub-h h3{font-size:max(15px,0.97rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--navy);margin:0}
.hp-sub .hp-checks{margin-top:0;padding-left:0.28rem}
.hp-sub .hp-note{padding-top:0.15rem}

/* ---------- Questions about HIPAA / BAA band ---------- */
.hp-cta-sec{padding:0 0 0.4rem}
.hp-cta{display:grid;grid-template-columns:10.77rem 1fr 23.9rem;align-items:center;column-gap:1.55rem;
  background:#210F63;border-radius:0.85rem;padding:0.55rem 2.85rem 0.55rem 0.87rem}
.hp-cta-photo{align-self:stretch;display:flex;align-items:center}
.hp-cta-photo img{width:100%;height:auto;border-radius:0.28rem}
.hp-cta-text h2{font-size:max(21px,1.57rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:#fff;margin:0 0 0.7rem}
.hp-cta-text p{font-size:max(15px,1.13rem);font-weight:700;line-height:1.25;letter-spacing:-.01em;color:#22C36B;margin:0 0 1.35rem}
.hp-cta-btns{display:flex;flex-wrap:wrap;gap:0.72rem}
.hp-cta-btns .btn{display:inline-flex;align-items:center;gap:0.62rem;min-height:2.9rem;
  padding:0.5rem 1.35rem;border-radius:0.41rem;font-size:max(14px,1rem);font-weight:700;letter-spacing:-.01em}
.hp-cta-btns .btn svg{flex:none;width:1.2rem;height:1.2rem;fill:currentColor}
.hp-cta-btns .btn .hp-btn-disc{width:1.72rem;height:1.72rem;fill:none;stroke-linecap:round;stroke-linejoin:round}
.hp-btn-alt{background:#592AC6;color:#fff}
.hp-cta-box{border:0.0625rem solid rgba(255,255,255,.34);border-radius:0.4rem;
  background:rgba(0,0,0,.12);padding:1.25rem 1.3rem 1.5rem}
.hp-cta-box h3{font-size:max(16px,1.13rem);font-weight:700;line-height:1.2;letter-spacing:-.015em;color:#fff;margin:0 0 1rem}
.hp-cta-box ul{list-style:none;margin:0;padding:0}
.hp-cta-box li{display:flex;align-items:flex-start;gap:0.8rem;margin:0 0 0.95rem;
  font-size:max(14px,0.94rem);line-height:1.35;color:#EAE7F6}
.hp-cta-box li:last-child{margin-bottom:0}
.hp-cta-box li svg{flex:none;width:1.1rem;height:1.1rem;margin-top:0.12em;
  fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hp-cta-box a{color:inherit}

/* ---------- HIPAA page: tablet and phone (his desktop layout holds at 1024 and up) ---------- */
@media (max-width:1023px){
  .hp-hero-in{grid-template-columns:1fr}
  .hp-hero-text{padding:2.2rem 3vw 1.6rem}
  .hp-hero-art{position:static}
  .hp-hero-art img{position:static;width:100%;height:auto}
  .hp-sub-grid{grid-template-columns:1fr}
  .hp-cta{grid-template-columns:10.77rem 1fr;row-gap:1.4rem;padding:1.3rem 1.4rem}
  .hp-cta-box{grid-column:1 / -1}
}
@media (max-width:700px){
  .hp-card{grid-template-columns:1fr;row-gap:0.75rem;padding:1.1rem 1.1rem 1.2rem}
  .hp-card:nth-of-type(-n+2){margin-bottom:1.9rem}
  .hp-card-plain{padding:1.1rem 1.1rem 1.3rem}
  .hp-card-mid .hp-ic{align-self:start}
  .hp-ic{width:3.1rem;height:3.1rem}
  .hp-2col{columns:1}
  .hp-cta{grid-template-columns:1fr;row-gap:1.2rem;padding:1.2rem 1.15rem 1.4rem}
  .hp-cta-photo{max-width:14rem}
}
@media (max-width:420px){
  .hp-cta-btns .btn{width:100%;justify-content:center}
}
@media (max-width:360px){
  .hp-h1{font-size:27px}
}

/* ==========================================================================
   TERMS & CONDITIONS PAGE  (site/terms-conditions.html)
   Built to the client's approved design
   LEGAL.rar / Terms & Conditions.jpg
   Shared furniture (header, footer, popups, .wrap) is reused, not forked.
   New classes below are prefixed tc- for this page only. His Terms canvas is
   4000px read as a 1600px design width, so 51 design px = 1rem here, and the
   page keeps his proportions on every desktop. Small text carries a px floor
   so it stays readable on a phone.
   ========================================================================== */

/* ---------- hero ---------- */
.tc-hero{background:#F6FAFD}
.tc-hero-in{display:grid;grid-template-columns:1fr 25.7%;column-gap:6%;align-items:start;
  padding:2.65rem 0 1.5rem;min-height:24.8rem}
.tc-h1{font-size:max(28px,2.35rem);font-weight:700;line-height:1.14;letter-spacing:-.02em;color:var(--navy);margin:0 0 0.72rem}
.tc-date{font-size:max(15px,0.9rem);font-weight:700;line-height:1.3;letter-spacing:-.01em;color:var(--green-text);margin:0 0 0.8rem}
.tc-p{font-size:max(13px,0.67rem);line-height:1.35;color:#1C2436;margin:0 0 0.59rem}
.tc-p:last-child{margin-bottom:0}
.tc-hero-art{margin-top:0.25rem}
.tc-hero-art img{width:100%;height:auto}
/* His clipboard art ships on a white square; multiply lets the white take the page background. */
.tc-hero-art img{mix-blend-mode:multiply}

/* ---------- 25 cards, three across, his colour rule across the top ---------- */
.tc-cards-sec{padding:1.42rem 0 0.4rem}
.tc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.08rem 0.9rem;align-items:stretch}
.tc-card{background:#fff;border:0.0625rem solid #DCE1E7;border-radius:0.3rem;
  border-top:0.36rem solid var(--navy);padding:0.5rem 0.82rem 0.9rem;min-width:0}
.tc-green{border-top-color:var(--green)}
.tc-card h2{font-size:max(14px,0.78rem);font-weight:700;line-height:1.28;letter-spacing:-.01em;
  color:var(--navy);margin:0 0 0.4rem}
.tc-card p{font-size:max(13px,0.67rem);line-height:1.3;color:#1C2436;margin:0 0 0.37rem}
.tc-card p:last-child{margin-bottom:0}
.tc-card a{color:inherit}
.tc-strong{font-weight:700}
.tc-card ul{list-style:none;margin:0 0 0.37rem;padding:0 0 0 0.25rem}
.tc-card li{position:relative;padding-left:0.8rem;margin:0 0 0.18rem;
  font-size:max(13px,0.67rem);line-height:1.3;color:#1C2436}
.tc-card li::before{content:'';position:absolute;left:0;top:0.52em;width:0.2rem;height:0.2rem;
  min-width:4px;min-height:4px;border-radius:50%;background:var(--green)}

/* ---------- Terms: tablet and phone (his desktop layout holds at 1024 and up) ---------- */
@media (max-width:1023px){
  .tc-hero-in{grid-template-columns:1fr;row-gap:1.2rem;min-height:0;padding:2rem 0 1.6rem}
  .tc-hero-art{max-width:19rem;margin:0 auto}
  .tc-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  .tc-grid{grid-template-columns:1fr}
  .tc-hero-art{max-width:18.75rem}
}
@media (max-width:360px){
  .tc-h1{font-size:26px}
}

/* Zip code split into two spans so click-to-call scanners do not read it as a phone number. Keep it inline on one line. */
.cu-info-list span.nodial,span.nodial{display:inline;white-space:nowrap}

/* client 2026-09-22: Home 20+ Years nurse is now his full rectangular photo, not a cutout.
   Shown whole (never cropped), rounded like the other photo cards, sitting on the box floor. */
.exp-photo.exp-photo-rect{padding-top:0;align-self:center}
.exp-photo.exp-photo-rect img{border-radius:0.875rem;object-fit:contain}
@media (min-width:861px){
  .exp-photo.exp-photo-rect{padding-bottom:1.7rem;padding-top:1.7rem}
}
@media (max-width:860px){
  .exp-photo.exp-photo-rect{margin-bottom:0}
}

/* ==========================================================================
   OUR PROCESS  (our-process.html)
   Built from the client's approved design
   RESOURCES/SaMeD-RCM-Our-Process-High-Resolution.jpg (3000 x 14377).
   Palette sampled from that file: badge navy #23194B, panel navy #190A4D,
   accent green #06934E, steps background #F7F8FC, note box #F7F7FC,
   closing band #F1FAF5.
   ========================================================================== */

.op-eyebrow{display:flex;align-items:center;gap:0.55rem;font-size:0.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#06934E;margin-bottom:0.85rem}
.op-eyebrow i{display:block;width:1.65rem;height:0.16rem;background:#06934E;border-radius:2px;flex:0 0 auto}
.op-eyebrow-c{justify-content:center;text-align:center}
.op-eyebrow-w{color:#3FD98A}

/* ---------- 1. hero ---------- */
.op-hero{position:relative;background:#fff;overflow:hidden;padding:2.6rem 0 2.4rem}
.op-hero-in{display:grid;grid-template-columns:minmax(0,1fr) 0.92fr;gap:2rem;align-items:center}
.op-hero-txt{padding-right:1rem}
.op-h1{font-size:2.95rem;line-height:1.1;letter-spacing:-.032em;color:var(--navy);margin:0 0 1.05rem}
.op-hero-txt p{font-size:0.95rem;line-height:1.66;color:#5A6280;margin:0 0 0.8rem;max-width:31rem}
.op-hero-btns{display:flex;flex-wrap:wrap;gap:0.85rem;margin-top:1.35rem}
.op-hero-btns .btn{padding:0.9rem 1.5rem;font-size:0.84rem}
.op-trust{display:flex;gap:0.6rem;margin-top:1.85rem;min-width:0}
.op-trust-c{display:flex;align-items:center;gap:0.45rem;background:#fff;border:1px solid #E8ECF5;border-radius:0.7rem;padding:0.55rem 0.7rem;box-shadow:0 2px 10px rgba(11,36,114,.05)}
.op-trust-c img{width:1.4rem;height:1.4rem;flex:0 0 auto}
.op-trust-c span{font-size:0.64rem;font-weight:700;color:var(--navy);line-height:1.3;white-space:nowrap}
.op-hero-photo{position:absolute;right:0;top:0;bottom:0;width:47.8%;z-index:0}
.op-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.op-hero .wrap{position:relative;z-index:2}

/* ---------- 2. journey strip ---------- */
.op-journey{background:#fff;padding:2.6rem 0 2.9rem;text-align:center}
.op-h2{font-size:2.32rem;line-height:1.16;letter-spacing:-.03em;color:var(--navy);margin:0 0 0.7rem}
.op-lead{font-size:0.92rem;line-height:1.6;color:#5A6280;max-width:46rem;margin:0 auto 2.1rem}
.op-jgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;align-items:stretch}
.op-jc{position:relative;background:#fff;border:1px solid #E8ECF5;border-radius:0.72rem;padding:1.15rem 0.8rem 1.1rem;margin:0 0.85rem;box-shadow:0 2px 10px rgba(11,36,114,.045)}
.op-jc+.op-jc::before{content:"";position:absolute;left:-1.85rem;top:2.1rem;width:1.85rem;height:0.2rem;background:#06934E;border-radius:2px}
.op-jn{display:flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:50%;margin:0 auto 0.75rem;color:#fff;font-size:0.82rem;font-weight:700;letter-spacing:.01em}
.op-jn-navy{background:#23194B}
.op-jn-green{background:#06934E}
.op-jc h3{font-size:0.8rem;font-weight:700;letter-spacing:.035em;color:var(--navy);margin:0 0 0.3rem;text-transform:uppercase}
.op-jc p{font-size:0.72rem;color:#7A819B;margin:0}

/* ---------- 3. the ten steps ---------- */
.op-steps{background:#F7F8FC;padding:3rem 0 3.2rem}
.op-step{position:relative;display:grid;grid-template-columns:9.4rem minmax(0,1fr);gap:0;align-items:start;margin-bottom:1.5rem}
.op-rail{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:1.35rem}
/* the connecting line down the rail, behind the badges */
.op-step::before{content:"";position:absolute;left:4.7rem;top:0;bottom:-1.5rem;width:1px;background:#D8DEEC;z-index:0}
.op-step:first-child::before{top:3rem}
.op-step:last-child::before{display:none}
.op-badge{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:3.75rem;height:3.75rem;border-radius:1.15rem;background:#23194B;box-shadow:0 0 0 0.42rem #F7F8FC}
.op-badge img{width:2.1rem;height:2.1rem}
.op-pill{position:relative;z-index:2;margin-top:-0.62rem;background:#06934E;color:#fff;font-size:0.63rem;font-weight:700;letter-spacing:.055em;padding:0.26rem 0.72rem;border-radius:999px;box-shadow:0 0 0 0.16rem #F7F8FC}
.op-card{position:relative;background:#fff;border:1px solid #E8ECF5;border-radius:0.85rem;padding:1.55rem 1.85rem 1.65rem;box-shadow:0 2px 12px rgba(11,36,114,.045);overflow:hidden}
.op-card::after{content:"";position:absolute;right:0.9rem;top:0;width:5rem;height:0.28rem;background:#06934E;border-radius:0 0 3px 3px}
.op-card h3{font-size:1.5rem;line-height:1.2;letter-spacing:-.025em;color:var(--navy);margin:0 0 0.5rem}
.op-card>p{font-size:0.86rem;line-height:1.6;color:#5A6280;margin:0 0 0.95rem}
.op-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.42rem 2rem;margin:0 0 1.05rem}
.op-checks li{position:relative;padding-left:1.15rem;font-size:0.84rem;line-height:1.45;color:#45464E}
.op-checks li::before{content:"\2713";position:absolute;left:0;top:0;color:#06934E;font-weight:700;font-size:0.82rem}
.op-note{background:#F7F7FC;border-left:0.2rem solid #06934E;border-radius:0 0.35rem 0.35rem 0;padding:0.82rem 1.05rem;font-size:0.82rem;font-weight:700;line-height:1.5;color:#3E4560}

/* KPI + chart panels inside step 10 */
.op-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:1.05rem;margin:0 0 1.05rem}
.op-kpi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1rem;background:#FAFBFE;border:1px solid #EDF1F8;border-radius:0.6rem;padding:1.1rem 1.25rem}
.op-kpi-i span{display:block;font-size:0.72rem;color:#7A819B;margin-bottom:0.28rem}
.op-kpi-i b{font-size:1.15rem;line-height:1;font-weight:700}
.op-kpi-i b.up,.op-kpi-i b.down{color:#06934E}
.op-chart{background:#FAFBFE;border:1px solid #EDF1F8;border-radius:0.6rem;padding:1.1rem 1.25rem}
.op-chart h6{font-size:0.66rem;font-weight:700;letter-spacing:.09em;color:var(--navy);margin:0 0 0.85rem;text-transform:uppercase}
.op-bars{display:flex;align-items:flex-end;gap:0.32rem;height:4.3rem;border-bottom:1px solid #E3E9F3;padding-bottom:0.1rem}
.op-bars i{display:block;width:0.62rem;border-radius:0.16rem;flex:0 0 auto}
.op-bars i.g{background:#06934E}
.op-bars i.n{background:#23194B}

/* mid-page band between step 05 and step 06 */
.op-band{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,1fr);border-radius:0.5rem;overflow:hidden;margin:0.6rem 0 2rem}
.op-band-photo img{width:100%;height:100%;object-fit:cover;display:block}
.op-band-txt{background:#231059;padding:2.1rem 2.35rem;display:flex;flex-direction:column;justify-content:center}
.op-band-txt h2{font-size:1.82rem;line-height:1.19;letter-spacing:-.028em;color:#fff;margin:0 0 0.85rem}
.op-band-txt p{font-size:0.86rem;line-height:1.62;color:#CBD2E6;margin:0;max-width:24rem}

/* ---------- 4. our commitment ---------- */
.op-close{position:relative;overflow:hidden}
.op-commit{background:#fff;padding:3rem 0 0.1rem}
.op-commit-in{display:grid;grid-template-columns:minmax(0,0.83fr) minmax(0,1fr);gap:1.8rem;align-items:start}
.op-commit-panel{position:relative;background:#190A4D;border-radius:0.85rem;padding:2.1rem 2.15rem 2.3rem}
.op-commit-panel h2{font-size:1.95rem;line-height:1.16;letter-spacing:-.03em;color:#fff;margin:0 0 0.9rem}
.op-commit-panel p{font-size:0.86rem;line-height:1.62;color:#C7CEE4;margin:0}
.op-commit-rule{display:block;height:1px;background:rgba(255,255,255,.22);margin:1.5rem 0 1.15rem}
.op-commit-close{font-weight:700;color:#fff !important}
.op-commit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.95rem}
.op-bc{display:flex;align-items:flex-start;gap:0.8rem;background:#FAFBFE;border:1px solid #EDF1F8;border-radius:0.65rem;padding:1.05rem 1.15rem}
.op-bc-ck{display:flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:50%;background:#E3F5EB;flex:0 0 auto}
.op-bc-ck svg{width:1rem;height:1rem;fill:none;stroke:#06934E;stroke-width:2.6}
.op-bc h4{font-size:0.82rem;line-height:1.25;letter-spacing:-.015em;color:var(--navy);margin:0 0 0.28rem}
.op-bc p{font-size:0.78rem;line-height:1.48;color:#7A819B;margin:0}

/* ---------- 5. closing CTA band ---------- */
/* the client's green circle: it straddles the navy panel's bottom-left corner
   and the top of this band, and is cut off by the left page edge. */
.op-cta{position:relative;background:#F1FAF5;padding:2.9rem 0 3rem;text-align:center}
.op-cta::before{content:"";position:absolute;left:calc(3% - 5.26rem);top:-2.63rem;width:13.59rem;height:13.59rem;border-radius:50%;background:#06934E;z-index:2}
.op-cta .wrap{position:relative;z-index:3}
.op-cta h2{font-size:2.32rem;line-height:1.16;letter-spacing:-.03em;color:var(--navy);margin:0 0 0.75rem}
.op-cta p{font-size:0.92rem;line-height:1.6;color:#5A6280;max-width:44rem;margin:0 auto 1.6rem}
.op-cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:0.9rem}
.op-cta-btns .btn{padding:0.92rem 1.6rem;font-size:0.84rem}

/* ---------- responsive ----------
   Rule 9 of BUILD-RULES.md: 1024 and 1440 must show the client's desktop
   layout, so every collapse sits BELOW 1024px. 320 to 1023 is the reflow. */
@media (max-width:1023px){
  .op-hero{padding:2rem 0 2.2rem}
  .op-hero-in{grid-template-columns:1fr;gap:1.5rem}
  .op-hero-txt{padding-right:0;order:2}
  .op-hero-photo{position:relative;width:100%;order:1;border-radius:0.6rem;overflow:hidden;aspect-ratio:16/10}
  .op-hero-txt p{max-width:none}
  .op-h1{font-size:2.6rem}
  .op-trust{flex-wrap:wrap;gap:0.7rem}
  .op-trust-c{padding:0.7rem 0.95rem;gap:0.6rem}
  .op-trust-c img{width:1.6rem;height:1.6rem}
  .op-trust-c span{font-size:0.76rem}
  .op-trust-c span{white-space:normal}
  .op-jgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.9rem}
  .op-jc{margin:0}
  .op-jc+.op-jc::before{display:none}
  .op-step{grid-template-columns:5.4rem minmax(0,1fr)}
  .op-step::before{left:2.7rem}
  .op-badge{width:3.1rem;height:3.1rem;border-radius:0.95rem}
  .op-badge img{width:1.75rem;height:1.75rem}
  .op-card{padding:1.3rem 1.35rem 1.4rem}
  .op-card h3{font-size:1.28rem}
  .op-band{grid-template-columns:1fr}
  .op-band-txt{padding:1.7rem 1.6rem}
  .op-band-txt p{max-width:none}
  .op-commit-in{grid-template-columns:1fr;gap:1.4rem}
  /* on the desktop layout the navy panel is the lowest element and his design has it
     meeting the mint band, so .op-commit carries almost no bottom padding. Once the
     grid stacks, the cards become the lowest element and need that padding back. */
  .op-commit{padding-bottom:3.1rem}
  /* the client only drew this circle for the two-column desktop layout, where it
     straddles the navy panel's bottom-left corner. Once .op-commit-in collapses to
     one column the panel goes full width, the circle has no corner to sit on and it
     lands across the centred heading, so it is dropped rather than covering copy. */
  .op-cta::before{display:none}
  .op-h2,.op-cta h2{font-size:1.9rem}
}
@media (max-width:767px){
  .op-jgrid{grid-template-columns:1fr}
  .op-checks{grid-template-columns:1fr;gap:0.42rem}
  .op-panels{grid-template-columns:1fr}
  .op-commit-grid{grid-template-columns:1fr}
  .op-h1{font-size:2.15rem}
  .op-h2,.op-cta h2{font-size:1.65rem}
  .op-hero-btns .btn,.op-cta-btns .btn{width:100%}
  .op-trust-c{width:100%}
}
@media (max-width:479px){
  .op-step{grid-template-columns:1fr;gap:0}
  .op-step::before{display:none}
  .op-rail{flex-direction:row;align-items:center;justify-content:flex-start;gap:0.7rem;padding-top:0;margin-bottom:0.75rem}
  .op-badge{width:2.7rem;height:2.7rem;border-radius:0.8rem;box-shadow:none}
  .op-badge img{width:1.55rem;height:1.55rem}
  .op-pill{margin-top:0;box-shadow:none}
  .op-card{padding:1.15rem 1.1rem 1.2rem}
  .op-card h3{font-size:1.12rem}
  .op-card::after{width:3.4rem}
  .op-kpi{grid-template-columns:repeat(2,minmax(0,1fr));padding:0.9rem 1rem}
  .op-h1{font-size:1.92rem}
}

/* ==========================================================================
   FAQ  (faq.html)
   Built from the client's approved design RESOURCES/FAQ.jpg (4500 x 13500).
   Palette sampled from that file: band navy #011D66, headings #0B2472,
   green #00953F. The accordion is native <details>, so it needs no JS.
   ========================================================================== */

/* ---------- 1. hero ---------- */
.fq-hero{position:relative;background:#fff;overflow:hidden;padding:2.7rem 0 2.6rem}
.fq-hero .wrap{position:relative;z-index:2}
.fq-hero-in{max-width:46%}
.fq-hero-photo{position:absolute;right:0;top:0;bottom:0;width:51.7%;z-index:0}
.fq-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:right center;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 13%);
          mask-image:linear-gradient(to right,transparent 0,#000 13%)}
.fq-h1{font-size:3.35rem;line-height:1.12;letter-spacing:-.033em;color:var(--navy);margin:0 0 1rem}
.fq-h1 .g{color:#00953F}
.fq-hero-sub{font-size:1.02rem;font-weight:700;line-height:1.42;color:var(--navy);margin:0 0 0.9rem;letter-spacing:-.015em}
.fq-hero-p{font-size:0.89rem;line-height:1.72;color:#5A6280;margin:0;max-width:26rem}
.fq-hero-btns{display:flex;flex-wrap:wrap;gap:0.85rem;margin-top:1.6rem}
.fq-hero-btns .btn,.fq-band-btns .btn{padding:0.88rem 1.4rem;font-size:0.82rem;gap:0.65rem}
.fq-hero-btns .btn img,.fq-band-btns .btn img{width:1.28rem;height:1.28rem;flex:0 0 auto}
.fq-btn-white{background:#fff;color:var(--navy);border:1.5px solid #C9D2E8}

/* ---------- 2. the FAQ groups ---------- */
.fq-groups{background:#F7F8FC;padding:2.9rem 0 3.1rem}
.fq-card{display:grid;grid-template-columns:34.5% minmax(0,1fr);align-items:center;
  background:#fff;border:1px solid #E8ECF5;border-radius:0.62rem;
  box-shadow:0 2px 12px rgba(11,36,114,.045);margin-bottom:1.05rem}
.fq-card:last-child{margin-bottom:0}
.fq-side{display:flex;align-items:center;gap:1.15rem;padding:1.6rem 1.5rem 1.6rem 1.9rem;
  border-right:1px solid #E8ECF5;align-self:stretch}
.fq-ic{display:flex;align-items:center;justify-content:center;width:8.15rem;height:8.15rem;
  border-radius:50%;background:#F1F3FA;flex:0 0 auto}
.fq-ic img{width:6.2rem;height:6.2rem}
.fq-side h2{font-size:1.32rem;line-height:1.22;letter-spacing:-.025em;color:#1B2FA0;margin:0}
.fq-list{padding:0.55rem 1.9rem 0.55rem 1.7rem}

.fq-q{border-bottom:1px solid #EDF1F8}
.fq-q:last-child{border-bottom:0}
.fq-q>summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:1rem;
  padding:0.92rem 0;font-size:0.94rem;line-height:1.45;font-weight:500;color:#1B2340}
.fq-q>summary::-webkit-details-marker{display:none}
.fq-q>summary::after{content:"+";margin-left:auto;flex:0 0 auto;font-size:1.15rem;line-height:1.2;
  font-weight:700;color:#1B2FA0;transition:transform .18s ease}
.fq-q[open]>summary::after{content:"\2212"}
.fq-q>summary:hover{color:#1B2FA0}
.fq-q>summary:focus-visible{outline:2px solid #1B2FA0;outline-offset:3px;border-radius:3px}
.fq-a{padding:0 0 1.05rem;font-size:0.855rem;line-height:1.68;color:#5A6280;max-width:52rem}
.fq-a p{margin:0 0 0.6rem}
.fq-a p:last-child{margin-bottom:0}
.fq-a ul{margin:0 0 0.7rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.18rem 1.6rem}
.fq-a li{position:relative;padding-left:1.05rem}
.fq-a li::before{content:"";position:absolute;left:0;top:0.62em;width:0.32rem;height:0.32rem;
  border-radius:50%;background:#00953F}
/* a question the client has not supplied an answer for: the panel stays empty
   on purpose, so it collapses to nothing rather than showing a blank gap */
.fq-a:empty{padding:0}

/* ---------- 3. still have questions band ---------- */
.fq-still{background:#fff;padding:2.6rem 0 3rem}
/* The band is locked to the exact proportions of his artwork, 4132 x 1552, so his
   photo and badges map onto it one to one and nothing is ever cropped. */
.fq-band{position:relative;background:linear-gradient(90deg,#011D66 0%,#011D66 45%,#14286A 100%);
  border-radius:0.72rem;overflow:hidden;display:flex;align-items:center;aspect-ratio:4132/1552}
.fq-band-img{position:absolute;right:0;top:0;bottom:0;width:29.9%;z-index:0}
.fq-band-img img{width:100%;height:100%;object-fit:cover;object-position:left top;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 17%);
          mask-image:linear-gradient(to right,transparent 0,#000 17%)}
.fq-band-deco{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.fq-band-txt{position:relative;z-index:2;padding:2.5rem 1.6rem 2.5rem 2.6rem;max-width:56%}
.fq-band-txt h2{font-size:2.05rem;line-height:1.2;letter-spacing:-.03em;color:#fff;margin:0 0 0.95rem}
.fq-band-txt h2 .g{color:#25C468}
.fq-band-txt p{font-size:0.88rem;line-height:1.72;color:#D3DAEE;margin:0;max-width:22.5rem}
.fq-band-btns{display:flex;flex-wrap:wrap;gap:0.8rem;margin-top:1.5rem}

/* ---------- responsive ----------
   Rule 9 of BUILD-RULES.md: 1024 and 1440 show his desktop layout, so every
   collapse sits BELOW 1024px. 320 to 1023 is the phone and tablet reflow. */
@media (max-width:1023px){
  .fq-hero{padding:2rem 0 2.2rem;display:flex;flex-direction:column}
  .fq-hero-photo{position:relative;width:100%;order:1;border-radius:0.6rem;overflow:hidden;aspect-ratio:16/10}
  .fq-hero-photo img{-webkit-mask-image:none;mask-image:none;object-position:center}
  .fq-hero .wrap{order:2;margin-top:1.4rem}
  .fq-hero-in{max-width:none}
  .fq-h1{font-size:2.6rem}
  .fq-hero-p{max-width:none}
  .fq-card{grid-template-columns:1fr}
  .fq-side{border-right:0;border-bottom:1px solid #E8ECF5;padding:1.25rem 1.4rem;gap:0.95rem}
  .fq-ic{width:4.6rem;height:4.6rem}
  .fq-ic img{width:3.5rem;height:3.5rem}
  .fq-side h2{font-size:1.15rem}
  .fq-list{padding:0.35rem 1.4rem}
  .fq-band{flex-direction:column;aspect-ratio:auto}
  .fq-band-deco{display:none}
  .fq-band-img{position:relative;width:100%;order:1;aspect-ratio:16/9}
  .fq-band-img img{object-position:center;-webkit-mask-image:none;mask-image:none}
  .fq-band-txt{order:2;max-width:none;padding:1.8rem 1.6rem 2rem}
  .fq-band-txt h2{font-size:1.75rem}
}
@media (max-width:767px){
  .fq-h1{font-size:2.15rem}
  .fq-band-txt h2{font-size:1.55rem}
  .fq-a ul{grid-template-columns:1fr}
  .fq-hero-btns .btn,.fq-band-btns .btn{width:100%}
  .fq-hero-sub{font-size:0.95rem}
}
@media (max-width:479px){
  .fq-h1{font-size:1.92rem}
  .fq-side{flex-direction:row;align-items:center;gap:0.8rem;padding:1.05rem 1.1rem}
  .fq-ic{width:3.6rem;height:3.6rem}
  .fq-ic img{width:2.75rem;height:2.75rem}
  .fq-side h2{font-size:1.02rem}
  .fq-list{padding:0.25rem 1.1rem}
  .fq-q>summary{font-size:0.88rem;gap:0.7rem}
}

/* ==========================================================================
   CAREERS PAGE  (crs-)
   Built 29 Sep 2026 from SaMeD-RCM-Careers-Page-High-Resolution, section by
   section. New rules only, nothing above this line is touched.
   ========================================================================== */

/* ---------- 1. hero ---------- */
.crs-hero{position:relative;background:#fff;overflow:hidden;padding:3.1rem 0 3.2rem}
.crs-hero .wrap{position:relative;z-index:2}
.crs-hero-in{max-width:47%}
.crs-hero-photo{position:absolute;right:0;top:0;bottom:0;width:56%;z-index:0}
.crs-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 15%);
          mask-image:linear-gradient(to right,transparent 0,#000 15%)}
.crs-eyebrow{display:flex;align-items:center;gap:0.65rem;font-size:0.8rem;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;color:#00953F;margin-bottom:1rem}
.crs-rule{display:block;width:1.9rem;height:0.19rem;border-radius:1px;background:#00953F;flex:0 0 auto}
.crs-h1{font-size:3.3rem;line-height:1.14;letter-spacing:-.033em;color:var(--navy);margin:0 0 1.1rem}
.crs-h1 .g{color:#00953F}
.crs-hero-p{font-size:0.92rem;line-height:1.75;color:#5A6280;margin:0;max-width:24rem}
.crs-hero-btns{margin-top:1.75rem}
.crs-btn-arrow{display:inline-flex;align-items:center;gap:0.8rem;padding:1rem 2.2rem;font-size:0.9rem}
.crs-btn-arrow svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:2;flex:0 0 auto}

/* ---------- 2. grow with us ---------- */
.crs-intro{background:#fff;padding:3.4rem 0 3.6rem;text-align:center}
.crs-eyebrow-c{display:block;font-size:0.8rem;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:#00953F;margin-bottom:0.7rem}
.crs-h2{font-size:2.28rem;line-height:1.18;letter-spacing:-.03em;color:var(--navy);margin:0 0 1.3rem}
.crs-intro p{font-size:0.92rem;line-height:1.78;color:#5A6280;margin:0 auto 0.85rem;max-width:53rem}
.crs-intro p:last-child{margin-bottom:0}

/* ---------- 3. career application ---------- */
.crs-apply{background:#F7F9FC;padding:3.4rem 0 3.8rem}
.crs-sec-head{text-align:center;margin-bottom:2.3rem}
.crs-sec-p{font-size:0.92rem;line-height:1.75;color:#5A6280;margin:0 auto;max-width:42rem}
.crs-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,20.5rem);gap:1.5rem;align-items:start}

.crs-card{display:block;background:#fff;border:1px solid #E7ECF5;border-radius:0.85rem;padding:2rem 2.1rem 2.2rem}
.crs-blk{padding-bottom:1.6rem;margin-bottom:1.6rem;border-bottom:1px solid #EDF1F8}
.crs-blk-last{padding-bottom:0;margin-bottom:0;border-bottom:0}
.crs-blk-h{display:flex;align-items:center;gap:0.85rem;margin-bottom:0.55rem}
.crs-blk-ic{display:flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;
  border-radius:0.6rem;background:#E9F6EF;flex:0 0 auto}
.crs-blk-ic svg{width:1.35rem;height:1.35rem;fill:none;stroke:var(--navy);stroke-width:2.75;
  stroke-linecap:round;stroke-linejoin:round}
.crs-blk-h h3{font-size:1.32rem;line-height:1.2;letter-spacing:-.025em;color:var(--navy);margin:0}
.crs-req-note{font-size:0.76rem;color:#8A90A6;margin:0 0 1.15rem 3.25rem}
.crs-star{color:#E02424;font-weight:700}
.crs-opt{font-size:0.72rem;font-weight:500;color:#9AA0B4;letter-spacing:0}

.crs-card .fld{margin-bottom:1rem}
.crs-card .crs-blk > .fld:last-child{margin-bottom:0}
.crs-card .lbl{display:block;font-size:0.82rem;font-weight:700;color:var(--navy);margin-bottom:0.42rem}
.crs-card input[type=text],.crs-card input[type=email],.crs-card input[type=tel],
.crs-card input[type=url],.crs-card input[type=date],.crs-card select,.crs-card textarea{
  width:100%;font-family:inherit;font-size:0.86rem;color:var(--text);padding:0.72rem 0.9rem;
  border:1px solid #D7DEEB;border-radius:0.5rem;background:#fff;outline:none;
  transition:border-color .16s ease,box-shadow .16s ease}
.crs-card select{appearance:none;-webkit-appearance:none;color:#6B7288;
  background-image:linear-gradient(45deg,transparent 50%,#9AA0B4 50%),linear-gradient(135deg,#9AA0B4 50%,transparent 50%);
  background-position:calc(100% - 1.05rem) 55%,calc(100% - 0.75rem) 55%;
  background-size:0.3rem 0.3rem,0.3rem 0.3rem;background-repeat:no-repeat;padding-right:2.2rem}
.crs-card textarea{min-height:6.5rem;resize:vertical}
.crs-card input:focus,.crs-card select:focus,.crs-card textarea:focus{
  border-color:var(--green);box-shadow:0 0 0 3px rgba(0,120,56,.10)}
.crs-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.15rem}
.crs-fs{border:0;padding:0;margin:0 0 1rem}
.crs-hint{font-size:0.75rem;line-height:1.5;color:#9AA0B4;margin:0.45rem 0 0}

.crs-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.6rem 1.15rem}
.crs-chk{display:flex;align-items:center;gap:0.7rem;background:#FAFBFE;border:1px solid #E4E9F3;
  border-radius:0.5rem;padding:0.72rem 0.9rem;cursor:pointer;transition:border-color .16s ease,background .16s ease}
.crs-chk:hover{border-color:#BFCBE3}
.crs-chk input{width:1.05rem;height:1.05rem;accent-color:#007838;flex:0 0 auto;margin:0;cursor:pointer}
.crs-chk span{font-size:0.83rem;line-height:1.35;color:#3E4558}
.crs-chk:has(input:checked){border-color:#007838;background:#F1FAF5}
.crs-radios{display:flex;gap:0.9rem}
.crs-chk-sm{padding:0.72rem 1.4rem}

.crs-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.crs-drop{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.3rem;
  border:2px dashed #A9D9BF;border-radius:0.7rem;background:#F3FBF6;padding:2.2rem 1.4rem;cursor:pointer;
  transition:border-color .16s ease,background .16s ease}
.crs-drop:hover,.crs-drop.is-over{border-color:#007838;background:#EAF7F0}
.crs-drop-ic{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;
  border-radius:50%;background:#fff;margin-bottom:0.55rem}
.crs-drop-ic svg{width:1.45rem;height:1.45rem;fill:none;stroke:var(--navy);stroke-width:2.75;
  stroke-linecap:round;stroke-linejoin:round}
.crs-drop-t{font-size:1rem;font-weight:700;color:var(--navy);letter-spacing:-.015em}
.crs-drop-s{font-size:0.78rem;line-height:1.55;color:#7A819B}
.crs-drop-file{font-size:0.8rem;font-weight:700;color:#007838;margin-top:0.5rem;word-break:break-all}

.crs-consent{display:flex;align-items:flex-start;gap:0.8rem;background:#FAFBFE;border:1px solid #E4E9F3;
  border-radius:0.5rem;padding:1rem 1.1rem;cursor:pointer}
.crs-consent input{width:1.05rem;height:1.05rem;accent-color:#007838;flex:0 0 auto;margin:0.15rem 0 0;cursor:pointer}
.crs-consent span{font-size:0.82rem;line-height:1.62;color:#5A6280}
.crs-consent a{color:#007838;font-weight:700;text-decoration:underline}

.crs-captcha{display:inline-flex;align-self:flex-start;align-items:center;gap:0.85rem;border:1px solid #DDE3EE;
  border-radius:0.4rem;background:#F9FAFC;padding:0.95rem 1.15rem;cursor:pointer}
.crs-captcha input{width:1.55rem;height:1.55rem;accent-color:#007838;flex:0 0 auto;margin:0;cursor:pointer}
.crs-captcha-t{font-size:0.82rem;line-height:1.3;color:#3E4558}
.crs-captcha-b{display:flex;flex-direction:column;align-items:center;gap:0.15rem;color:#5A6280;margin-left:1.6rem}
.crs-captcha-b svg{width:1.25rem;height:1.25rem}
.crs-captcha-b span{font-size:0.56rem;letter-spacing:.04em}
.crs-captcha.is-busy input{opacity:.25;pointer-events:none}
.crs-captcha.is-busy .crs-captcha-b svg{animation:crs-spin .8s linear infinite}
.crs-captcha.is-ok .crs-captcha-b{color:#007838}
@keyframes crs-spin{to{transform:rotate(360deg)}}

.crs-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:0.7rem;
  margin-top:1.5rem;padding:1.05rem 1.6rem;font-size:0.95rem}
.crs-submit svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:3.4;
  stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.crs-card .frm-msg{display:none;margin:0.9rem 0 0;font-size:0.82rem;font-weight:500;line-height:1.5}
.crs-card .frm-msg.err{display:block;color:var(--red)}
.crs-card .fld.has-err input,.crs-card .fld.has-err select,.crs-card .fld.has-err textarea{border-color:var(--red)}
.crs-card .fld.has-err .crs-drop,.crs-card .fld.has-err .crs-consent,.crs-card .fld.has-err .crs-captcha{border-color:var(--red)}

/* ---------- 3b. the sidebar ---------- */
.crs-side{display:flex;flex-direction:column;gap:1.3rem;position:sticky;top:7rem}
.crs-side-card{background:#fff;border:1px solid #E7ECF5;border-radius:0.85rem;padding:1.6rem 1.5rem 1.7rem}
.crs-side-card h3{font-size:1.15rem;line-height:1.22;letter-spacing:-.022em;color:var(--navy);margin:0 0 0.6rem}
.crs-side-lead{font-size:0.82rem;line-height:1.62;color:#7A819B;margin:0 0 1.35rem}
.crs-side-item{display:flex;align-items:flex-start;gap:0.85rem;margin-bottom:1.25rem}
.crs-side-item:last-child{margin-bottom:0}
.crs-side-ic{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;
  border-radius:0.5rem;background:#E9F6EF;flex:0 0 auto}
.crs-side-ic svg{width:1.1rem;height:1.1rem;fill:none;stroke:var(--navy);stroke-width:2.75;
  stroke-linecap:round;stroke-linejoin:round}
.crs-side-item h4{font-size:0.86rem;line-height:1.25;letter-spacing:-.015em;color:var(--navy);margin:0 0 0.22rem}
.crs-side-item p{font-size:0.78rem;line-height:1.55;color:#7A819B;margin:0}

.crs-side-navy{background:#190A4D;border-radius:0.85rem;padding:1.6rem 1.5rem 1.7rem}
.crs-badge{display:inline-flex;align-items:center;gap:0.5rem;background:rgba(255,255,255,.12);
  border-radius:0.4rem;padding:0.5rem 0.8rem;font-size:0.68rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:#fff;margin-bottom:0.95rem}
.crs-badge svg{width:0.95rem;height:0.95rem;fill:none;stroke:#fff;stroke-width:3.2;
  stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.crs-side-navy h3{font-size:1.18rem;line-height:1.22;letter-spacing:-.022em;color:#fff;margin:0 0 0.6rem}
.crs-side-navy p{font-size:0.82rem;line-height:1.65;color:#C7CEE4;margin:0 0 1rem}
.crs-side-link{display:inline-block;font-size:0.82rem;font-weight:700;color:#3FD07F;text-decoration:none}
.crs-side-link:hover{text-decoration:underline}

/* ---------- 5. closing cards ---------- */
.crs-closing{background:#fff;padding:3.4rem 0 3.6rem}
.crs-close-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.crs-cc{background:#fff;border:1px solid #E7ECF5;border-radius:0.75rem;
  padding:1.8rem 1.9rem 1.9rem;border-top-width:0.26rem;border-top-style:solid}
.crs-cc-green{border-top-color:#00953F}
.crs-cc-navy{border-top-color:#190A4D}
.crs-cc h3{font-size:1.32rem;line-height:1.2;letter-spacing:-.025em;color:var(--navy);margin:0 0 0.85rem}
.crs-cc p{font-size:0.88rem;line-height:1.75;color:#5A6280;margin:0}

/* ---------- careers, 1023 and below ---------- */
@media (max-width:1023px){
  .crs-hero{padding:2.2rem 0 2.4rem;display:flex;flex-direction:column}
  .crs-hero-photo{position:relative;width:100%;order:1;border-radius:0.6rem;overflow:hidden;aspect-ratio:16/10}
  .crs-hero-photo img{-webkit-mask-image:none;mask-image:none;object-position:center}
  .crs-hero .wrap{order:2;margin-top:1.5rem}
  .crs-hero-in{max-width:none}
  .crs-hero-p{max-width:none}
  .crs-h1{font-size:2.5rem}
  .crs-h2{font-size:1.95rem}
  .crs-grid{grid-template-columns:1fr;gap:1.3rem}
  .crs-side{position:static;flex-direction:row;flex-wrap:wrap}
  .crs-side-card,.crs-side-navy{flex:1 1 20rem}
  .crs-close-grid{grid-template-columns:1fr}
  .crs-card{padding:1.7rem 1.6rem 1.8rem}
  /* the client reviews this site on his phone only, so every control in this form
     has to be comfortably tappable. The root font-size clamps to 13px at narrow
     widths, which left selects at 34px and the department tiles at 35px. */
  .crs-card input[type=text],.crs-card input[type=email],.crs-card input[type=tel],
  .crs-card input[type=url],.crs-card input[type=date],.crs-card select{min-height:44px}
  .crs-chk{min-height:44px}
  .crs-chk input{width:1.25rem;height:1.25rem}
  .crs-consent input,.crs-captcha input{width:1.25rem;height:1.25rem}
  .crs-captcha{min-height:52px}
  .crs-submit{min-height:52px}
}

/* ---------- careers, 767 and below ---------- */
@media (max-width:767px){
  .crs-h1{font-size:2.1rem}
  .crs-h2{font-size:1.62rem}
  .crs-hero-btns .btn,.crs-btn-arrow{width:100%;justify-content:center}
  .crs-row{grid-template-columns:1fr}
  .crs-checks{grid-template-columns:1fr}
  .crs-side{flex-direction:column}
  .crs-card{padding:1.4rem 1.2rem 1.5rem}
  .crs-blk-h h3{font-size:1.18rem}
  .crs-req-note{margin-left:0}
  .crs-cc{padding:1.5rem 1.4rem 1.6rem}
  .crs-drop{padding:1.7rem 1rem}
}

/* ---------- careers, 479 and below ---------- */
@media (max-width:479px){
  .crs-h1{font-size:1.86rem}
  .crs-h2{font-size:1.45rem}
  .crs-captcha{width:100%}
  .crs-radios .crs-chk-sm{flex:1 1 auto;justify-content:center}
}

/* ============================================================
   STATES WE SERVE PAGE  (sw-)
   Built 29 Sep 2026 from his States_We_Serve.jpg (4500 x 13500).
   ============================================================ */
.sw-hero{position:relative;background:#fff;overflow:hidden;padding:3rem 0 2.6rem;min-height:calc(58vw / 1.383)}
.sw-hero .wrap{position:relative;z-index:2}
.sw-hero-photo{position:absolute;right:0;top:0;width:58%;z-index:0}
.sw-hero-photo img{width:100%;height:auto;display:block}
.sw-hero-txt{max-width:43%}
.sw-h1{font-size:3.2rem;line-height:1.05;letter-spacing:-.03em;color:var(--navy);margin:0 0 0.9rem}
.sw-sub{font-size:1.55rem;line-height:1.22;font-weight:700;color:var(--green);margin:0 0 1.2rem;letter-spacing:-.01em}
.sw-intro{font-size:0.85rem;line-height:1.72;color:var(--text);margin:0}
.sw-hero-btns{display:flex;flex-wrap:wrap;gap:0.7rem;margin-top:1.5rem}
.sw-hero-btns .btn,.sw-band-btns .btn{padding:0.78rem 0.95rem;font-size:0.7rem;white-space:nowrap;display:inline-flex;align-items:center;gap:0.5rem}
.sw-bi{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.sw-trust{display:flex;flex-wrap:nowrap;gap:0;margin-top:1.8rem}
.sw-trust-c{display:flex;align-items:center;gap:0.5rem;padding:0 0.9rem;border-left:1px solid #E3E7F1}
.sw-trust-c:first-child{padding-left:0;border-left:0}
.sw-trust-c img{width:2rem;height:2rem;flex:0 0 auto}
.sw-trust-c span{font-size:0.68rem;white-space:nowrap;font-weight:600;color:var(--navy);line-height:1.35}

.sw-sec{background:#fff;padding:2.4rem 0 1rem}
.sw-h2{position:relative;text-align:center;margin:0 0 1.9rem;font-size:1.65rem;line-height:1.2;letter-spacing:-.02em;color:var(--navy)}
.sw-h2::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#E6E9F2}
.sw-h2 span{position:relative;display:inline-block;background:#fff;padding:0 1.1rem}
.sw-h2 span::before,.sw-h2 span::after{content:"";position:absolute;top:50%;width:2.2rem;height:2px;background:#4FA374}
.sw-h2 span::before{right:100%}
.sw-h2 span::after{left:100%}

.sw-cov-in{display:grid;grid-template-columns:minmax(0,1fr) 14rem;gap:1.2rem;align-items:stretch}
.sw-cov-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #ECEFF6;border-radius:0.8rem;padding:1.3rem 0;box-shadow:0 2px 14px rgba(11,36,114,.04)}
.sw-cov-list ul{list-style:none;margin:0;padding:0 0.6rem 0 1.6rem;border-left:1px solid #ECEFF6}
.sw-cov-list ul:first-child{border-left:0}
.sw-cov-list li{position:relative;padding-left:1.6rem;font-size:0.9rem;white-space:nowrap;font-weight:600;color:var(--navy);line-height:1.3;margin:0 0 0.95rem}
.sw-cov-list li:last-child{margin-bottom:0}
.sw-cov-list li::before{content:"";position:absolute;left:0;top:0.06rem;width:1.1rem;height:1.1rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='%2333A064' stroke-width='2.2'/%3E%3Cpath d='M7.6 12.3l3 3 5.8-6.2' fill='none' stroke='%2333A064' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain}
.sw-cov-card{background:#EEF6F0;border-radius:0.8rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.6rem 1rem}
.sw-cov-card img{width:6.6rem;height:6.6rem;margin-bottom:1.3rem}
.sw-cov-card p{margin:0;font-size:1.25rem;line-height:1.5;font-weight:700;color:var(--green)}
.sw-cov-card .sw-n{color:var(--navy)}

.sw-focus-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0.9rem}
.sw-fc{display:grid;grid-template-columns:3.9rem minmax(0,1fr);column-gap:0.8rem;align-items:start;background:#fff;border:1px solid #ECEFF6;border-radius:0.8rem;padding:1.3rem 1.2rem 1.4rem;box-shadow:0 2px 14px rgba(11,36,114,.04)}
.sw-fc img{grid-row:1 / span 2;width:3.9rem;height:3.6rem;object-fit:contain;object-position:left top}
.sw-fc h3{font-size:1.1rem;line-height:1.2;color:var(--navy);margin:0.1rem 0 0.8rem;letter-spacing:-.01em}
.sw-fc p{font-size:0.78rem;line-height:1.8;color:var(--text);margin:0}

.sw-svc-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #ECEFF6;border-radius:0.8rem;overflow:hidden}
.sw-sv{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.9rem;padding:1.5rem 1rem 1.4rem;border-right:1px solid #F0F2F8;border-bottom:1px solid #F0F2F8;background:#FCFCFE}
.sw-sv:nth-child(5n){border-right:0}
.sw-sv:nth-last-child(-n+5){border-bottom:0}
.sw-sv img{width:3.6rem;height:3.6rem}
.sw-sv span{font-size:0.9rem;line-height:1.45;font-weight:600;color:var(--navy);max-width:13rem}

.sw-spec-grid{display:flex;flex-wrap:wrap;justify-content:center;row-gap:1.6rem}
.sw-sp{flex:0 0 12.5%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.55rem;padding:0 0.4rem;box-sizing:border-box}
.sw-sp img{width:3.5rem;height:3.5rem}
.sw-sp span{font-size:0.88rem;line-height:1.35;font-weight:600;color:var(--navy)}
.sw-sp:nth-child(n+25){flex-basis:15.5%}

.sw-why-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0.9rem}
.sw-wc{display:flex;gap:0.9rem;align-items:flex-start;background:#fff;border:1px solid #ECEFF6;border-radius:0.8rem;padding:1.3rem 1.1rem 1.4rem;box-shadow:0 2px 14px rgba(11,36,114,.04)}
.sw-wc img{width:2.6rem;height:2.6rem;flex:0 0 auto}
.sw-wc h3{font-size:0.9rem;line-height:1.4;color:var(--navy);margin:0 0 0.65rem;letter-spacing:-.01em}
.sw-wc p{font-size:0.75rem;line-height:1.65;color:var(--text);margin:0}

.sw-band-sec{background:#fff;padding:2.6rem 0 3rem}
.sw-band{display:grid;grid-template-columns:33.3% minmax(0,1fr);border-radius:0.9rem;overflow:hidden;box-shadow:0 8px 26px rgba(11,36,114,.12);background:#021A65}
.sw-band-photo img{width:100%;height:100%;object-fit:cover;display:block}
.sw-band-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,0.5fr);align-items:center;gap:1.2rem;padding:2.2rem 1.8rem 2.2rem 2.4rem;background:#021A65}
.sw-band-txt h2{font-size:1.95rem;line-height:1.2;letter-spacing:-.02em;color:#fff;margin:0 0 1rem}
.sw-band-txt p{font-size:0.9rem;line-height:1.75;color:#E7EBF7;margin:0 0 1.5rem;max-width:34rem}
.sw-band-btns{display:flex;flex-wrap:wrap;gap:0.9rem}
.sw-btn-white{background:#fff;color:var(--green)}
.sw-band-map img{width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);mask-composite:intersect}

@media (max-width:1180px){
  .sw-h1{font-size:2.8rem}
  .sw-sub{font-size:1.45rem}
  .sw-hero-txt{max-width:44%}
  .sw-hero-photo{width:54%}
  .sw-cov-list ul{padding-left:1.2rem}
  .sw-cov-list li{font-size:0.86rem}
  .sw-cov-in{grid-template-columns:minmax(0,1fr) 12rem}
  .sw-fc{grid-template-columns:1fr;padding:1.1rem 1rem}
  .sw-fc img{grid-row:auto;width:3.8rem;height:3.4rem;margin-bottom:0.6rem}
  .sw-fc h3{font-size:1.1rem;margin-top:0}
  .sw-wc{flex-direction:column;gap:0.6rem}
  .sw-band-txt h2{font-size:1.9rem}
}
@media (max-width:1023px){
  .sw-hero{padding:1.8rem 0 2rem}
  .sw-hero-photo{position:relative;width:100%;height:auto;aspect-ratio:1453/1083;margin-bottom:0.4rem}
  .sw-hero-photo img{object-fit:contain}
  .sw-hero-txt{max-width:none}
  .sw-cov-in{grid-template-columns:1fr}
  .sw-cov-list{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1.2rem}
  .sw-cov-list ul:nth-child(4){border-left:0}
  .sw-focus-grid,.sw-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sw-fc{grid-template-columns:4rem minmax(0,1fr)}
  .sw-fc img{grid-row:1 / span 2;margin-bottom:0}
  .sw-wc{flex-direction:row}
  .sw-svc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sw-sv:nth-child(5n){border-right:1px solid #F0F2F8}
  .sw-sv:nth-child(3n){border-right:0}
  .sw-sv:nth-last-child(-n+5){border-bottom:1px solid #F0F2F8}
  .sw-sv:nth-last-child(-n+3){border-bottom:0}
  .sw-sp,.sw-sp:nth-child(n+25){flex-basis:25%}
  .sw-band{grid-template-columns:1fr}
  .sw-band-photo{aspect-ratio:1395/1050;max-height:24rem}
  .sw-band-panel{grid-template-columns:1fr;padding:2rem 1.6rem}
  .sw-band-map{max-width:22rem}
}
/* The hero image hands over to a plain photo on phones: the fade and the
   badge stay as he drew them, only the crop changes. */
@media (max-width:600px){
  .sw-h1{font-size:2.3rem}
  .sw-sub{font-size:1.22rem}
  .sw-intro{font-size:0.88rem}
  .sw-hero-btns{flex-direction:column}
  .sw-hero-btns .btn,.sw-band-btns .btn{justify-content:center;width:100%;box-sizing:border-box}
  .sw-trust{flex-direction:column;gap:0.8rem}
  .sw-trust-c{padding:0;border-left:0}
  .sw-h2{font-size:1.4rem}
  .sw-h2::before,.sw-h2 span::before,.sw-h2 span::after{display:none}
  .sw-h2 span{padding:0}
  .sw-cov-list{display:block;columns:2;column-gap:0.8rem;column-rule:1px solid #ECEFF6;padding:1.1rem 1rem}
  .sw-cov-list ul{display:contents}
  .sw-cov-list li{font-size:0.86rem;padding-left:1.5rem;break-inside:avoid;margin:0 0 0.8rem}
  .sw-cov-list li:last-child{margin-bottom:0.8rem}
  .sw-focus-grid,.sw-why-grid{grid-template-columns:1fr}
  .sw-svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sw-sv:nth-child(3n){border-right:1px solid #F0F2F8}
  .sw-sv:nth-child(2n){border-right:0}
  .sw-sv:nth-last-child(-n+3){border-bottom:1px solid #F0F2F8}
  .sw-sv:last-child{border-bottom:0}
  .sw-sv span{font-size:0.82rem}
  .sw-sp,.sw-sp:nth-child(n+25){flex-basis:33.333%}
  .sw-sp span{font-size:0.8rem}
  .sw-band-txt h2{font-size:1.55rem}
  .sw-band-txt p{font-size:0.9rem}
  .sw-band-panel{padding:1.6rem 1.2rem}
}

/* ============================================================
   SERVICE PAGES  (ms-)
   Built 2 Oct 2026 from his SERVICES/01-medical-billing-services.jpg
   (3600 x 6397). Shared template for all 9 service pages: hero with
   navy panel, six feature strip, service list grid, detail cards,
   Benefits for Your Practice, support band, closing CTA band.
   Later service pages swap content only.
   ============================================================ */
.ms-hero{background:#fff;padding:2.6rem 0 1.6rem}
.ms-hero-in{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,51fr);gap:5.5%;align-items:stretch}
.ms-eyebrow{margin-bottom:0.35rem}
.ms-h1{font-size:3.2rem;line-height:1.08;letter-spacing:-.03em;color:var(--navy);margin:0 0 1.1rem}
.ms-h1 span{display:block}
.ms-h1 .ms-h1-g{color:var(--green)}
.ms-sub{font-size:1.2rem;line-height:1.3;font-weight:700;color:var(--green);margin:0 0 1rem;letter-spacing:-.01em}
.ms-intro p{font-size:0.8rem;line-height:1.72;color:var(--text);margin:0 0 0.75rem}
.ms-btns{display:flex;flex-wrap:wrap;gap:0.9rem;margin-top:1.3rem}
.ms-btns .btn{padding:0.7rem 1.1rem;font-size:0.72rem;line-height:1.3;text-align:left;justify-content:flex-start;gap:0.6rem;min-height:3.05rem}
.ms-bi{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}

.ms-panel{position:relative;overflow:hidden;border-radius:0.75rem;padding:2.2rem 1.6rem 2.6rem;color:#fff;
  background:linear-gradient(135deg,#131466 0%,#0F1C6E 55%,#0A2C7A 100%);box-shadow:0 0.6rem 1.6rem rgba(11,36,114,.18)}
.ms-panel::before{content:"";position:absolute;width:20rem;height:20rem;right:-6.5rem;top:-3.5rem;border-radius:50%;border:2.4rem solid rgba(40,150,140,.16);pointer-events:none}
.ms-panel::after{content:"";position:absolute;width:30rem;height:30rem;left:-19rem;bottom:-21rem;border-radius:50%;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.ms-panel>*{position:relative;z-index:1}
.ms-panel-ic{width:5.1rem;height:auto;margin:0 0 1.35rem 0.1rem}
.ms-panel-h{font-size:1.12rem;line-height:1.38;font-weight:600;color:#fff;max-width:17rem;margin:0 0 1.55rem 0.1rem}
.ms-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.5rem}
.ms-stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:0.4rem;padding:0.75rem 0.75rem 0.85rem}
.ms-stat b{display:block;font-size:1.25rem;line-height:1.15;font-weight:600;color:#5BE38A;margin-bottom:0.35rem}
.ms-stat span{display:block;font-size:0.68rem;line-height:1.5;color:rgba(255,255,255,.88)}
.ms-steps{list-style:none;margin:1.6rem 0 0;padding:0 1.3rem;display:flex;align-items:flex-start;justify-content:space-between}
.ms-steps li{display:flex;flex-direction:column;align-items:center;gap:0.55rem;flex:0 0 auto}
.ms-steps i{font-style:normal;width:2rem;height:2rem;border-radius:50%;background:#fff;color:#131466;display:flex;align-items:center;justify-content:center;font-size:0.78rem;font-weight:700}
.ms-steps span{font-size:0.7rem;font-weight:600;color:#fff;white-space:nowrap}
.ms-steps .ms-arr{padding-top:0.55rem}
.ms-steps .ms-arr svg{width:0.85rem;height:0.85rem;fill:none;stroke:#3CCB72;stroke-width:2.4}

.ms-sec{background:#fff;padding:1.4rem 0 1.2rem}
.ms-sec-strip{padding-top:0.4rem}
.ms-sec-last{padding-bottom:2.4rem}
.ms-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--border);border-radius:0.6rem;background:#fff;padding:1rem 0;box-shadow:var(--shadow)}
.ms-strip-c{text-align:center;padding:0 0.7rem;border-left:1px solid var(--border)}
.ms-strip-c:first-child{border-left:0}
.ms-strip-c img{width:2.6rem;height:2.6rem;margin:0 auto 0.5rem}
.ms-strip-c h3{font-size:0.72rem;line-height:1.38;color:var(--green);font-weight:700;letter-spacing:-.005em;margin:0 0 0.3rem}
.ms-strip-c p{font-size:0.62rem;line-height:1.55;color:var(--text);margin:0 auto;max-width:8.6rem}

.ms-h2{text-align:center;font-size:1.32rem;line-height:1.25;color:var(--navy);margin:0.6rem 0 1.15rem;letter-spacing:-.02em}
.ms-h2::after{content:"";display:block;width:2.4rem;height:2px;border-radius:2px;background:#1F9A55;margin:0.55rem auto 0}

.ms-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.5rem 0.5rem;list-style:none;margin:0;padding:0}
.ms-list li{display:flex;align-items:center;gap:0.85rem;min-height:2.65rem;padding:0.5rem 0.9rem;border:1px solid var(--border);border-radius:0.4rem;background:#fff;font-size:0.6rem;line-height:1.35;font-weight:600;color:var(--navy);box-shadow:var(--shadow)}
.ms-list li img{width:0.95rem;height:0.95rem;flex:0 0 auto}
.ms-benefits{gap:0.55rem 0.7rem}
.ms-benefits li{min-height:2.95rem;padding:0.5rem 0.75rem;gap:1rem}
.ms-benefits li img{width:1.3rem;height:1.3rem}

.ms-cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.03fr) minmax(0,1fr) minmax(0,1.13fr);gap:0.6rem;margin-top:1.35rem}
.ms-card{border:1px solid var(--border);border-radius:0.6rem;background:#fff;padding:1rem 1.1rem 1.2rem;box-shadow:var(--shadow)}
.ms-card-h{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.85rem}
.ms-card-ic{flex:0 0 auto;width:3.1rem;height:3.1rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ECF0FA 0%,#E7F5EE 100%)}
.ms-card-ic img{width:1.85rem;height:1.85rem}
.ms-card-h h3{font-size:0.86rem;line-height:1.32;color:var(--navy);font-weight:700}
.ms-card>p{font-size:0.74rem;line-height:1.72;color:var(--text);margin:0 0.4rem 0 0.25rem}
.ms-checks{list-style:none;margin:0 0 0 0.5rem;padding:0}
.ms-checks li{display:flex;align-items:center;gap:0.75rem;font-size:0.66rem;line-height:1.62;color:var(--text)}
.ms-checks svg{width:0.75rem;height:0.75rem;flex:0 0 auto;fill:none;stroke:var(--green);stroke-width:3.2}

.ms-fit{display:flex;align-items:center;gap:2.2rem;background:#F1F6F9;border:1px solid #DFEDEA;border-radius:0.6rem;padding:0.95rem 2rem 1.05rem 3.6rem}
.ms-fit-ic{flex:0 0 auto;width:4.75rem;height:4.75rem;border-radius:50%;border:2px solid #2E9E5B;background:#fff;display:flex;align-items:center;justify-content:center}
.ms-fit-ic img{width:2.35rem;height:2.35rem}
.ms-fit h2{font-size:1.15rem;line-height:1.3;color:var(--navy);margin:0 0 0.35rem;letter-spacing:-.015em}
.ms-fit p{font-size:0.8rem;line-height:1.65;color:var(--text);margin:0}

.ms-cta{display:flex;align-items:center;justify-content:space-between;gap:1.6rem;border-radius:0.6rem;padding:1.25rem 1.4rem 1.2rem 1.4rem;color:#fff;
  background:linear-gradient(90deg,#14287E 0%,#1C1B83 55%,#250A75 100%);box-shadow:0 0.4rem 1.2rem rgba(11,36,114,.16)}
.ms-cta-txt h2{font-size:1.1rem;line-height:1.3;color:#fff;margin:0 0 0.35rem;letter-spacing:-.01em}
.ms-cta-txt p{font-size:0.66rem;line-height:1.7;color:rgba(255,255,255,.9);margin:0;max-width:21rem}
.ms-cta-btns{margin-top:0;flex-wrap:nowrap;flex:0 0 auto}
.ms-cta-btns .btn{min-width:11rem}
.ms-cta-btns .btn-green{padding-left:1.1rem;padding-right:1.6rem}
.ms-btn-line{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7);padding-left:1.2rem;padding-right:2.4rem}

/* tablet and phone reflow. Desktop layout holds at 1024 and above (rule 9). */
@media (max-width:1023px){
  .ms-hero{padding:1.8rem 0 1.4rem}
  .ms-hero-in{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .ms-intro p{font-size:0.92rem}
  .ms-btns .btn{font-size:0.85rem}
  .ms-panel{padding:1.8rem 1.4rem 2.2rem}
  .ms-panel-h{font-size:1.3rem;max-width:22rem}
  .ms-stat span{font-size:0.8rem}
  .ms-steps span{font-size:0.82rem}
  .ms-strip{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1.3rem}
  .ms-strip-c:nth-child(4){border-left:0}
  .ms-strip-c h3{font-size:0.88rem}
  .ms-strip-c p{font-size:0.78rem;max-width:12rem}
  .ms-h2{font-size:1.55rem}
  .ms-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-list li{font-size:0.82rem}
  .ms-list li img{width:1.15rem;height:1.15rem}
  .ms-benefits li img{width:1.45rem;height:1.45rem}
  .ms-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-card-h h3{font-size:1rem}
  .ms-card>p,.ms-checks li{font-size:0.86rem}
  .ms-fit{padding:1.2rem 1.4rem;gap:1.4rem}
  .ms-fit h2{font-size:1.3rem}
  .ms-fit p{font-size:0.9rem}
  .ms-cta{flex-direction:column;align-items:flex-start;padding:1.5rem 1.4rem}
  .ms-cta-txt h2{font-size:1.3rem}
  .ms-cta-txt p{font-size:0.86rem;max-width:none}
  .ms-cta-btns{flex-wrap:wrap}
}
@media (max-width:600px){
  .ms-h1{font-size:2.6rem}
  .ms-sub{font-size:1.25rem}
  .ms-btns{flex-direction:column}
  .ms-btns .btn{width:100%;justify-content:center;font-size:0.95rem;padding:0.85rem 1rem}
  .ms-cta-btns{width:100%}
  .ms-cta-btns .btn{min-width:0}
  .ms-btn-line{padding-right:1rem}
  .ms-panel{padding:1.5rem 1rem 1.8rem}
  .ms-panel-ic{width:4.4rem}
  .ms-stats{gap:0.4rem}
  .ms-stat{padding:0.65rem 0.55rem 0.7rem}
  .ms-stat b{font-size:1.15rem}
  .ms-stat span{font-size:0.75rem}
  .ms-steps{padding:0}
  .ms-steps span{font-size:0.78rem}
  .ms-steps .ms-arr svg{width:0.75rem;height:0.75rem}
  .ms-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-strip-c:nth-child(4){border-left:1px solid var(--border)}
  .ms-strip-c:nth-child(odd){border-left:0}
  .ms-list,.ms-cards{grid-template-columns:minmax(0,1fr)}
  .ms-list li{font-size:0.9rem;min-height:3rem}
  .ms-fit{flex-direction:column;align-items:flex-start;text-align:left}
  .ms-fit-ic{width:4.2rem;height:4.2rem}
}
@media (max-width:360px){
  .ms-h1{font-size:2.3rem}
  .ms-stat b{font-size:1rem}
  .ms-stat span{font-size:0.7rem}
}

/* ------------------------------------------------------------
   SERVICE PAGES (ms-) additions, 2 Oct 2026, from his
   SERVICES/02-complete-revenue-cycle-management-services.jpg.
   Generic pieces later service pages can reuse: desktop-only line
   breaks, a plain h2, the journey panel, a bordered list box with
   column dividers, list cards, ringed benefit cards, a tick list
   inside the support band, and a roomier CTA band.
   Nothing above this line is changed, so page 1 renders as before.
   ------------------------------------------------------------ */
.ms-dbr{display:inline}
.ms-h1-flow span{display:inline}
.ms-h2-plain::after{display:none}
.ms-hero-jr{grid-template-columns:minmax(0,41fr) minmax(0,56fr);gap:3%;align-items:center}
.ms-hero-jr .ms-h1{font-size:2.62rem;line-height:1.14;margin-bottom:0.9rem}
.ms-hero-jr .ms-sub{font-size:1.05rem;line-height:1.5;margin-bottom:0.8rem}
.ms-hero-jr .ms-intro p{font-size:0.74rem;line-height:1.85}

/* journey panel */
.ms-jr{--jr-top:4.05rem;background:#fff;border:1px solid var(--border);border-radius:0.75rem;box-shadow:0 0.5rem 1.5rem rgba(11,36,114,.08);padding:1.55rem 0.55rem 2.1rem}
.ms-jr-h{text-align:center;font-size:1.32rem;line-height:1.25;color:var(--navy);letter-spacing:-.02em;margin:0 0 1.85rem}
.ms-jr-body{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:2.6rem}
.ms-jr-loop{position:absolute;left:0;top:var(--jr-top);width:100%;height:calc(100% - var(--jr-top));overflow:visible;pointer-events:none}
.ms-jr-col{position:relative;z-index:1;display:flex;flex-direction:column}
.ms-jr-stage{height:1.75rem;margin:0 0 1.2rem;text-align:center;line-height:1.2}
.ms-jr-stage b{display:block;font-size:0.8rem;font-weight:700;letter-spacing:-.005em}
.ms-jr-stage span{display:block;font-size:0.58rem;font-weight:600;color:var(--navy);margin-top:0.15rem}
.ms-jr-front{--jr-c:#078A3C;--jr-ring:#2E9E5B}
.ms-jr-mid{--jr-c:#2A45A8;--jr-ring:#4D6CC4}
.ms-jr-back{--jr-c:#3A1A93;--jr-ring:#A99AD6}
.ms-jr-stage b{color:var(--jr-c)}
.ms-jr-badge{width:2.2rem;height:2.2rem;margin:0 auto;border-radius:50%;background:#fff;border:2px solid var(--jr-ring);display:flex;align-items:center;justify-content:center}
.ms-jr-badge img{width:1.2rem;height:1.2rem}
.ms-jr-list{position:relative;list-style:none;margin:1.75rem 0 0;padding:0.15rem 0.4rem 0.15rem 1.9rem;display:flex;flex-direction:column;gap:1.55rem}
.ms-jr-mid .ms-jr-list,.ms-jr-back .ms-jr-list{border-left:1px solid #DDE2EC}
.ms-jr-list li{display:flex;align-items:center;gap:0.75rem;font-size:0.6rem;line-height:1.5;font-weight:600;color:#1B1F5E}
.ms-jr-list li img{width:1.55rem;height:1.55rem;flex:0 0 auto}
.ms-jr-list .ms-jr-chev{position:absolute;left:-0.55rem;top:50%;width:1.1rem;height:1.6rem;margin-top:-0.8rem;background:#fff;display:flex;align-items:center;justify-content:center}
.ms-jr-chev svg{width:1rem;height:1rem;fill:none;stroke:#0E6E5C;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ms-jr-back .ms-jr-chev svg{stroke:#3A1A93}

/* bordered list box with column dividers */
.ms-box{border:1px solid var(--border);border-radius:0.6rem;background:#fff;box-shadow:var(--shadow);padding:0.95rem 1.3rem 1rem}
.ms-box .ms-h2{margin:0.1rem 0 0.75rem}
.ms-e2e{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}
.ms-e2e li{display:flex;align-items:center;gap:0.8rem;min-height:3.3rem;padding:0.3rem 0.6rem 0.3rem 1.45rem;border-left:1px solid #E3E7EF;font-size:0.65rem;line-height:1.4;font-weight:600;color:var(--navy)}
.ms-e2e li:nth-child(4n+1){border-left:0;padding-left:0.4rem}
.ms-e2e li img{width:1.4rem;height:1.4rem;flex:0 0 auto}

/* list cards (icon in a ring, title, bullet list) */
.ms-lcards{grid-template-columns:minmax(0,1fr) minmax(0,1.01fr) minmax(0,.96fr) minmax(0,1.09fr);gap:0.55rem;margin-top:0.85rem}
.ms-lcard{background:linear-gradient(180deg,#F8FAFD 0%,#F5F7FB 100%);border-color:#E6EAF2;padding:0.85rem 0.9rem 1.2rem 0.8rem}
.ms-lcard .ms-card-h{gap:0.95rem;margin-bottom:1.05rem}
.ms-lcard .ms-card-ic{width:3.55rem;height:3.55rem;background:#fff;border:1.5px solid #8E9ACD}
.ms-lcard .ms-card-ic img{width:1.9rem;height:1.9rem}
.ms-lcard .ms-card-h h3{font-size:0.9rem;line-height:1.38}
.ms-lcard-g .ms-card-ic{border-color:#2E9E5B}
.ms-lcard-g .ms-card-h h3{color:var(--green)}
.ms-dots{margin:0;padding:0 0 0 1.75rem;list-style:disc}
.ms-dots li{font-size:0.64rem;line-height:1.5;color:#33364A;margin-bottom:0.5rem;padding-left:0.25rem}
.ms-dots li::marker{color:#1B1F5E;font-size:0.8em}
.ms-dots-strong li{color:#1B1F5E;font-weight:500;margin-bottom:0.38rem}

/* ringed benefit cards */
.ms-bcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.85rem 0.95rem;list-style:none;margin:0;padding:0}
.ms-bcards li{display:flex;align-items:center;gap:1.05rem;min-height:5.3rem;padding:0.7rem 1rem 0.7rem 1.4rem;border:1px solid #E6EAF2;border-radius:0.6rem;background:#fff;box-shadow:var(--shadow);font-size:0.8rem;line-height:1.45;font-weight:600;color:var(--navy)}
.ms-bcards .ms-bc-sm{font-size:0.74rem;line-height:1.5}
.ms-ring{flex:0 0 auto;width:3.3rem;height:3.3rem;border-radius:50%;border:1.5px solid #B9BEDA;background:#fff;display:flex;align-items:center;justify-content:center}
.ms-ring img{width:1.8rem;height:1.8rem}
.ms-sec-tight{padding-top:0.15rem}
.ms-ring-g{border-color:#8FCBA8}

/* support band with a tick list (Customized to Your Practice) */
.ms-fit-list{background:#FAFDFB;border-color:#DDEBE3;padding:1.05rem 1.5rem 1.15rem 2.35rem;gap:2.05rem}
.ms-fit-list .ms-fit-ic{border-width:1.5px;border-color:#5FB585}
.ms-fit-list .ms-fit-ic img{width:2.4rem;height:2.4rem}
.ms-fit-list>div{flex:1 1 auto;min-width:0}
.ms-fit-list h2{color:var(--green);font-size:1.15rem;margin:0 0 0.45rem}
.ms-tick5{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1.08fr 1.04fr .95fr 1fr 1fr;grid-template-rows:auto auto;grid-auto-flow:column;gap:0.5rem 1rem}
.ms-tick5 li{display:flex;align-items:center;gap:0.75rem;font-size:0.74rem;line-height:1.35;font-weight:500;color:var(--navy)}
.ms-tick5 li:nth-child(8){grid-row:1;grid-column:5}
.ms-tick5 svg{width:0.85rem;height:0.85rem;flex:0 0 auto;fill:none;stroke:var(--green);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* roomier CTA band */
.ms-cta-wide{padding:1.45rem 2.6rem 1.5rem 2.25rem}
.ms-cta-wide .ms-cta-txt h2{font-size:1.25rem;margin-bottom:0.45rem}
.ms-cta-wide .ms-cta-txt p{font-size:0.7rem;max-width:30rem}
.ms-cta-wide .ms-cta-btns{gap:1.5rem}
.ms-cta-wide .ms-cta-btns .btn{min-height:3.8rem;font-size:0.82rem;justify-content:center}
.ms-cta-wide .ms-cta-btns .btn-green{min-width:14.5rem}
.ms-cta-wide .ms-cta-btns .ms-btn-line{min-width:15.8rem;padding-right:1.6rem}

@media (max-width:1023px){
  .ms-dbr{display:none}
  .ms-hero-jr{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .ms-hero-jr .ms-sub{font-size:1.2rem}
  .ms-hero-jr .ms-intro p{font-size:0.92rem}
  .ms-jr-h{font-size:1.45rem}
  .ms-jr-stage b{font-size:0.95rem}
  .ms-jr-stage span{font-size:0.78rem}
  .ms-jr{--jr-top:4.6rem}
  .ms-jr-stage{height:2.3rem}
  .ms-jr-list{padding-left:1.3rem;gap:1.3rem}
  .ms-jr-list li{font-size:0.78rem}
  .ms-jr-list .ms-dbr{display:inline}
  .ms-box{padding:1.1rem 1.1rem}
  .ms-e2e{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-e2e li{font-size:0.82rem;border-left:0;padding-left:0.4rem}
  .ms-e2e li:nth-child(even){border-left:1px solid #E3E7EF;padding-left:1.2rem}
  .ms-e2e li img{width:1.5rem;height:1.5rem}
  .ms-lcards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-lcard .ms-card-h h3{font-size:1.05rem}
  .ms-dots li{font-size:0.86rem}
  .ms-bcards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-bcards li{font-size:0.95rem}
  .ms-bcards .ms-bc-sm{font-size:0.95rem}
  .ms-fit-list{padding:1.2rem 1.4rem}
  .ms-tick5{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-flow:row}
  .ms-tick5 li:nth-child(8){grid-row:auto;grid-column:auto}
  .ms-tick5 li{font-size:0.88rem}
  .ms-cta-wide{padding:1.5rem 1.4rem}
  .ms-cta-wide .ms-cta-txt p{font-size:0.86rem;max-width:none}
  .ms-cta-wide .ms-cta-btns .btn{font-size:0.88rem}
}
/* phone: the journey loop cannot hold three columns, so each stage
   becomes its own outlined block in his colours, in his order */
@media (max-width:767px){
  .ms-jr{padding:1.4rem 1rem 1.5rem}
  .ms-jr-h{margin-bottom:1.2rem}
  .ms-jr-loop{display:none}
  .ms-jr-body{grid-template-columns:minmax(0,1fr);gap:1.9rem;padding-bottom:0}
  .ms-jr-col{border:2px solid var(--jr-c);border-radius:1rem;padding:1rem 1rem 1.2rem}
  .ms-jr-col+.ms-jr-col::before{content:"";position:absolute;left:50%;top:-1.55rem;width:0.7rem;height:0.7rem;margin-left:-0.35rem;border-right:3px solid var(--jr-c);border-bottom:3px solid var(--jr-c);transform:rotate(45deg)}
  .ms-jr-stage{height:auto;margin-bottom:0.8rem}
  .ms-jr-list{margin-top:1rem;padding:0;gap:0.85rem}
  .ms-jr-mid .ms-jr-list,.ms-jr-back .ms-jr-list{border-left:0}
  .ms-jr-list li{font-size:0.92rem}
  .ms-jr-list .ms-dbr{display:none}
  .ms-jr-list .ms-jr-chev{display:none}
}
@media (max-width:600px){
  .ms-e2e,.ms-lcards,.ms-bcards{grid-template-columns:minmax(0,1fr)}
  .ms-e2e li,.ms-e2e li:nth-child(even){border-left:0;padding-left:0.2rem;font-size:0.92rem;min-height:2.9rem}
  .ms-e2e li+li{border-top:1px solid #EEF1F6}
  .ms-bcards li{min-height:4.6rem;padding-left:1rem}
  .ms-fit-list{flex-direction:column;align-items:flex-start}
  .ms-tick5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-cta-wide .ms-cta-btns .btn{min-width:0}
}

/* ------------------------------------------------------------
   SERVICE PAGES (ms-) additions, 2 Oct 2026, from his
   SERVICES/03-medical-coding-services.jpg.
   Generic pieces later service pages can reuse: photo hero, a filled
   button icon, a larger h2 and list, two by two detail cards with
   tick columns, benefit tiles with optional icon discs, and a
   compact CTA band. Only new class names are added here, so pages
   1 and 2 render exactly as before.
   ------------------------------------------------------------ */
.ms-bi-f{fill:currentColor;stroke:none}
.ms-hero-ph-sec{padding:1rem 0 1.4rem}
.ms-hero-ph{grid-template-columns:minmax(0,46fr) minmax(0,49fr);gap:5%;align-items:center}
.ms-hero-ph .ms-hero-txt{padding-left:1.6rem}
.ms-hero-ph .ms-h1{font-size:3.15rem;line-height:1.1;margin-bottom:1.15rem}
.ms-hero-ph .ms-sub{font-size:1.24rem;line-height:1.3;margin-bottom:0.95rem}
.ms-hero-ph .ms-intro p{font-size:0.92rem;line-height:1.6}
.ms-hero-ph .ms-btns{margin-top:1.45rem;gap:1rem}
.ms-hero-ph .ms-btns .btn{font-size:0.84rem;min-height:3rem;padding:0.6rem 1.2rem}
.ms-photo{margin:0}
.ms-photo img{display:block;width:100%;height:auto;border-radius:2.8%/3.7%;box-shadow:0 0.5rem 1.4rem rgba(11,36,114,.12)}

.ms-sec-mc{padding:1.2rem 0 0}
.ms-sec-mc-t{padding-top:0.55rem}
.ms-h2-lg{font-size:1.52rem;margin:1.35rem 0 1.05rem}
.ms-h2-lg::after{width:2.6rem;margin-top:0.75rem}
.ms-list-lg{gap:0.55rem 0.55rem}
.ms-list-lg li{min-height:3.95rem;padding:0.5rem 1rem 0.5rem 1.1rem;gap:1.35rem;font-size:0.84rem}
.ms-list-lg li img{width:1.5rem;height:1.5rem}
.ms-list-lg .ms-li-fit{letter-spacing:-.03em;white-space:nowrap}

/* two by two detail cards: icon disc, title, text, tick columns */
.ms-qcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.95rem;margin-top:2.25rem}
.ms-qcard{display:grid;grid-template-columns:4.9rem minmax(0,1fr);column-gap:0.85rem;align-items:start;border:1px solid var(--border);border-radius:0.6rem;background:#fff;box-shadow:var(--shadow);padding:0.75rem 1.4rem 1.1rem 0.7rem}
.ms-qic{width:4.9rem;height:4.9rem;border-radius:50%;background:#F1F1F8;display:flex;align-items:center;justify-content:center}
.ms-qic img{width:2.7rem;height:2.7rem}
.ms-qbody{min-width:0;padding-top:0.95rem}
.ms-qbody h3{font-size:1.09rem;line-height:1.3;color:var(--navy);margin:0 0 0.55rem}
.ms-qbody p{font-size:0.81rem;line-height:1.5;color:var(--text);margin:0;max-width:21.6rem}
.ms-qchecks{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}
.ms-qrows-3{grid-template-rows:repeat(3,auto)}
.ms-qrows-4{grid-template-rows:repeat(4,auto)}
.ms-qchecks li{display:flex;align-items:center;gap:0.95rem;font-size:0.75rem;line-height:1.3;color:var(--text);padding:0.33rem 0}
.ms-qchecks svg{width:0.75rem;height:0.75rem;flex:0 0 auto;fill:none;stroke:var(--green);stroke-width:3.2}
.ms-qchecks-in{margin-top:0.4rem;grid-template-columns:12.9rem minmax(0,auto);justify-content:start;column-gap:0}
.ms-qchecks-out{grid-column:1/-1;margin:0.55rem 0 0 2.95rem;max-width:30rem;column-gap:2rem}
.ms-qchecks-wide{margin-left:4rem;max-width:28rem}

/* benefit tiles: optional light disc behind the icon */
.ms-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem 1.3rem;list-style:none;margin:0;padding:0}
.ms-tiles li{display:flex;align-items:center;gap:1.15rem;min-height:5rem;padding:0.55rem 0.6rem 0.55rem 0.85rem;border:1px solid var(--border);border-radius:0.6rem;background:#fff;box-shadow:var(--shadow);font-size:0.85rem;line-height:1.42;font-weight:600;color:var(--navy)}
.ms-tic{flex:0 0 auto;width:3.5rem;height:3.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}
.ms-tic-bg{background:#F1F1F8}
.ms-tic img{width:2.3rem;height:2.3rem}

/* compact CTA band */
.ms-cta-mc{padding:1.45rem 1.5rem 1.45rem 1.8rem;margin-top:1.1rem}
.ms-cta-mc .ms-cta-txt h2{font-size:1.44rem;margin-bottom:0.5rem}
.ms-cta-mc .ms-cta-txt p{font-size:0.86rem;max-width:none}
.ms-cta-mc .ms-cta-btns{gap:0.95rem}
.ms-cta-mc .ms-cta-btns .btn{min-width:12.4rem;min-height:3.1rem;font-size:0.7rem;justify-content:center;padding:0.6rem 1.2rem}
.ms-cta-mc .ms-cta-btns .ms-btn-line{min-width:13.8rem}
.ms-cta-mc .ms-btn-line{padding-right:1.6rem}

@media (max-width:1023px){
  .ms-hero-ph{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .ms-hero-ph .ms-hero-txt{padding-left:0}
  .ms-hero-ph .ms-intro p{font-size:0.92rem}
  .ms-hero-ph .ms-btns .btn{font-size:0.88rem}
  .ms-list-lg li{font-size:0.86rem;min-height:3.4rem}
  .ms-qcards{grid-template-columns:minmax(0,1fr)}
  .ms-qbody p{font-size:0.9rem;max-width:none}
  .ms-qchecks li{font-size:0.88rem}
  .ms-qchecks-in,.ms-qchecks-out,.ms-qchecks-wide{max-width:none}
  .ms-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-tiles li{font-size:0.95rem}
  .ms-cta-mc .ms-cta-txt h2{font-size:1.4rem}
  .ms-cta-mc .ms-cta-btns .btn{font-size:0.88rem}
}
@media (max-width:600px){
  .ms-hero-ph .ms-h1{font-size:2.6rem}
  .ms-list-lg li{font-size:0.92rem;min-height:3.2rem}
  .ms-qcard{grid-template-columns:3.9rem minmax(0,1fr);padding:0.9rem 1rem 1.1rem 0.8rem}
  .ms-qic{width:3.9rem;height:3.9rem}
  .ms-qic img{width:2.2rem;height:2.2rem}
  .ms-qbody{padding-top:0.5rem}
  .ms-qchecks,.ms-qrows-3,.ms-qrows-4{grid-auto-flow:row;grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .ms-qchecks-in{margin-left:0}
  .ms-qchecks-out,.ms-qchecks-wide{margin:0.7rem 0 0 4.75rem}
  .ms-tiles{grid-template-columns:minmax(0,1fr)}
  .ms-tiles li{min-height:4.6rem}
  .ms-cta-mc{padding:1.5rem 1.2rem}
  .ms-cta-mc .ms-cta-btns .btn{width:100%;min-width:0}
}
@media (max-width:360px){
  .ms-hero-ph .ms-h1{font-size:2.3rem}
  .ms-qchecks-out,.ms-qchecks-wide{margin-left:0}
}

/* ------------------------------------------------------------
   SERVICE PAGES (ms-) additions, 2 Oct 2026, from his
   SERVICES/04-credentialing-provider-enrollment-services.jpg.
   Generic pieces later service pages can reuse: a photo hero with
   the navy panel laid over the photo's lower left, joined stat cells,
   a step row on a thin line, h2 with rules either side, a list with
   bigger icons, detail cards with an icon disc, upright benefit tiles,
   and a CTA band that opens with an icon disc. Only new class names
   are added here, so pages 1 to 3 render exactly as before.
   ------------------------------------------------------------ */
.ms-hero-ov-sec{padding:0.5rem 0 1rem}
.ms-hero-ov{grid-template-columns:minmax(0,1fr) 45.6%;gap:2.4%;align-items:start}
.ms-hero-ov .ms-hero-txt{padding-top:3.4rem}
.ms-hero-ov .ms-h1{font-size:3.22rem;line-height:1.1;margin-bottom:0.55rem}
.ms-hero-ov .ms-sub{font-size:1.17rem;letter-spacing:-.015em;line-height:1.3;margin-bottom:0.85rem}
.ms-hero-ov .ms-intro p{font-size:0.88rem;line-height:1.6;margin-bottom:0.8rem}
.ms-hero-ov .ms-btns{margin-top:1.75rem;gap:1.2rem}
.ms-hero-ov .ms-btns .btn{font-size:0.86rem;min-height:3.85rem;padding:0.6rem 1.5rem 0.6rem 1.6rem;gap:0.8rem}
.ms-hero-ov .ms-btns .btn-green{min-width:15.6rem}
.ms-hero-ov .ms-bi{width:1.35rem;height:1.35rem}

/* photo with the panel laid over its lower left corner */
.ms-ov{position:relative;margin:0}
.ms-ov-img{display:block;width:100%;height:auto}
.ms-ov-panel{width:71.8%;margin:-39.7% 0 0 0.2%;padding:1.2rem 0.65rem 0.75rem;border-radius:0.6rem}
/* the panel must always reach the photo's bottom edge: 39.4% of the photo width, in vw */
.ms-ov-panel{min-height:17.5vw;display:flex;flex-direction:column;justify-content:center}
.ms-ov-panel::before{display:none}
.ms-ov-panel .ms-panel-h{font-size:0.98rem;line-height:1.5;max-width:15.5rem;margin:0 0 0.65rem 0.55rem}
.ms-stats-j{gap:0;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:0.4rem}
.ms-stats-j .ms-stat{background:none;border:0;border-left:1px solid rgba(255,255,255,.14);border-radius:0;padding:0.5rem 0.45rem 0.6rem 0.8rem}
.ms-stats-j .ms-stat:first-child{border-left:0}
.ms-stats-j .ms-stat b{font-size:1.45rem;margin-bottom:0.3rem}
.ms-stats-j .ms-stat span{font-size:0.6rem;line-height:1.45;letter-spacing:-.01em}
.ms-steps-ln{position:relative;margin-top:0.85rem;padding:0 2.35rem 0 2.6rem}
.ms-steps-ln::before{content:"";position:absolute;left:0.1rem;right:0.1rem;top:0.9rem;height:1px;background:rgba(255,255,255,.28)}
.ms-steps-ln li{position:relative;gap:0.4rem}
.ms-steps-ln i{width:1.8rem;height:1.8rem;font-size:0.8rem}
.ms-steps-ln span{font-size:0.76rem}
.ms-steps-ln .ms-arr{padding-top:0.5rem}

/* h2 with a green rule either side */
.ms-h2.ms-h2-side{display:flex;align-items:center;justify-content:center;gap:2.6rem;font-size:1.72rem;margin:1.35rem 0 1.15rem}
.ms-h2.ms-h2-side::before,.ms-h2.ms-h2-side::after{content:"";display:block;flex:0 0 6.3rem;width:auto;height:2px;margin:0;border-radius:2px;background:#1F9A55}

/* service list with bigger icons */
.ms-list-xl{gap:0.62rem 0.95rem}
.ms-list-xl li{min-height:3.95rem;gap:0.9rem;padding:0.45rem 0.8rem 0.45rem 1.05rem;font-size:0.73rem;border-radius:0.5rem}
.ms-list-xl li img{width:1.85rem;height:1.85rem}

/* detail cards with an icon disc */
.ms-sec-cr{padding:0.4rem 0 0}
.ms-dcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.85rem;margin-top:1.6rem}
.ms-dcard{border:1px solid var(--border);border-radius:0.75rem;background:#fff;box-shadow:var(--shadow);padding:1.05rem 0.8rem 1.4rem 1.05rem;min-height:16.75rem}
.ms-dcard-h{display:flex;align-items:center;gap:0.8rem;margin-bottom:1.35rem}
.ms-disc{flex:0 0 auto;width:3.95rem;height:3.95rem;border-radius:50%;background:#EEEEF8;display:flex;align-items:center;justify-content:center}
.ms-disc-g{background:#E6F4EC}
.ms-disc img{width:2.5rem;height:2.5rem}
.ms-dcard-h h3{font-size:0.84rem;line-height:1.4;color:var(--navy);font-weight:700}
.ms-dcard>p{font-size:0.77rem;line-height:1.75;color:var(--text);margin:0}
.ms-dots-lg{padding-left:1.75rem}
.ms-dots-lg li{font-size:0.79rem;line-height:1.35;margin-bottom:0.75rem;color:#33364A}
.ms-dots-tight{padding-left:1.45rem;margin-top:-0.3rem}
.ms-dots-tight li{margin-bottom:0.33rem}

/* upright benefit tiles: icon above, text centred below */
.ms-vtiles{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1.4rem;list-style:none;margin:0;padding:0}
.ms-vtiles li{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1.05rem;min-height:10.1rem;padding:1.15rem 0.4rem 1rem;border:1px solid var(--border);border-radius:0.6rem;background:#fff;box-shadow:var(--shadow);text-align:center;font-size:0.78rem;line-height:1.45;font-weight:600;color:var(--navy)}
.ms-vtiles li img{width:3.45rem;height:3.45rem;flex:0 0 auto}
.ms-vtiles li span{flex:1 1 auto;display:flex;align-items:center}

/* CTA band that opens with an icon disc */
.ms-cta-ic{justify-content:flex-start;gap:1.5rem;padding:1.35rem 2.3rem 1.35rem 2.3rem;margin-top:1.55rem;border-radius:0.85rem}
.ms-cta-disc{flex:0 0 auto;width:4.6rem;height:4.6rem;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}
.ms-cta-disc img{width:2.6rem;height:2.6rem}
.ms-cta-ic .ms-cta-txt{flex:1 1 auto;min-width:0}
.ms-cta-ic .ms-cta-txt h2{font-size:1.64rem;margin-bottom:0.3rem}
.ms-cta-ic .ms-cta-txt p{font-size:0.76rem;max-width:none}
.ms-cta-ic .ms-cta-btns{gap:0.85rem}
.ms-cta-ic .ms-cta-btns .btn{min-width:14.4rem;min-height:3.5rem;font-size:0.84rem;padding:0.6rem 1.3rem;gap:0.75rem}
.ms-cta-ic .ms-btn-line{padding-right:1.3rem}

@media (max-width:1279px) and (min-width:1024px){
  .ms-vtiles{gap:0.8rem}
  .ms-vtiles li{font-size:0.74rem}
  .ms-cta-ic .ms-cta-btns .btn{min-width:12rem}
}
@media (max-width:1023px){
  .ms-hero-ov{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .ms-hero-ov .ms-hero-txt{padding-top:1.4rem}
  .ms-hero-ov .ms-intro p{font-size:0.92rem}
  .ms-hero-ov .ms-btns .btn{font-size:0.88rem}
  .ms-ov-panel{width:auto;margin:-39.7% 0 0;padding:1.5rem 1.2rem 1.4rem;min-height:37.5vw}
  .ms-ov-panel .ms-panel-h{font-size:1.2rem;max-width:22rem}
  .ms-stats-j .ms-stat span{font-size:0.8rem}
  .ms-steps-ln{padding:0 1.5rem}
  .ms-steps-ln span{font-size:0.85rem}
  .ms-h2.ms-h2-side{font-size:1.55rem;gap:1.2rem}
  .ms-h2.ms-h2-side::before,.ms-h2.ms-h2-side::after{flex-basis:2.6rem}
  .ms-list-xl li{font-size:0.86rem}
  .ms-dcards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-dcard{min-height:0}
  .ms-dcard-h h3{font-size:1.05rem}
  .ms-dcard>p,.ms-dots-lg li{font-size:0.9rem}
  .ms-vtiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:0.9rem}
  .ms-vtiles li{font-size:0.9rem}
  .ms-cta-ic{flex-direction:row;flex-wrap:wrap;align-items:center;padding:1.5rem 1.4rem}
  .ms-cta-ic .ms-cta-txt{flex:1 1 18rem}
  .ms-cta-ic .ms-cta-txt h2{font-size:1.45rem}
  .ms-cta-ic .ms-cta-txt p{font-size:0.88rem}
  .ms-cta-ic .ms-cta-btns{flex:1 1 100%}
  .ms-cta-ic .ms-cta-btns .btn{font-size:0.88rem}
}
@media (max-width:600px){
  .ms-hero-ov .ms-h1{font-size:2.35rem}
  .ms-hero-ov .ms-sub{font-size:1.2rem}
  .ms-hero-ov .ms-btns .btn-green{min-width:0}
  .ms-ov-panel{padding:1.3rem 0.9rem 1.3rem}
  .ms-ov-panel .ms-panel-h{margin-left:0.2rem}
  .ms-stats-j .ms-stat{padding:0.65rem 0.5rem 0.75rem}
  .ms-stats-j .ms-stat b{font-size:1.15rem}
  .ms-stats-j .ms-stat span{font-size:0.75rem}
  .ms-steps-ln{padding:0}
  .ms-steps-ln span{font-size:0.8rem}
  .ms-h2.ms-h2-side{font-size:1.4rem;gap:0.8rem}
  .ms-h2.ms-h2-side::before,.ms-h2.ms-h2-side::after{flex-basis:1.4rem}
  .ms-list-xl li{font-size:0.92rem;min-height:3.4rem}
  .ms-list-xl li img{width:1.8rem;height:1.8rem}
  .ms-dcards{grid-template-columns:minmax(0,1fr)}
  .ms-vtiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-vtiles li{min-height:9.2rem}
  .ms-cta-ic{flex-direction:column;align-items:flex-start}
  .ms-cta-ic .ms-cta-txt{flex:0 0 auto}
  .ms-cta-ic .ms-cta-btns{flex:0 0 auto}
  .ms-cta-ic .ms-cta-btns .btn{width:100%;min-width:0}
}
@media (max-width:360px){
  .ms-hero-ov .ms-h1{font-size:2.05rem}
  .ms-stats-j .ms-stat b{font-size:1rem}
  .ms-stats-j .ms-stat span{font-size:0.7rem}
}

/* ------------------------------------------------------------
   SERVICE PAGES (ms-) additions, 2 Oct 2026, from his
   SERVICES/05-denial-appeals-ar-recovery-services.jpg.
   Generic pieces later service pages can reuse: an illustration
   hero (his artwork as an image, no frame), a bigger plain h2, a
   five across service list, two column detail cards with a large
   icon disc where one card can span two rows, a two column bullet
   list, tight upright benefit tiles, and a CTA band with roomy
   buttons. Only new class names are added here, so pages 1 to 4
   render exactly as before.
   ------------------------------------------------------------ */
.ms-hero-il-sec{padding:1.6rem 0 0.6rem}
.ms-hero-il{grid-template-columns:minmax(0,1fr) 52%;gap:1%;align-items:center}
.ms-hero-il .ms-h1{font-size:2.85rem;line-height:1.14;margin-bottom:0.8rem}
.ms-hero-il .ms-sub{font-size:1.08rem;line-height:1.35;letter-spacing:-.015em;margin-bottom:0.9rem}
.ms-hero-il .ms-intro p{font-size:0.83rem;line-height:1.64;margin-bottom:1rem;max-width:34rem}
.ms-hero-il .ms-btns{margin-top:1.5rem;gap:1.4rem}
.ms-hero-il .ms-btns .btn{font-size:0.8rem;min-height:3.2rem;padding:0.55rem 1.4rem;gap:0.75rem}
.ms-hero-il .ms-btns .btn-green{min-width:14.2rem}
.ms-hero-il .ms-btns .btn-navy{min-width:13.5rem}
.ms-hero-il .ms-bi{width:1.25rem;height:1.25rem}
.ms-illo{margin:0 -4% 0 0}
.ms-illo img{display:block;width:100%;height:auto}

.ms-sec-dr{padding:0.4rem 0 0}
.ms-h2.ms-h2-big{font-size:1.57rem;margin:1rem 0 0.85rem}

/* five across service list */
.ms-list-5{grid-template-columns:minmax(0,1.01fr) minmax(0,1.06fr) minmax(0,.94fr) minmax(0,1.04fr) minmax(0,.95fr);gap:0.25rem}
.ms-list-5 li{min-height:4.05rem;gap:0.85rem;padding:0.4rem 0.3rem 0.4rem 0.95rem;font-size:0.73rem;border-radius:0.45rem}
.ms-list-5 .ms-li-fit{letter-spacing:-.02em;white-space:nowrap}
.ms-list-5 li img{width:1.5rem;height:1.5rem}

/* two column detail cards, large icon disc, one card may span two rows */
.ms-mcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.45rem 0.95rem;margin-top:0.8rem}
.ms-mcard{display:grid;grid-template-columns:4.9rem minmax(0,1fr);column-gap:1.4rem;align-items:start;border:1px solid var(--border);border-radius:0.6rem;background:#fff;box-shadow:var(--shadow);padding:0.95rem 1.8rem 1.2rem 1.2rem}
.ms-mcard-tall{grid-column:1;grid-row:2/span 2}
.ms-mdisc{width:4.9rem;height:4.9rem;border-radius:50%;background:linear-gradient(135deg,#F1F3F6 0%,#EEF4F1 100%);display:flex;align-items:center;justify-content:center}
.ms-mdisc img{width:2.9rem;height:2.9rem}
.ms-mbody{min-width:0;padding-top:0.15rem}
.ms-mbody h3{font-size:1.15rem;line-height:1.3;color:var(--navy);margin:0 0 0.2rem}
.ms-mbody p{font-size:0.75rem;line-height:1.62;color:var(--text);margin:0}
.ms-mdots{margin:0.7rem 0 0;padding:0 0 0 1.05rem;list-style:disc}
.ms-mdots li{font-size:0.8rem;line-height:1.35;color:var(--text);margin-bottom:0.3rem;padding-left:0.25rem}
.ms-mdots li::marker{color:var(--navy);font-size:0.85em}
.ms-mnote{margin-top:1.6rem !important}
.ms-mdots-2{display:grid;grid-template-columns:11rem minmax(0,1fr);align-items:start}
.ms-mdots-2 .ms-mdots{margin-top:0.55rem}

/* tight upright benefit tiles (pairs with .ms-vtiles) */
.ms-vtiles.ms-vtiles-tight{gap:0.2rem}
.ms-vtiles.ms-vtiles-tight{grid-template-columns:minmax(0,.97fr) minmax(0,.99fr) minmax(0,1.04fr) minmax(0,1.01fr) minmax(0,1.01fr) minmax(0,1.01fr) minmax(0,1.12fr) minmax(0,1.03fr)}
.ms-vtiles-tight li{min-height:8.25rem;gap:0.65rem;padding:0.95rem 0.2rem 0.8rem;font-size:0.76rem;line-height:1.4}
.ms-vtiles-tight li span{align-items:flex-start}
.ms-vtiles-tight li img{width:3.3rem;height:3.3rem}

/* CTA band with roomy buttons */
.ms-cta-dr{padding:1.3rem 2.2rem 1.3rem 2.25rem;margin-top:1.3rem;border-radius:0.75rem}
.ms-cta-dr .ms-cta-txt h2{font-size:1.5rem;margin-bottom:0.3rem}
.ms-cta-dr .ms-cta-txt p{font-size:0.92rem;line-height:1.6;max-width:32rem}
.ms-cta-dr .ms-cta-btns{gap:1.1rem}
.ms-cta-dr .ms-cta-btns .btn{min-width:13.4rem;min-height:3.25rem;font-size:0.8rem;padding:0.55rem 0.85rem;gap:0.75rem;justify-content:center}
.ms-cta-dr .ms-btn-line{padding-right:1.2rem}

@media (max-width:1279px) and (min-width:1024px){
  .ms-list-5 li{font-size:0.66rem;gap:0.7rem;padding-left:0.8rem}
  .ms-cta-dr .ms-cta-btns .btn{min-width:11.5rem}
}
@media (max-width:1023px){
  .ms-hero-il{grid-template-columns:minmax(0,1fr);gap:1.4rem}
  .ms-hero-il .ms-intro p{font-size:0.92rem;max-width:none}
  .ms-hero-il .ms-btns .btn{font-size:0.88rem}
  .ms-illo{margin:0 auto;max-width:40rem}
  .ms-h2.ms-h2-big{font-size:1.55rem}
  .ms-list-5{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.45rem}
  .ms-list-5 li{font-size:0.86rem;min-height:3.4rem}
  .ms-mcards{grid-template-columns:minmax(0,1fr)}
  .ms-mcard-tall{grid-column:auto;grid-row:auto}
  .ms-mbody h3{font-size:1.15rem}
  .ms-mbody p,.ms-mdots li{font-size:0.9rem}
  .ms-vtiles.ms-vtiles-tight{grid-template-columns:repeat(4,minmax(0,1fr));gap:0.6rem}
  .ms-vtiles-tight li{font-size:0.9rem}
  .ms-cta-dr{flex-direction:column;align-items:flex-start;padding:1.5rem 1.4rem}
  .ms-cta-dr .ms-cta-txt h2{font-size:1.45rem}
  .ms-cta-dr .ms-cta-txt p{font-size:0.9rem;max-width:none}
  .ms-cta-dr .ms-cta-btns .btn{font-size:0.88rem}
}
@media (max-width:600px){
  .ms-hero-il .ms-h1{font-size:2.35rem}
  .ms-hero-il .ms-sub{font-size:1.2rem}
  .ms-hero-il .ms-btns .btn-green,.ms-hero-il .ms-btns .btn-navy{min-width:0}
  .ms-illo{margin:0}
  .ms-h2.ms-h2-big{font-size:1.4rem}
  .ms-list-5{grid-template-columns:minmax(0,1fr)}
  .ms-list-5 li{font-size:0.92rem}
  .ms-mcard{grid-template-columns:3.9rem minmax(0,1fr);column-gap:0.9rem;padding:1rem 1rem 1.2rem 0.9rem}
  .ms-mdisc{width:3.9rem;height:3.9rem}
  .ms-mdisc img{width:2.3rem;height:2.3rem}
  .ms-mdots-2{grid-template-columns:minmax(0,1fr)}
  .ms-mdots-2 .ms-mdots+.ms-mdots{margin-top:0}
  .ms-vtiles.ms-vtiles-tight{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-vtiles-tight li{min-height:8.6rem}
  .ms-cta-dr .ms-cta-btns .btn{width:100%;min-width:0}
}
@media (max-width:360px){
  .ms-hero-il .ms-h1{font-size:2.05rem}
}

/* ------------------------------------------------------------
   SERVICE PAGES (ms-) additions, 2 Oct 2026, from his
   SERVICES/06-eligibility-benefits-prior-authorization-services.jpg.
   Generic pieces later service pages can reuse: check lists with
   his ringed green tick (one or two columns) inside the .ms-mcard
   cards, a five step flow of ringed icon circles joined by green
   arrows, three line benefit tiles, and a CTA band variant.
   Only new class names are added here, so pages 1 to 5 render
   exactly as before.
   ------------------------------------------------------------ */
.ms-mcards-ck{gap:0.95rem 1.05rem;margin-top:0}
.ms-mcards-ck .ms-mcard{grid-template-columns:5.3rem minmax(0,1fr);column-gap:1.6rem;padding:1.05rem 0.5rem 1.4rem 1.15rem}
.ms-mcards-ck .ms-mdisc{width:5.3rem;height:5.3rem;background:linear-gradient(135deg,#F0F1F8 0%,#F4F5FA 100%)}
.ms-mcards-ck .ms-mdisc img{width:3.1rem;height:3.1rem}
.ms-mcards-ck .ms-mbody{padding-top:0.85rem}
.ms-mcards-ck .ms-mbody h3{margin-bottom:0.75rem}
.ms-ck2{display:grid;grid-template-columns:12.3rem minmax(0,1fr);column-gap:0;align-items:start}
.ms-ck2-w{grid-template-columns:14.9rem minmax(0,1fr)}
.ms-ck-lg li{font-size:0.76rem;margin-bottom:0.7rem}
.ms-ck{list-style:none;margin:0;padding:0}
.ms-ck li{position:relative;padding:0 0.3rem 0 1.5rem;margin:0 0 0.62rem;font-size:0.68rem;line-height:1.55;color:var(--text)}
.ms-ck li::before{content:"";position:absolute;left:0;top:0.08rem;width:0.95rem;height:0.95rem;background:url(img/services/svg/ev-check-circle.svg) center/contain no-repeat}

/* five step flow: ringed circles joined by green arrows */
.ms-flow{list-style:none;margin:0.2rem auto 0;padding:0;display:flex;align-items:flex-start;justify-content:center;gap:0}
.ms-flow>li{display:flex;flex-direction:column;align-items:center;gap:0.6rem;flex:0 0 auto;width:7.6rem}
.ms-flow b{font-size:0.95rem;line-height:1.3;font-weight:600;color:var(--navy);text-align:center}
.ms-flow-c{width:5.3rem;height:5.3rem;border-radius:50%;border:1px dashed #CACDDC;background:radial-gradient(circle,#fff 45%,#F1F2F9 100%);display:flex;align-items:center;justify-content:center}
.ms-flow-c img{width:3rem;height:3rem}
.ms-flow>li.ms-flow-arr{width:4.2rem;padding-top:2.3rem}
.ms-flow-arr svg{width:2.9rem;height:0.9rem;fill:none;stroke:var(--green);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* three line benefit tiles */
.ms-vtiles.ms-vtiles-3l{gap:0.5rem;grid-template-columns:repeat(8,minmax(0,1fr))}
.ms-vtiles-3l li{min-height:9.8rem;padding:1.4rem 0.15rem 0.9rem;gap:0.95rem;font-size:0.72rem;line-height:1.75}
.ms-vtiles-3l li img{width:3.1rem;height:3.1rem}

/* CTA band variant */
.ms-cta-ev .ms-cta-txt h2{font-size:1.45rem;margin-bottom:0.35rem}
.ms-cta-ev .ms-cta-txt p{font-size:0.86rem;max-width:none}
.ms-cta-ev .ms-cta-btns{gap:0.95rem}
.ms-cta-ev .ms-cta-btns .btn{min-height:3.5rem;font-size:0.84rem}
.ms-cta-ev .ms-cta-btns .btn-green{min-width:14.6rem}
.ms-cta-ev .ms-cta-btns .ms-btn-line{min-width:16.9rem}

@media (max-width:1279px) and (min-width:1024px){
  .ms-ck li{font-size:0.64rem}
  .ms-vtiles-3l li{font-size:0.66rem}
  .ms-cta-ev .ms-cta-btns .btn-green{min-width:12rem}
  .ms-cta-ev .ms-cta-btns .ms-btn-line{min-width:13rem}
}
@media (max-width:1023px){
  .ms-mcards-ck{grid-template-columns:minmax(0,1fr)}
  .ms-ck li,.ms-ck-lg li{font-size:0.88rem}
  .ms-ck li::before{width:1.05rem;height:1.05rem;top:0.12rem}
  .ms-flow>li{width:6.4rem}
  .ms-flow>li.ms-flow-arr{width:3rem}
  .ms-flow-arr svg{width:2.2rem}
  .ms-ck2,.ms-ck2-w{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:0.6rem}
  .ms-flow b{font-size:0.95rem}
  .ms-vtiles.ms-vtiles-3l{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ms-vtiles-3l li{font-size:0.88rem}
  .ms-cta-ev .ms-cta-txt p{font-size:0.9rem}
  .ms-cta-ev .ms-cta-btns .btn{font-size:0.88rem}
}
@media (max-width:767px){
  .ms-flow{flex-direction:column;align-items:center}
  .ms-flow>li{width:auto}
  .ms-flow>li.ms-flow-arr{width:auto;padding:0}
  .ms-flow-arr svg{transform:rotate(90deg);width:2rem}
}
@media (max-width:600px){
  .ms-mcards-ck .ms-mcard{grid-template-columns:3.9rem minmax(0,1fr);column-gap:0.9rem;padding:1rem 1rem 1.2rem 0.9rem}
  .ms-mcards-ck .ms-mdisc{width:3.9rem;height:3.9rem}
  .ms-mcards-ck .ms-mdisc img{width:2.3rem;height:2.3rem}
  .ms-mcards-ck .ms-mbody{padding-top:0.4rem}
  .ms-ck2,.ms-ck2-w{grid-template-columns:minmax(0,1fr)}
  .ms-vtiles.ms-vtiles-3l{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-vtiles-3l li{min-height:9rem;padding:1.1rem 0.4rem 0.9rem}
  .ms-cta-ev .ms-cta-btns .btn-green,.ms-cta-ev .ms-cta-btns .ms-btn-line{min-width:0}
}

/* ------------------------------------------------------------
   SERVICE PAGES (ms-) additions, 2 Oct 2026, from his
   SERVICES/07-patient-billing-services.jpg.
   Generic pieces later service pages can reuse: a larger two line
   illustration hero, a soft background run below the hero, numbered
   service tiles (five across), ringed icon discs for .ms-mcard, green
   bullet dots, seven benefit columns split by thin rules, and a CTA
   band whose icon disc is an outline ring. Only new class names are
   added here, so pages 1 to 6 render exactly as before.
   ------------------------------------------------------------ */
.ms-hero-pb-sec{padding:1.3rem 0 1.6rem}
.ms-hero-pb .ms-h1{font-size:3.45rem;line-height:1.1;margin-bottom:0.75rem}
.ms-hero-pb .ms-sub{font-size:1.4rem;margin-bottom:1.1rem}
.ms-hero-pb .ms-intro p{font-size:0.875rem;line-height:1.8;margin-bottom:0.75rem;max-width:30rem}
.ms-hero-pb .ms-btns{margin-top:1.55rem;gap:1.15rem}
.ms-hero-pb .ms-btns .btn{min-height:2.75rem;font-size:0.8rem;padding:0.5rem 0.85rem}
.ms-hero-pb .ms-btns .btn-navy{min-width:13.3rem;padding-left:1rem}
.ms-soft{background:var(--bg-soft);border-top:1px solid var(--border-soft)}
.ms-soft .ms-sec{background:transparent}
.ms-sec-pb{padding:0.6rem 0 0}

/* numbered service tiles */
.ms-ntiles{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,.96fr) minmax(0,1.04fr) minmax(0,1fr);gap:1rem 0.8rem;list-style:none;margin:0;padding:0}
.ms-ntiles>li{display:flex;align-items:center;gap:1.1rem;min-height:5.65rem;padding:0.5rem 0.15rem 0.5rem 1.2rem;border:1px solid var(--border);border-radius:0.6rem;background:#fff;box-shadow:var(--shadow)}
.ms-ntiles>li>img{width:2.1rem;height:2.1rem;flex:0 0 auto}
.ms-ntiles>li>span{display:flex;gap:0.3rem;font-size:0.73rem;letter-spacing:-.01em;line-height:1.6;font-weight:600;color:var(--navy)}
.ms-ntiles i{font-style:normal;flex:0 0 auto}
@media (min-width:1024px){.ms-ntiles>li>span>span{white-space:nowrap}}

/* ringed discs and green dots for .ms-mcard */
.ms-mcards-pb{gap:1.2rem 1.6rem;margin-top:0.8rem}
.ms-mcards-pb .ms-mcard{grid-template-columns:5.2rem minmax(0,1fr);column-gap:2.3rem;padding:1.2rem 4.2rem 1.3rem 1.3rem}
.ms-mdisc-g,.ms-mdisc-n{width:5.2rem;height:5.2rem;border:2px solid #4BAE74;background:linear-gradient(135deg,#F3FAF5 0%,#E8F4EC 100%)}
.ms-mdisc-n{border-color:#A7A0D8;background:linear-gradient(135deg,#F6F5FC 0%,#EEEDF8 100%)}
.ms-mdisc-g img,.ms-mdisc-n img{width:3rem;height:3rem}
.ms-mcards-pb .ms-mbody{padding-top:0.05rem}
.ms-mcards-pb .ms-mbody h3{font-size:1.05rem;margin-bottom:0.25rem}
.ms-mcards-pb .ms-mbody p{font-size:0.76rem;line-height:1.66}
.ms-mdots-g{margin-top:0.55rem;padding-left:1rem}
.ms-mdots-g li{font-size:0.78rem;margin-bottom:0.62rem;padding-left:0.55rem}
.ms-mdots-g li::marker{color:var(--green);font-size:1em}

/* seven benefit columns split by thin rules */
.ms-cols7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));list-style:none;margin:0.2rem 0 0;padding:0}
.ms-cols7 li{display:flex;flex-direction:column;align-items:center;gap:1.3rem;padding:0.3rem 0.4rem 0.2rem;border-left:1px solid var(--border);text-align:center;font-size:0.76rem;line-height:1.6;font-weight:500;color:var(--navy)}
.ms-cols7 li:first-child{border-left:0}
.ms-cols7 li img{width:3.3rem;height:3.3rem}

/* CTA band whose icon disc is an outline ring */
.ms-cta-pb{margin-top:2.2rem;padding:1.4rem 1.85rem 1.4rem 2.2rem;gap:1.9rem}
.ms-cta-pb .ms-cta-disc{width:4.7rem;height:4.7rem;background:transparent;border:1.5px solid rgba(255,255,255,.75)}
.ms-cta-pb .ms-cta-disc img{width:2.6rem;height:2.6rem}
.ms-cta-pb .ms-cta-txt h2{font-size:1.42rem;margin-bottom:0.25rem}
.ms-cta-pb .ms-cta-txt p{font-size:0.84rem;line-height:1.65}
.ms-cta-pb .ms-cta-btns{gap:1.15rem}
.ms-cta-pb .ms-cta-btns .btn{min-width:14.5rem;min-height:3rem;font-size:0.84rem}
.ms-cta-pb .ms-cta-btns .ms-btn-line{min-width:13.9rem}

@media (max-width:1279px) and (min-width:1024px){
  .ms-ntiles>li{padding-left:1rem;gap:0.9rem}
  .ms-ntiles>li>span{font-size:0.7rem}
  .ms-cols7 li{font-size:0.7rem}
  .ms-cta-pb .ms-cta-btns .btn,.ms-cta-pb .ms-cta-btns .ms-btn-line{min-width:11rem}
}
@media (max-width:1023px){
  .ms-hero-pb .ms-intro p{font-size:0.92rem;line-height:1.75}
  .ms-hero-pb .ms-btns .btn{font-size:0.88rem}
  .ms-ntiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.6rem}
  .ms-ntiles>li{padding-left:1rem;gap:1rem;min-height:4.4rem}
  .ms-ntiles>li>span{font-size:0.88rem;line-height:1.45}
  .ms-mcards-pb{grid-template-columns:minmax(0,1fr)}
  .ms-mcards-pb .ms-mcard{padding-right:1.6rem}
  .ms-hero-pb .ms-sub{font-size:1.25rem}
  .ms-hero-pb .ms-intro p{max-width:none}
  .ms-mcards-pb .ms-mbody p,.ms-mdots-g li{font-size:0.9rem}
  .ms-cols7{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:1.4rem}
  .ms-cols7 li{font-size:0.88rem}
  .ms-cols7 li:nth-child(5){border-left:0}
  .ms-cta-pb .ms-cta-txt p{font-size:0.9rem}
  .ms-cta-pb .ms-cta-btns .btn{font-size:0.88rem}
}
@media (max-width:600px){
  .ms-hero-pb .ms-h1{font-size:2.6rem}
  .ms-hero-pb .ms-sub{font-size:1.2rem}
  .ms-hero-pb .ms-btns .btn,.ms-hero-pb .ms-btns .btn-navy{min-width:0;padding:0.85rem 1rem}
  .ms-ntiles{grid-template-columns:minmax(0,1fr)}
  .ms-mcards-pb .ms-mcard{grid-template-columns:3.9rem minmax(0,1fr);column-gap:0.9rem;padding:1rem 1rem 1.2rem 0.9rem}
  .ms-mdisc-g,.ms-mdisc-n{width:3.9rem;height:3.9rem}
  .ms-mdisc-g img,.ms-mdisc-n img{width:2.2rem;height:2.2rem}
  .ms-cols7{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-cols7 li:nth-child(5){border-left:1px solid var(--border)}
  .ms-cols7 li:nth-child(odd){border-left:0}
  .ms-cta-pb .ms-cta-btns .btn,.ms-cta-pb .ms-cta-btns .ms-btn-line{min-width:0}
}
@media (max-width:360px){
  .ms-hero-pb .ms-h1{font-size:2.3rem}
}

/* ------------------------------------------------------------
   SERVICE PAGES (ms-) additions, 2 Oct 2026, from his
   SERVICES/08-medical-billing-audit-revenue-optimization-services.jpg.
   Generic pieces later service pages can reuse: hero beside the
   page 1 navy panel with a chart in its corner, stacked hero
   buttons, steps joined by dashed lines, a four column list with
   icon tiles and row rules, numbered cards, a navy stats band, and
   a CTA band with stacked buttons. Only new class names are added
   here, so pages 1 to 7 render exactly as before.
   ------------------------------------------------------------ */
.ms-hero-au-sec{padding:1.6rem 0 0.8rem}
.ms-hero-au{grid-template-columns:minmax(0,46fr) minmax(0,46fr);gap:7%;align-items:start}
.ms-hero-au .ms-h1{font-size:2.45rem;line-height:1.12;margin:0.6rem 0 1rem}
.ms-hero-au .ms-sub{font-size:1.02rem;margin-bottom:0.8rem}
.ms-hero-au .ms-intro p{font-size:0.8rem;line-height:1.7;margin-bottom:0.6rem}
.ms-btns-stack{flex-direction:column;align-items:flex-start;gap:0.85rem}
.ms-hero-au .ms-btns{margin-top:1.1rem}
.ms-hero-au .ms-btns .btn{min-height:2.5rem;font-size:0.8rem;padding:0.5rem 1.2rem;gap:0.9rem}
.ms-hero-au .ms-btns .btn-navy{min-width:23rem}
.ms-hero-au .ms-btns .btn-green{min-width:17.5rem}
.ms-panel-au{padding:2rem 1.7rem 2.1rem;border-radius:1rem}
.ms-panel-au::before{width:22rem;height:22rem;right:-9rem;top:-6.5rem;border-width:2.6rem;border-color:rgba(255,255,255,.05)}
.ms-panel-au .ms-panel-ic{width:4.3rem;margin-bottom:0.6rem}
.ms-panel-au .ms-panel-h{font-size:1.1rem;max-width:17.5rem;margin-bottom:1.6rem}
.ms-panel-chart{position:absolute !important;right:2rem;top:2.3rem;width:13rem;height:auto;z-index:0 !important}
.ms-panel-au .ms-stats{gap:0.9rem}
.ms-panel-au .ms-stat{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);border-radius:0.6rem;padding:0.85rem 0.6rem 1rem 0.8rem}
.ms-panel-au .ms-stat b{font-size:1.75rem}
.ms-panel-au .ms-stat span{font-size:0.74rem}
.ms-steps-dash{margin-top:1.9rem;padding:0}
.ms-steps-dash li{gap:1.1rem}
.ms-steps-dash i{width:2.2rem;height:2.2rem;font-size:0.95rem}
.ms-steps-dash span{font-size:0.9rem}
.ms-steps-dash li.ms-arr{flex:1 1 auto;flex-direction:row;gap:0;padding:0.65rem 0.4rem 0 0.6rem;display:flex;align-items:center}
.ms-steps-dash .ms-arr::before{content:"";flex:1 1 auto;border-top:1px dashed rgba(255,255,255,.4);margin-right:-0.15rem}
.ms-panel-au .ms-steps li:not(.ms-arr){width:4.7rem}

/* four column list: icon tiles, row rules, column dividers */
.ms-areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ms-areas ul{list-style:none;margin:0;padding:0 1.3rem;border-left:1px solid var(--border)}
.ms-areas ul:first-child{border-left:0;padding-left:0.8rem}
.ms-areas li{display:flex;align-items:center;gap:1.1rem;min-height:3.3rem;border-bottom:1px solid var(--border);font-size:0.8rem;font-weight:500;color:#1B1F3B}
.ms-areas li:last-child{border-bottom:0}
.ms-sq{flex:0 0 auto;width:2.3rem;height:2.3rem;border-radius:0.45rem;background:#F2F3F9;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(11,36,114,.08)}
.ms-sq img{width:1.4rem;height:1.4rem}

/* numbered cards */
.ms-ncards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0.75rem;margin-top:0.4rem}
.ms-ncard{border:1px solid var(--border);border-radius:0.6rem;background:#fff;box-shadow:var(--shadow);padding:0.8rem 0.6rem 1rem 0.75rem}
.ms-ncard-top{display:flex;align-items:center;gap:1rem;margin-bottom:0.75rem}
.ms-ncard-top b{width:3rem;height:3rem;border-radius:0.45rem;background:#ECEBF8;color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}
.ms-ncard-top img{width:3.3rem;height:3.3rem}
.ms-ncard h3{font-size:1.02rem;line-height:1.3;color:var(--navy);margin:0 0 0.55rem 0.15rem}
.ms-ncard .ms-mdots{margin-top:0;padding-left:0.95rem}
.ms-ncard .ms-mdots li{font-size:0.74rem;line-height:1.5;margin-bottom:0.25rem;padding-left:0.15rem;color:#2B2E4A}
.ms-ncard .ms-mdots-sm li{font-size:0.7rem}

/* navy stats band */
.ms-statband{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:0.6rem;padding:1.1rem 1.2rem;border-radius:0.75rem;color:#fff;background:linear-gradient(90deg,#14287E 0%,#13237A 55%,#16206F 100%);box-shadow:0 0.4rem 1.2rem rgba(11,36,114,.16)}
.ms-statband>div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-left:1px solid rgba(255,255,255,.3);padding:0.2rem 0.4rem}
.ms-statband>div:first-child{border-left:0}
.ms-sb-top{display:flex;align-items:center;gap:0.85rem;margin-bottom:0.35rem}
.ms-sb-top img{width:2.6rem;height:2.6rem}
.ms-statband b{font-size:1.75rem;line-height:1.1;font-weight:600;color:#5BE38A}
.ms-sb-l{font-size:0.92rem;line-height:1.55;font-weight:500}
.ms-sb-map img{width:4rem;height:auto;margin-bottom:0.15rem}
.ms-sb-map b{font-size:1.4rem}
.ms-sb-s{font-size:0.8rem;line-height:1.4}

/* CTA band with stacked buttons */
.ms-cta-au{margin-top:0.6rem;padding:1.5rem 2.2rem 1.5rem 2.5rem;border-radius:0.75rem}
.ms-cta-au .ms-cta-txt h2{font-size:1.65rem;line-height:1.25;margin-bottom:0.3rem}
.ms-cta-au .ms-cta-txt p{font-size:0.86rem;line-height:1.75;max-width:none}
.ms-cta-au .ms-cta-btns{flex:0 0 auto;margin-right:5%}
.ms-cta-au .ms-cta-btns .btn{min-height:2.9rem;font-size:0.84rem;padding:0.5rem 1.1rem;gap:1rem}
.ms-cta-au .ms-cta-btns .btn-green{min-width:18.4rem}
.ms-cta-au .ms-cta-btns .ms-btn-line{min-width:22.6rem}

@media (max-width:1279px) and (min-width:1024px){
  .ms-areas li{font-size:0.68rem}
  .ms-ncard .ms-mdots li{font-size:0.63rem}
  .ms-cta-au .ms-cta-btns{margin-right:0}
}
@media (max-width:1023px){
  .ms-hero-au{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .ms-hero-au .ms-intro p{font-size:0.92rem}
  .ms-hero-au .ms-btns .btn{font-size:0.88rem}
  .ms-panel-au .ms-stat span{font-size:0.8rem}
  .ms-areas{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:0}
  .ms-areas ul:nth-child(3){border-left:0;padding-left:0.8rem}
  .ms-areas ul:nth-child(-n+2) li:last-child{border-bottom:1px solid var(--border)}
  .ms-areas li{font-size:0.88rem}
  .ms-ncards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-ncard h3{font-size:1.05rem}
  .ms-ncard .ms-mdots li,.ms-ncard .ms-mdots-sm li{font-size:0.86rem}
  .ms-statband{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1.2rem}
  .ms-statband>div:nth-child(4){border-left:0}
  .ms-sb-l{font-size:0.85rem}
  .ms-cta-au{flex-direction:column;align-items:flex-start}
  .ms-cta-au .ms-cta-txt p{font-size:0.9rem}
  .ms-cta-au .ms-cta-btns{margin-right:0}
  .ms-cta-au .ms-cta-btns .btn{font-size:0.88rem}
}
@media (max-width:600px){
  .ms-hero-au .ms-h1{font-size:2.1rem}
  .ms-hero-au .ms-sub{font-size:1.15rem}
  .ms-hero-au .ms-btns .btn-navy,.ms-hero-au .ms-btns .btn-green{min-width:0}
  .ms-btns-stack{align-items:stretch}
  .ms-panel-au{padding:1.5rem 1rem 1.8rem}
  .ms-panel-chart{width:8.5rem;right:1rem;top:1.5rem}
  .ms-panel-au .ms-panel-h{max-width:11rem;font-size:1rem}
  .ms-panel-au .ms-stats{gap:0.4rem}
  .ms-panel-au .ms-stat{padding:0.65rem 0.45rem 0.7rem}
  .ms-panel-au .ms-stat b{font-size:1.15rem}
  .ms-panel-au .ms-stat span{font-size:0.72rem}
  .ms-panel-au .ms-steps li:not(.ms-arr){width:auto}
  .ms-steps-dash span{font-size:0.75rem}
  .ms-steps-dash li.ms-arr{padding:0.65rem 0.1rem 0}
  .ms-steps-dash li.ms-arr::before{display:none}
  .ms-areas{grid-template-columns:minmax(0,1fr)}
  .ms-areas ul,.ms-areas ul:first-child,.ms-areas ul:nth-child(3){border-left:0;padding:0 0.4rem}
  .ms-areas ul li:last-child{border-bottom:1px solid var(--border)}
  .ms-areas ul:last-child li:last-child{border-bottom:0}
  .ms-ncards{grid-template-columns:minmax(0,1fr)}
  .ms-statband{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-statband>div:nth-child(4){border-left:1px solid rgba(255,255,255,.3)}
  .ms-statband>div:nth-child(odd){border-left:0}
  .ms-statband>div:last-child{grid-column:1/-1}
  .ms-sb-top{flex-direction:column;gap:0.3rem}
  .ms-cta-au{padding:1.5rem 1.2rem}
  .ms-cta-au .ms-cta-btns{width:100%}
  .ms-cta-au .ms-cta-btns .btn-green,.ms-cta-au .ms-cta-btns .ms-btn-line{min-width:0;width:100%;justify-content:center;text-align:center}
}
@media (max-width:360px){
  .ms-hero-au .ms-h1{font-size:1.85rem}
}

/* ------------------------------------------------------------
   SERVICE PAGES (ms-) additions, 2 Oct 2026, from his
   SERVICES/09-virtual-assistance-front-office-support-services.jpg.
   Generic pieces later service pages can reuse: a photo hero that
   bleeds toward the right edge, a four across service list with
   larger type, three detail cards in a row, a card beside a wide
   benefits panel, tight bullets, and a five step process strip with
   green numbers and dotted arrows. Only new class names are added
   here, so pages 1 to 8 render exactly as before.
   ------------------------------------------------------------ */
.ms-hero-va-sec{padding:1rem 0 0.4rem}
.ms-hero-va{grid-template-columns:minmax(0,44fr) minmax(0,56fr);gap:0}
.ms-hero-va .ms-h1{font-size:2.9rem;line-height:1.08;margin-bottom:0.85rem}
.ms-hero-va .ms-sub{font-size:1.18rem;line-height:1.35;margin-bottom:0.9rem}
.ms-hero-va .ms-intro p{font-size:0.83rem;line-height:1.78;margin-bottom:0.55rem;max-width:32rem}
.ms-hero-va .ms-btns{gap:1.3rem;flex-wrap:nowrap}
.ms-hero-va .ms-btns .btn{font-size:0.74rem;padding:0.55rem 1rem;min-height:2.6rem;white-space:nowrap}
.ms-hero-va .ms-btns .btn-green{min-width:0}
.ms-hero-va .ms-btns .btn-navy{min-width:0}
.ms-illo-va{margin:0 -4.5% 0 0}
.ms-hero-va .ms-hero-txt{padding-right:1rem}
@media (min-width:1024px){.ms-va-bl li span{white-space:nowrap}}

.ms-list-va{gap:0.4rem 0.45rem}
.ms-list-va li{min-height:3.55rem;gap:1.15rem;padding:0.4rem 0.4rem 0.4rem 1.2rem;font-size:0.72rem;border-radius:0.45rem}
.ms-list-va li img{width:1.55rem;height:1.55rem}
.ms-list-va .ms-li-fit{white-space:nowrap;letter-spacing:-.01em}

.ms-mcards-va3{grid-template-columns:repeat(3,minmax(0,1fr));gap:0.85rem;margin-top:0.6rem}
.ms-mcards-va3 .ms-mcard,.ms-va-row .ms-mcard{grid-template-columns:4.6rem minmax(0,1fr);column-gap:1.6rem;padding:1.2rem 1rem 1.3rem 1.2rem}
.ms-mcards-va3 .ms-mdisc,.ms-va-row .ms-mdisc,.ms-va-ben .ms-mdisc{width:4.6rem;height:4.6rem;background:#F1F1F8}
.ms-mcards-va3 .ms-mdisc img,.ms-va-row .ms-mdisc img{width:2.9rem;height:2.9rem}
.ms-mcards-va3 .ms-mbody h3,.ms-va-row .ms-mbody h3{font-size:1.02rem;line-height:1.35;margin-bottom:0.45rem}
.ms-mcards-va3 .ms-mbody p{font-size:0.78rem;line-height:1.72}
.ms-mdots-tight li{margin-bottom:0.15rem}
.ms-mcards-va3 .ms-mdots-g li,.ms-va-row .ms-mdots-g li{font-size:0.74rem}

.ms-va-row{display:grid;grid-template-columns:minmax(0,29fr) minmax(0,60fr);gap:0.85rem;margin-top:0.85rem}
.ms-va-ben{border:1px solid var(--border);border-radius:0.6rem;background:#fff;box-shadow:var(--shadow);padding:1.05rem 1rem 1.1rem 1.2rem}
.ms-va-ben-h{display:flex;align-items:center;gap:1.7rem;margin-bottom:0.6rem}
.ms-va-ben-h .ms-mdisc img{width:2.6rem;height:2.6rem}
.ms-va-ben-h h2{font-size:1.4rem;line-height:1.3;color:var(--navy);margin:0;letter-spacing:-.015em}
.ms-va-bl{display:grid;grid-template-columns:1fr 1fr 1.08fr 1.15fr;row-gap:1.3rem;list-style:none;margin:0;padding:0}
.ms-va-bl li{display:flex;align-items:center;gap:0.8rem;padding:0.15rem 0.5rem;border-left:1px solid var(--border-soft);font-size:0.72rem;line-height:1.6;font-weight:600;color:var(--navy)}
.ms-va-bl li:nth-child(4n+1){border-left:0;padding-left:0.2rem}
.ms-va-bl li img{width:2.2rem;height:2.2rem;flex:0 0 auto}

.ms-psteps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0.85rem 0 0;padding:1.4rem 1.4rem 1.5rem 2.6rem;border:1px solid #DDEDE6;border-radius:0.6rem;background:linear-gradient(180deg,#FBFDFC 0%,#F6F9FB 100%)}
.ms-psteps li{display:flex;flex-direction:column;align-items:flex-start;padding-right:0.4rem}
.ms-ps-top{position:relative;display:flex;align-items:center;gap:1rem;width:100%;margin-bottom:1rem}
.ms-ps-top i{font-style:normal;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:700;flex:0 0 auto}
.ms-ps-top img{width:2.7rem;height:2.7rem}
.ms-psteps li:not(:last-child) .ms-ps-top::after{content:"";position:absolute;right:0.6rem;top:50%;width:3.6rem;height:0.6rem;margin-top:-0.3rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 10'%3E%3Cpath d='M1 5h54' stroke='%23007838' stroke-width='1.5' stroke-dasharray='2 2.5' fill='none'/%3E%3Cpath d='M52 1l5 4-5 4' stroke='%23007838' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.ms-psteps b{font-size:0.78rem;color:var(--navy);margin:0 0 0.35rem 0.1rem}
.ms-psteps span{font-size:0.76rem;line-height:1.75;color:#2B2E4A;margin-left:0.1rem}

.ms-cta-va .ms-cta-txt h2{font-size:1.45rem}
.ms-cta-va .ms-cta-txt p{font-size:0.82rem}
.ms-cta-va .ms-cta-btns .btn{min-width:0;min-height:2.6rem;font-size:0.72rem}

@media (max-width:1279px) and (min-width:1024px){
  .ms-list-va li{font-size:0.68rem;padding-left:0.8rem;gap:0.8rem}
  .ms-va-bl li{font-size:0.66rem;gap:0.6rem}
  .ms-psteps{padding-left:1.4rem}
  .ms-psteps li:not(:last-child) .ms-ps-top::after{width:2.4rem}
}
@media (max-width:1023px){
  .ms-hero-va{grid-template-columns:minmax(0,1fr);gap:1.4rem}
  .ms-hero-va .ms-intro p{font-size:0.92rem;max-width:none}
  .ms-hero-va .ms-btns{flex-wrap:wrap}
  .ms-hero-va .ms-btns .btn{white-space:normal}
  .ms-hero-va .ms-btns .btn{font-size:0.88rem}
  .ms-illo-va{margin:0 auto}
  .ms-list-va{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-list-va li{font-size:0.86rem}
  .ms-mcards-va3,.ms-va-row{grid-template-columns:minmax(0,1fr)}
  .ms-mcards-va3 .ms-mbody p,.ms-mcards-va3 .ms-mdots-g li,.ms-va-row .ms-mdots-g li{font-size:0.9rem}
  .ms-va-bl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-va-bl li{font-size:0.88rem}
  .ms-va-bl li:nth-child(odd){border-left:0;padding-left:0.2rem}
  .ms-psteps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1.6rem;padding:1.4rem}
  .ms-psteps li:nth-child(3) .ms-ps-top::after{display:none}
  .ms-psteps b{font-size:0.92rem}
  .ms-psteps span{font-size:0.88rem}
  .ms-psteps .ms-dbr{display:none}
  .ms-cta-va .ms-cta-btns .btn{font-size:0.88rem}
}
@media (max-width:600px){
  .ms-hero-va .ms-h1{font-size:2.2rem}
  .ms-hero-va .ms-sub{font-size:1.15rem}
  .ms-hero-va .ms-btns .btn-green,.ms-hero-va .ms-btns .btn-navy{min-width:0}
  .ms-illo-va{margin:0}
  .ms-list-va{grid-template-columns:minmax(0,1fr)}
  .ms-list-va li{font-size:0.92rem}
  .ms-mcards-va3 .ms-mcard,.ms-va-row .ms-mcard{grid-template-columns:3.9rem minmax(0,1fr);column-gap:0.9rem;padding:1rem 1rem 1.2rem 0.9rem}
  .ms-mcards-va3 .ms-mdisc,.ms-va-row .ms-mdisc,.ms-va-ben .ms-mdisc{width:3.9rem;height:3.9rem}
  .ms-mcards-va3 .ms-mdisc img,.ms-va-row .ms-mdisc img,.ms-va-ben-h .ms-mdisc img{width:2.2rem;height:2.2rem}
  .ms-va-ben-h{gap:0.9rem}
  .ms-va-ben-h h2{font-size:1.25rem}
  .ms-va-bl{grid-template-columns:minmax(0,1fr);row-gap:0.9rem}
  .ms-va-bl li{border-left:0;padding-left:0.2rem}
  .ms-va-bl .ms-dbr{display:none}
  .ms-psteps{grid-template-columns:minmax(0,1fr)}
  .ms-psteps li .ms-ps-top::after{display:none}
  .ms-cta-va .ms-cta-btns .btn{width:100%}
}
@media (max-width:360px){
  .ms-hero-va .ms-h1{font-size:1.95rem}
}

/* client request 3 Oct: +1pt on Medical Billing (support list, benefits) and RCM (end-to-end list) */
.ms-list.ms-fs-up li{font-size:calc(0.6rem + 1pt)}
.ms-e2e.ms-fs-up li{font-size:calc(0.65rem + 1pt)}
@media (max-width:1023px){
  .ms-list.ms-fs-up li,.ms-e2e.ms-fs-up li{font-size:calc(0.82rem + 1pt)}
}
@media (max-width:600px){
  .ms-list.ms-fs-up li{font-size:calc(0.9rem + 1pt)}
  .ms-e2e.ms-fs-up li{font-size:calc(0.92rem + 1pt)}
}

/* ===== Blog + Blog article pages (8 Oct) ===== */
/* blog.html and medical-billing-best-practices-for-faster-payments.html. All classes bl-. */
.bl-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bl-sec{padding:1.4rem 0 0.6rem}
.bl-ruled{display:flex;align-items:center;justify-content:center;gap:1.1rem;font-size:1.36rem;line-height:1.25;color:var(--navy);text-align:center;margin:0 0 1.15rem}
.bl-ruled::before,.bl-ruled::after{content:"";flex:0 0 5.2rem;height:2px;background:linear-gradient(90deg,#1E9A55,#007838);border-radius:2px}

/* ---- hero ---- */
.bl-hero{position:relative;background:#fff;overflow:hidden;padding:1.25rem 0 1.5rem}
.bl-hero .wrap{position:relative;z-index:2}
.bl-hero-in{max-width:47%}
.bl-hero-photo{position:absolute;right:0;top:0;bottom:0;width:57.8%;z-index:0}
.bl-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:8% center;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 7%);mask-image:linear-gradient(to right,transparent 0,#000 7%)}
.bl-h1{font-size:2.42rem;line-height:1.08;letter-spacing:-.03em;color:var(--navy);margin:0 0 0.5rem}
.bl-hero-sub{font-size:1.3rem;font-weight:700;line-height:1.2;color:var(--green);letter-spacing:-.02em;margin:0 0 0.85rem}
.bl-hero-p{font-size:0.86rem;line-height:1.55;color:#2E3A63;margin:0;max-width:30rem}
.bl-hero-btns{display:flex;flex-wrap:wrap;gap:0.7rem;margin-top:1.15rem}
.bl-hero-btns .btn{padding:0.66rem 1.05rem;font-size:0.68rem;gap:0.55rem;min-height:2.45rem}
.bl-hero-btns svg{width:1.15rem;height:1.15rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}

/* ---- featured category cards ---- */
.bl-cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.95rem}
.bl-cat{border:1.5px solid #DCE6F4;border-radius:0.55rem;background:#fff;padding:1.05rem 1.5rem 1rem;display:flex;flex-direction:column}
.bl-cat-h{display:flex;align-items:center;gap:1.4rem;margin-bottom:0.55rem;min-height:3rem}
.bl-cat-h img{width:2.75rem;height:2.75rem;flex:0 0 auto}
.bl-cat-h h3{font-size:0.86rem;line-height:1.3;color:#0A2A9E;letter-spacing:-.01em}
.bl-cat ul{list-style:none;margin:0 0 0.5rem;padding:0 0 0 1.85rem}
.bl-cat li{position:relative;margin:0 0 0.42rem;max-width:15.5rem}
.bl-cat li::before{content:"";position:absolute;left:-1.6rem;top:0.55em;width:0.24rem;height:0.24rem;border-radius:50%;background:#2A3560}
.bl-cat li a{font-size:0.74rem;line-height:1.38;color:#2E3A63;text-decoration:none;display:block}
.bl-cat li a[href$=".html"]:hover{text-decoration:underline}
.bl-cat li a:hover{color:var(--green)}
.bl-viewall{display:inline-flex;align-items:center;gap:0.5rem;margin-top:auto;font-size:0.76rem;font-weight:700;color:var(--green);text-decoration:none;min-height:1.8rem}
.bl-viewall svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* ---- specialty tiles ---- */
.bl-spec-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0.75rem 0.7rem}
.bl-spec-grid li{border:1.5px solid #DCE6F4;border-radius:0.5rem;background:#fff;min-height:5.15rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.4rem;padding:0.55rem 0.4rem;text-align:center}
.bl-spec-grid img{width:2.3rem;height:2.3rem}
.bl-spec-grid span{font-size:0.7rem;font-weight:700;line-height:1.3;color:#0A2A9E}

/* ---- why read ---- */
.bl-why-grid{display:grid;grid-template-columns:1.32fr 1.3fr 1.2fr 1fr;gap:0.75rem}
.bl-why-card{display:flex;align-items:flex-start;gap:1.2rem;border:1.5px solid #DCE6F4;border-radius:0.5rem;background:#fff;padding:0.85rem 1rem 0.9rem 1.6rem}
.bl-why-card img{width:3rem;height:3rem;flex:0 0 auto;margin-top:0.1rem}
.bl-why-card h3{font-size:0.78rem;line-height:1.3;color:#0A2A9E;margin:0 0 0.35rem}
.bl-why-card p{font-size:0.72rem;line-height:1.5;color:#3E4868;margin:0}

/* ---- subscribe band ---- */
.bl-sub{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.9rem;background:var(--navy-band);border-radius:0.6rem;padding:0.95rem 3.4rem 0.95rem 3.6rem;margin:0.75rem 0 0.4rem;color:#fff}
.bl-sub-ic{width:3.6rem;height:3.6rem;border-radius:50%;border:2px solid rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center}
.bl-sub-ic img{width:2rem;height:2rem}
.bl-sub-txt h2{font-size:1.2rem;color:#fff;margin:0 0 0.2rem}
.bl-sub-txt p{font-size:0.74rem;line-height:1.5;color:#E3E8F6;margin:0;max-width:24rem}
.bl-sub-form{display:flex;flex-wrap:wrap;gap:0.45rem;align-items:center;width:23rem}
.bl-sub-form input{flex:1 1 12rem;min-width:0;height:2.45rem;border:0;border-radius:0.35rem;padding:0 0.95rem;font:inherit;font-size:0.76rem;color:var(--text)}
.bl-sub-form .btn{height:2.45rem;padding:0 1.5rem;font-size:0.76rem}
.bl-sub-msg{flex:1 0 100%;margin:0;font-size:0.72rem;font-weight:500;color:#FFB4B4;display:none}
.js-bl-sub.has-err .bl-sub-msg{display:block}

/* ---- need expert support ---- */
.bl-need{padding-bottom:2.2rem}
.bl-need-h{font-size:1.36rem;text-align:center;color:var(--navy);margin:0 0 0.35rem}
.bl-need-p{font-size:0.8rem;line-height:1.5;text-align:center;color:#2E3A63;max-width:44rem;margin:0 auto 0.9rem}
.bl-need-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) minmax(0,1.6fr);gap:0.6rem}
.bl-need-grid a{height:100%;min-height:5.1rem;border:1.5px solid #DCE6F4;border-radius:0.5rem;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.35rem;padding:0.5rem 0.35rem;text-align:center;text-decoration:none;transition:border-color .15s}
.bl-need-grid a:hover{border-color:var(--green)}
.bl-need-grid img{width:2.1rem;height:2.1rem}
.bl-need-grid span{font-size:0.66rem;font-weight:700;line-height:1.3;color:#0A2A9E}

/* ---- article ---- */
.bl-art{padding:1.3rem 0 2.4rem}
.bl-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0.25rem 0.55rem;font-size:0.72rem;margin:0 0 1.1rem 0.15rem}
.bl-crumbs a{color:var(--green);text-decoration:none;font-weight:500}
.bl-crumbs a.bl-crumb-cat{color:#0A2A9E}
.bl-crumbs span{color:#2E3A63}
.bl-crumbs span[aria-current]{color:#1E2440;font-weight:500}
.bl-art-grid{display:grid;grid-template-columns:minmax(0,2.44fr) minmax(0,1fr);gap:1.55rem;align-items:start}
.bl-pill{display:inline-block;background:#DDF0E4;color:#0A6B35;font-size:0.6rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;border-radius:2rem;padding:0.3rem 0.75rem;margin-bottom:0.65rem}
.bl-art-h1{font-size:2.32rem;line-height:1.12;letter-spacing:-.03em;color:#0B1E66;margin:0 0 0.8rem}
.bl-meta{list-style:none;margin:0 0 0.9rem;padding:0;display:flex;flex-wrap:wrap;gap:0.4rem 2.2rem}
.bl-meta li{display:flex;align-items:center;gap:0.55rem;font-size:0.76rem;font-weight:500;color:#1E2440}
.bl-meta img{width:1.05rem;height:1.05rem}
.bl-art-hero{border-radius:0.6rem;overflow:hidden;margin:0 0 1rem}
.bl-art-hero img{width:100%;height:auto}
.bl-art-intro{padding:0 0.85rem}
.bl-art-intro p{font-size:0.76rem;line-height:1.58;color:#1E2440;margin:0 0 0.75rem;max-width:40rem}
.bl-steps{list-style:none;margin:0.3rem 0 0.5rem;padding:0 0 0 0.5rem}
.bl-steps li{display:grid;grid-template-columns:2.95rem 2.2rem minmax(0,1fr);column-gap:1.05rem;align-items:start;margin:0 0 0.55rem}
.bl-step-ic{width:2.95rem;height:2.6rem;border:1.5px solid #B9DCC7;border-radius:0.45rem;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(10,36,114,.06)}
.bl-step-ic img{width:1.85rem;height:1.85rem}
.bl-step-n{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.05rem;border-radius:1rem;background:#0A7A3C;color:#fff;font-size:0.6rem;font-weight:700;margin-top:0.15rem}
.bl-steps h2{font-size:0.9rem;line-height:1.25;color:#0A2A9E;margin:0 0 0.12rem;letter-spacing:-.01em}
.bl-steps p{font-size:0.74rem;line-height:1.45;color:#1E2440;margin:0;max-width:36rem}
.bl-takeaway{display:flex;align-items:flex-start;gap:1.3rem;border:1.5px solid #9FD0B2;border-radius:0.5rem;background:#F1F8F3;padding:0.8rem 1.2rem 0.85rem 1.2rem;margin:0.4rem 0 0.55rem}
.bl-takeaway img{width:2.4rem;height:2.4rem;flex:0 0 auto}
.bl-takeaway h2{font-size:0.95rem;color:#0A7A3C;margin:0 0 0.2rem}
.bl-takeaway p{font-size:0.76rem;line-height:1.5;color:#1E2440;margin:0;max-width:36rem}
.bl-cta{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.4rem;border:1.5px solid #B9C4E6;border-radius:0.5rem;background:#F6F8FD;padding:0.8rem 1.2rem}
.bl-cta-ic{width:3.6rem;height:3.6rem;border-radius:50%;background:#fff;border:1.5px solid #C9D2EE;display:flex;align-items:center;justify-content:center}
.bl-cta-ic img{width:2.6rem;height:2.6rem}
.bl-cta-txt h2{font-size:1.02rem;line-height:1.25;color:#0B1E66;margin:0 0 0.15rem}
.bl-cta-txt p{font-size:0.72rem;line-height:1.48;color:#1E2440;margin:0}
.bl-cta-btns{display:flex;gap:0.6rem}
.bl-cta-btns .btn{font-size:0.7rem;line-height:1.3;padding:0.55rem 0.95rem;text-align:center;min-height:2.6rem}
.bl-pn{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:1rem;margin:0.85rem 0 0.4rem;padding:0 0.3rem}
.bl-pn a{text-decoration:none}
.bl-pn-l{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.7rem;font-weight:600;color:#1E2440}
.bl-pn-l svg{width:0.95rem;height:0.95rem;fill:none;stroke:var(--green);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bl-pn-t{display:block;font-size:0.7rem;line-height:1.45;color:#4A55A8;margin-top:0.15rem;padding-left:1.3rem}
.bl-pn-t b{color:#0A2A9E;font-weight:600}
.bl-pn-next{text-align:right}
.bl-pn-next .bl-pn-t{color:#0A2A9E;font-weight:600;padding:0 1.3rem 0 0}
.bl-pn-back{display:flex;flex-direction:column;align-items:center;gap:0.3rem;font-size:0.72rem;font-weight:500;color:#0A2A9E;min-height:2.5rem}
.bl-pn-back img{width:2.3rem;height:2.3rem}
.bl-rel-h{margin:1.3rem 0 0.75rem}
.bl-rel{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.75rem}
.bl-rel a{display:flex;flex-direction:column;height:100%;border:1.5px solid #E1E7F2;border-radius:0.5rem;overflow:hidden;background:#fff;text-decoration:none;box-shadow:0 1px 3px rgba(10,36,114,.05)}
.bl-rel img{width:100%;height:auto;aspect-ratio:12/5;object-fit:cover}
.bl-rel-t{display:block;font-size:0.72rem;font-weight:700;line-height:1.38;color:#0A2A9E;padding:0.75rem 0.75rem 0.2rem}
.bl-rel time{display:block;font-size:0.62rem;color:#4A5272;padding:0 0.75rem 0.8rem}

/* ---- article sidebar ---- */
.bl-side{display:flex;flex-direction:column;gap:0.75rem}
.bl-box{border:1.5px solid #E4E8F3;border-radius:0.55rem;background:#fff}
.bl-search{position:relative;padding:0.95rem}
.bl-search input{width:100%;height:2.4rem;border:1.5px solid #E1E6F2;border-radius:0.45rem;padding:0 2.7rem 0 0.85rem;font:inherit;font-size:0.74rem;color:var(--text)}
.bl-search button{position:absolute;right:1.15rem;top:50%;transform:translateY(-50%);width:2.4rem;height:2.4rem;border:0;background:none;padding:0.55rem;cursor:pointer}
.bl-search button img{width:100%;height:100%}
.bl-cats{padding:1rem 0 0.6rem}
.bl-cats h2,.bl-pop h2{font-size:0.98rem;color:#0B1E66;margin:0 1.1rem 0.55rem}
.bl-cats ul{list-style:none;margin:0;padding:0}
.bl-cats a{display:flex;align-items:center;gap:0.8rem;padding:0.5rem 1.15rem;min-height:2.5rem;font-size:0.76rem;font-weight:500;color:#1E2440;text-decoration:none}
.bl-cats li.on a{background:#E6F2EA}
.bl-cats a:hover{color:var(--green)}
.bl-cats img{width:1.05rem;height:1.05rem;flex:0 0 auto}
.bl-pop{padding:1rem 1.05rem 0.4rem}
.bl-pop h2{margin:0 0 0.75rem}
.bl-pop ul{list-style:none;margin:0;padding:0}
.bl-pop a{display:grid;grid-template-columns:3.6rem minmax(0,1fr);gap:0.9rem;align-items:start;text-decoration:none;margin:0 0 0.85rem}
.bl-pop img{width:3.6rem;height:3.2rem;object-fit:cover;border-radius:0.35rem}
.bl-pop b{display:block;font-size:0.74rem;line-height:1.35;color:#0B1E66;font-weight:700}
.bl-pop time{display:block;font-size:0.68rem;color:#3A4580;margin-top:0.2rem}
.bl-promo{position:relative;overflow:hidden;background:#0A1E6E;border-radius:0.55rem;padding:1.15rem 1.15rem 1.15rem;color:#fff}
.bl-promo-deco{position:absolute;right:0.9rem;top:3.6rem;width:6.4rem;height:6.4rem;fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.12);stroke-width:2.75;stroke-linecap:round;stroke-linejoin:round}
.bl-promo h2{position:relative;font-size:0.98rem;line-height:1.3;color:#fff;margin:0 0 0.7rem;max-width:12.5rem}
.bl-promo ul{position:relative;list-style:none;margin:0 0 1rem;padding:0}
.bl-promo li{display:flex;align-items:center;gap:0.6rem;font-size:0.74rem;color:#fff;margin:0 0 0.45rem}
.bl-promo li img{width:0.85rem;height:0.85rem}
.bl-promo .btn{position:relative;display:flex;width:100%;justify-content:center;text-align:center;font-size:0.8rem;line-height:1.3;padding:0.65rem 1rem;min-height:2.6rem}
.bl-sidesub{padding:1rem 1.05rem 1.05rem;background:#F7F8FD}
.bl-sidesub-h{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:1.2rem;margin-bottom:0.8rem}
.bl-sidesub-ic{width:2.6rem;height:2.6rem;border-radius:50%;border:1.5px solid #9DA8D8;background:#fff;display:flex;align-items:center;justify-content:center}
.bl-sidesub-ic img{width:1.5rem;height:1.5rem}
.bl-sidesub h2{font-size:0.98rem;color:#0B1E66;margin:0.1rem 0 0.3rem}
.bl-sidesub p{font-size:0.7rem;line-height:1.48;color:#0B1E66;margin:0}
.bl-sidesub-form{display:flex;flex-direction:column;gap:0.5rem}
.bl-sidesub-form input{height:2.4rem;border:1.5px solid #E1E6F2;border-radius:0.35rem;padding:0 0.85rem;font:inherit;font-size:0.74rem;color:var(--text);background:#fff}
.bl-sidesub-form .btn{height:2.4rem;width:100%;justify-content:center;font-size:0.76rem}
.bl-sidesub-form .bl-sub-msg{color:var(--red)}

/* ---- tablet and phone (his desktop layout holds at 1024 and up) ---- */
@media (max-width:1023px){
  .bl-hero{padding:1.4rem 0 1.6rem;display:flex;flex-direction:column}
  .bl-hero-photo{position:relative;width:100%;order:1;border-radius:0.6rem;overflow:hidden;aspect-ratio:16/8.6}
  .bl-hero-photo img{-webkit-mask-image:none;mask-image:none;object-position:center}
  .bl-hero .wrap{order:2;margin-top:1.3rem}
  .bl-hero-in{max-width:none}
  .bl-h1{font-size:2.3rem}
  .bl-hero-p{max-width:none;font-size:0.95rem}
  .bl-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bl-cat li{max-width:none}
  .bl-cat li a{font-size:0.9rem}
  .bl-cat-h h3{font-size:1rem}
  .bl-viewall{font-size:0.88rem;min-height:2.6rem}
  .bl-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bl-spec-grid span{font-size:0.82rem}
  .bl-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bl-why-card h3{font-size:0.95rem}
  .bl-why-card p{font-size:0.88rem}
  .bl-sub{grid-template-columns:auto minmax(0,1fr);padding:1.3rem 1.5rem;gap:1.2rem}
  .bl-sub-form{grid-column:1/-1;width:100%}
  .bl-sub-txt p{font-size:0.88rem;max-width:none}
  .bl-sub-form input,.bl-sub-form .btn{height:3rem;font-size:0.9rem}
  .bl-need-p{font-size:0.92rem}
  .bl-need-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .bl-need-grid span{font-size:0.8rem}
  .bl-art-grid{grid-template-columns:minmax(0,1fr)}
  .bl-crumbs{font-size:0.85rem}
  .bl-crumbs a{min-height:2.4rem;display:inline-flex;align-items:center}
  .bl-art-intro{padding:0}
  .bl-art-intro p,.bl-steps p,.bl-takeaway p{font-size:0.95rem;max-width:none}
  .bl-steps h2{font-size:1.05rem}
  .bl-meta li{font-size:0.88rem}
  .bl-cta{grid-template-columns:auto minmax(0,1fr)}
  .bl-cta-btns{grid-column:1/-1}
  .bl-cta-btns .btn{flex:1 1 0;font-size:0.85rem}
  .bl-cta-txt p{font-size:0.88rem}
  .bl-pn-l,.bl-pn-t,.bl-pn-back{font-size:0.85rem}
  .bl-rel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bl-rel-t{font-size:0.9rem}
  .bl-rel time{font-size:0.8rem}
  .bl-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.9rem}
  .bl-search{grid-column:1/-1}
  .bl-cats a,.bl-search input,.bl-pop b,.bl-promo li{font-size:0.9rem}
  .bl-pop time,.bl-sidesub p{font-size:0.82rem}
  .bl-search input,.bl-sidesub-form input,.bl-sidesub-form .btn{height:3rem;font-size:0.9rem}
}
@media (max-width:600px){
  .bl-ruled{font-size:1.4rem;gap:0.7rem}
  .bl-ruled::before,.bl-ruled::after{flex-basis:1.6rem}
  .bl-h1{font-size:2.05rem}
  .bl-hero-sub{font-size:1.25rem}
  .bl-hero-btns .btn{width:100%;justify-content:center;font-size:0.9rem;min-height:3rem}
  .bl-cat-grid{grid-template-columns:minmax(0,1fr)}
  .bl-cat{padding:1.1rem 1.1rem 0.9rem}
  .bl-cat-h{gap:1rem}
  .bl-cat ul{padding-left:1.4rem}
  .bl-cat li::before{left:-1.1rem;top:calc(0.45rem + 0.62em)}
  .bl-cat li{margin-bottom:0.15rem}
  .bl-cat li a{padding:0.45rem 0;min-height:2.6rem}
  .bl-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0.55rem}
  .bl-spec-grid li{min-height:6.2rem}
  .bl-spec-grid span{font-size:0.78rem}
  .bl-why-grid{grid-template-columns:minmax(0,1fr)}
  .bl-sub{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center;padding:1.4rem 1.1rem}
  .bl-sub-form{flex-direction:column;align-items:stretch}
  .bl-sub-form input{flex:0 0 auto}
  .bl-need-h{font-size:1.4rem}
  .bl-need-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bl-art-h1{font-size:1.95rem}
  .bl-art-h1 br,.bl-pn-t br{display:none}
  .bl-meta{gap:0.5rem 1.4rem}
  .bl-steps{padding:0}
  .bl-steps li{grid-template-columns:2.95rem minmax(0,1fr);column-gap:0.85rem;margin-bottom:1rem}
  .bl-step-ic{grid-row:1/3}
  .bl-step-n{grid-column:2;margin:0 0 0.3rem}
  .bl-steps li>div{grid-column:2}
  .bl-takeaway{padding:1rem}
  .bl-cta{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;padding:1.1rem}
  .bl-cta-btns{flex-direction:column;width:100%}
  .bl-cta-btns .btn{min-height:3rem}
  .bl-pn{grid-template-columns:1fr 1fr;row-gap:1.2rem}
  .bl-pn-back{grid-column:1/-1;grid-row:2}
  .bl-rel{grid-template-columns:minmax(0,1fr)}
  .bl-side{grid-template-columns:minmax(0,1fr)}
  .bl-pop a{grid-template-columns:5rem minmax(0,1fr)}
  .bl-pop img{width:5rem;height:4.2rem}
}
/* phone and tablet tap targets: at least 40px (1rem is 13px below 1000px wide) */
@media (max-width:1023px){
  .bl-hero-btns .btn,.bl-cta-btns .btn,.bl-promo .btn{min-height:3.15rem}
  .bl-viewall,.bl-crumbs a,.bl-cats a{min-height:3.15rem}
  .bl-cat li a{min-height:3.15rem;display:flex;align-items:center}
  .bl-sub-form input,.bl-sub-form .btn,.bl-search input,.bl-sidesub-form input,.bl-sidesub-form .btn{height:3.15rem}
  .bl-search button{width:3.15rem;height:3.15rem;right:1rem}
}
@media (max-width:600px){
  .bl-cat li a{padding:0.2rem 0}
  .bl-cat li::before{top:calc(1.575rem - 0.12rem)}
}
/* tablet and phone: readable small labels (1rem bottoms out at 13px) */
@media (max-width:1023px){
  .bl-hero-btns .btn{font-size:0.92rem;padding:0.7rem 1.2rem}
  .bl-hero-btns svg{width:1.35rem;height:1.35rem}
  .bl-pill{font-size:0.78rem}
  .bl-step-n{font-size:0.78rem;width:2.3rem;height:1.35rem}
  .bl-steps li{grid-template-columns:2.95rem 2.5rem minmax(0,1fr)}
  .bl-pn-l{font-size:0.88rem}
  .bl-sub-txt h2,.bl-promo h2,.bl-sidesub h2,.bl-cats h2,.bl-pop h2{font-size:1.2rem}
  .bl-need-grid span{font-size:0.82rem}
}
@media (max-width:600px){
  .bl-steps li{grid-template-columns:2.95rem minmax(0,1fr)}
}
/* ===== end Blog + Blog article pages (8 Oct) ===== */


/* ===== Testimonials + Technology pages (8 Oct) ===== */
/* testimonials.html (tm-) and technology-software-expertise.html (tx-).
   Built from his two Resources designs. His purple is our navy throughout. */

/* ---------- Testimonials (tm-) ---------- */
.tm-ic{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.tm-eyebrow{font-size:0.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green-label);margin:0 0 0.55rem;line-height:1.4}
.tm-eyebrow.lt{color:#5FD99A}
.tm-head{text-align:center;max-width:46rem;margin:0 auto 2.2rem}
.tm-h2{font-size:1.95rem;line-height:1.2;letter-spacing:-.025em;color:var(--navy);margin:0 0 0.8rem}
.tm-sub{font-size:0.88rem;line-height:1.75;color:#646B80;margin:0}

.tm-hero{position:relative;background:#fff;overflow:hidden;padding:3.3rem 0 3.4rem;min-height:43.5vw;display:flex;align-items:center}
.tm-hero>.wrap{position:relative;z-index:2}
.tm-hero-photo{position:absolute;inset:0;z-index:0}
.tm-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
/* his design washes the left of the photo to white behind the copy */
.tm-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.94) 30%,rgba(255,255,255,.62) 42%,rgba(255,255,255,0) 53%)}
.tm-hero-txt{max-width:50%}
.tm-h1{font-size:2.45rem;line-height:1.1;letter-spacing:-.03em;color:var(--navy);margin:0 0 1.1rem}
.tm-h1 .g{color:var(--green)}
.tm-hero-lead{font-size:0.98rem;line-height:1.65;color:#3E4558;margin:0 0 0.9rem}
.tm-hero-lead b{color:var(--navy);font-weight:700}
.tm-hero-p{font-size:0.84rem;line-height:1.75;color:#646B80;margin:0 0 0.8rem}
.tm-pills{display:flex;flex-wrap:nowrap;gap:0.65rem;margin-top:1.4rem;width:max-content;max-width:64vw}
.tm-pills li{display:inline-flex;align-items:center;gap:0.5rem;padding:0.6rem 1rem;white-space:nowrap;border:1px solid #D6E3DC;border-radius:999px;background:rgba(255,255,255,.9);font-size:0.8rem;font-weight:700;color:var(--navy);line-height:1.3}
.tm-pills .tm-ic{color:var(--green)}

.tm-commit{background:#F3F6FB;padding:3.4rem 0 3.6rem}
.tm-cgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.tm-card{background:#fff;border:1px solid #DFE5EF;border-radius:0.9rem;padding:1.4rem 1.25rem 1.5rem}
.tm-tile{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:0.6rem;background:#E5F4EC;color:var(--green);margin-bottom:1.1rem}
.tm-tile.alt{background:#EBEEF8}
.tm-tile .tm-ic{width:1.25rem;height:1.25rem}
.tm-card h3{font-size:1.02rem;line-height:1.3;letter-spacing:-.015em;color:var(--navy);margin:0 0 0.5rem}
.tm-card p{font-size:0.78rem;line-height:1.65;color:#646B80;margin:0}
.tm-quote{max-width:65%;margin:2rem auto 0;background:#fff;border-left:0.3rem solid var(--green);border-radius:0 0.6rem 0.6rem 0;padding:1rem 2rem;text-align:center;font-size:1rem;font-weight:700;line-height:1.35;color:var(--navy)}

.tm-why{background:#fff;padding:4rem 0}
.tm-why-in{display:grid;grid-template-columns:41.5% minmax(0,1fr);gap:2.4rem;align-items:stretch}
.tm-why-panel{position:relative;overflow:hidden;border-radius:1.1rem;padding:2.5rem 2.4rem;color:#fff;background:linear-gradient(150deg,#0A1A5C 0%,#0B2472 55%,#0E4A60 100%)}
.tm-why-panel::after{content:"";position:absolute;right:-5.5rem;bottom:-7rem;width:15rem;height:15rem;border-radius:50%;border:2rem solid rgba(255,255,255,.07);pointer-events:none}
.tm-why-panel h2{font-size:1.95rem;line-height:1.15;letter-spacing:-.025em;color:#fff;margin:0 0 1.1rem}
.tm-why-p{font-size:0.9rem;line-height:1.75;color:#DCE3F5;margin:0 0 1.6rem}
.tm-why-list{position:relative;z-index:1}
.tm-why-list li{display:flex;align-items:center;gap:0.7rem;padding:0.8rem 0;border-top:1px solid rgba(255,255,255,.14);font-size:0.86rem;font-weight:700;color:#fff;line-height:1.35}
.tm-why-list .tm-ic{width:1.15rem;height:1.15rem;color:#3DBE78}
.tm-why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.tm-why-grid .tm-card{padding:1.5rem 1.4rem 1.6rem}
.tm-why-grid .tm-card h3{font-size:1.12rem}
.tm-why-grid .tm-card p{font-size:0.8rem;line-height:1.7}

.tm-perf{background:linear-gradient(#fff,#F7F9FC 30%);padding:3.4rem 0 3.6rem}
.tm-perf-grid{display:grid;grid-template-columns:1fr 1fr 2.13fr;gap:1.15rem;align-items:stretch}
.tm-stat{background:#fff;border:1px solid #DFE5EF;border-radius:0.9rem;padding:2rem 1.2rem 1.8rem;text-align:center}
.tm-ring{position:relative;width:8.4rem;height:8.4rem;margin:0 auto 1.3rem}
.tm-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.tm-ring circle{fill:none;stroke-width:11}
.tm-ring .trk{stroke:transparent}
.tm-ring .arc.g{stroke:var(--green)}
.tm-ring .arc.n{stroke:var(--navy)}
.tm-ring span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;letter-spacing:-.03em;color:var(--navy)}
.tm-stat h3{font-size:1.1rem;line-height:1.25;color:var(--navy);margin:0 0 0.6rem;letter-spacing:-.015em}
.tm-stat p{font-size:0.78rem;line-height:1.6;color:#646B80;margin:0}
.tm-goals{background:var(--navy);border-radius:1.1rem;padding:1.6rem 1.6rem 1.9rem}
.tm-goals h3{font-size:1.18rem;color:#fff;margin:0 0 0.9rem;letter-spacing:-.015em}
.tm-goals ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.6rem}
.tm-goals li{display:flex;align-items:flex-start;gap:0.6rem;background:rgba(255,255,255,.08);border-radius:0.55rem;padding:0.85rem 1rem 1.5rem;font-size:0.8rem;font-weight:700;line-height:1.35;color:#fff}
.tm-goals .tm-ic{width:0.95rem;height:0.95rem;color:#3DBE78;margin-top:0.1rem}
.tm-h3c{text-align:center;font-size:1.25rem;letter-spacing:-.015em;color:var(--navy);margin:2.4rem 0 1.8rem}
.tm-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.tm-steps li{position:relative;text-align:center}
.tm-steps li:not(:last-child)::after{content:"";position:absolute;top:1.2rem;right:-1.6rem;width:2rem;height:2px;background:#C4CAD8}
.tm-num{display:inline-flex;align-items:center;justify-content:center;width:2.45rem;height:2.45rem;border-radius:50%;background:linear-gradient(180deg,#00A651,var(--green));color:#fff;font-size:0.82rem;font-weight:700}
.tm-steps h4{font-size:1rem;color:var(--navy);margin:0.7rem 0 0.3rem;letter-spacing:-.01em}
.tm-steps p{font-size:0.78rem;color:#646B80;margin:0;line-height:1.5}
.tm-note{max-width:81%;margin:2rem auto 0;background:#FEF7DC;border:1px solid #EADB9C;border-radius:0.7rem;padding:1.1rem 1.4rem;font-size:0.74rem;line-height:1.7;color:#6B5B1F}
.tm-note b{color:#57470F}

.tm-part{background:linear-gradient(160deg,#0A1A5C 0%,#0B2472 55%,#0F4D66 100%);padding:3.8rem 0 3.4rem;color:#fff}
.tm-part .tm-h2{color:#fff}
.tm-part .tm-sub{color:#D3DBF0}
.tm-part-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.tm-pc{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.17);border-radius:0.9rem;padding:1.4rem 1.3rem 1.5rem}
.tm-pc .tm-ic{width:1.4rem;height:1.4rem;color:#2FBF71}
.tm-pc h3{font-size:1rem;color:#fff;margin:0.8rem 0 0.5rem;letter-spacing:-.01em}
.tm-pc p{font-size:0.76rem;line-height:1.65;color:#D3DBF0;margin:0}
.tm-part-close{text-align:center;font-size:1.02rem;font-weight:700;color:#fff;margin:1.8rem 0 0;line-height:1.5}

.tm-soon{background:linear-gradient(135deg,#EEF8F2,#F7FAFC);padding:3.6rem 0}
.tm-soon-in{display:grid;grid-template-columns:26% minmax(0,1fr);gap:3rem;align-items:center}
.tm-badge svg{display:block;width:100%;max-width:13rem;margin:0 auto}
.tm-soon-txt p{font-size:0.88rem;line-height:1.8;color:#646B80;margin:0 0 0.8rem}
.tm-soon-txt p.tm-eyebrow{font-size:0.72rem;line-height:1.4;color:var(--green-label);margin:0 0 0.55rem}
.tm-tags{display:flex;flex-wrap:wrap;gap:0.55rem;margin-top:1.1rem}
.tm-tags li{background:#DDF1E5;color:var(--green);font-size:0.74rem;font-weight:700;padding:0.45rem 1.2rem;border-radius:999px}

.tm-ready{background:#fff;padding:3.6rem 0 4rem}
.tm-ready-card{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);border-radius:1.1rem;overflow:hidden;background:linear-gradient(150deg,#0A1A5C 0%,#0B2472 60%,#10357A 100%)}
.tm-ready-txt{padding:2.6rem 2.4rem 2.7rem}
.tm-ready-txt h2{font-size:1.95rem;line-height:1.15;letter-spacing:-.025em;color:#fff;margin:0 0 1.1rem}
.tm-ready-txt p{font-size:0.88rem;line-height:1.75;color:#DCE3F5;margin:0 0 1rem}
.tm-ready-txt p b{color:#fff}
.tm-ready-txt h3{font-size:1.15rem;color:#fff;margin:1.3rem 0 0.6rem;letter-spacing:-.01em}
.tm-ready-btns{display:flex;flex-wrap:wrap;gap:0.8rem;margin-top:1.5rem}
.tm-ready-btns .btn{padding:0.9rem 1.8rem;font-size:0.8rem}
.tm-btn-white{background:#fff;color:var(--navy)}
.tm-ready-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:2.4rem 1.2rem;background:rgba(255,255,255,.07);padding:2.4rem 2rem}
.tm-ready-list li{display:flex;align-items:flex-start;gap:0.55rem;font-size:0.8rem;font-weight:700;color:#fff;line-height:1.4}
.tm-ready-list .tm-ic{width:0.95rem;height:0.95rem;color:#3DBE78;margin-top:0.15rem}

@media (max-width:1180px){
  .tm-hero-txt{max-width:52%}
  .tm-h1{font-size:2.3rem}
  .tm-quote{max-width:80%}
}
@media (max-width:1023px){
  .tm-hero{display:block;min-height:0;padding:0 0 2.4rem}
  .tm-hero-photo{position:relative;width:100%;aspect-ratio:16/10;margin-bottom:1.8rem}
  .tm-hero-photo img{object-position:72% center}
  .tm-hero-photo::after{display:none}
  .tm-hero-txt{max-width:none}
  .tm-pills{flex-wrap:wrap;width:auto;max-width:none}
  .tm-cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tm-why-in{grid-template-columns:1fr}
  .tm-perf-grid{grid-template-columns:1fr 1fr}
  .tm-goals{grid-column:1/-1}
  .tm-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.8rem}
  .tm-steps li::after{display:none}
  .tm-part-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tm-soon-in{grid-template-columns:1fr;gap:1.8rem}
  .tm-ready-card{grid-template-columns:1fr}
  .tm-quote,.tm-note{max-width:none}
  /* below 1024 the root font floors at 13px, so lift the small copy to phone-readable sizes */
  .tm-eyebrow,.tm-soon-txt p.tm-eyebrow{font-size:0.82rem}
  .tm-sub,.tm-hero-p,.tm-soon-txt p,.tm-ready-txt p,.tm-why-p{font-size:1.02rem}
  .tm-hero-lead{font-size:1.1rem}
  .tm-pills li{font-size:0.95rem;min-height:44px}
  .tm-card h3,.tm-why-grid .tm-card h3,.tm-stat h3,.tm-pc h3{font-size:1.2rem}
  .tm-card p,.tm-why-grid .tm-card p,.tm-stat p,.tm-pc p,.tm-steps p{font-size:1rem}
  .tm-why-list li,.tm-goals li,.tm-ready-list li{font-size:1rem}
  .tm-steps h4{font-size:1.15rem}
  .tm-note{font-size:0.95rem}
  .tm-quote,.tm-part-close{font-size:1.1rem}
  .tm-tags li{font-size:0.9rem}
  .tm-ready-btns .btn{font-size:1rem;min-height:44px}
}
@media (max-width:600px){
  .tm-eyebrow,.tm-soon-txt p.tm-eyebrow{font-size:0.82rem}
  .tm-h1{font-size:2.05rem}
  .tm-h2,.tm-why-panel h2,.tm-ready-txt h2{font-size:1.6rem}
  .tm-sub,.tm-hero-p,.tm-soon-txt p,.tm-ready-txt p,.tm-why-p{font-size:1.02rem}
  .tm-hero-lead{font-size:1.1rem}
  .tm-hero-photo{aspect-ratio:4/3}
  .tm-pills li{font-size:0.95rem;min-height:44px}
  .tm-cgrid,.tm-why-grid,.tm-perf-grid,.tm-part-grid{grid-template-columns:1fr}
  .tm-card h3,.tm-why-grid .tm-card h3,.tm-stat h3,.tm-pc h3{font-size:1.2rem}
  .tm-card p,.tm-why-grid .tm-card p,.tm-stat p,.tm-pc p,.tm-steps p{font-size:1rem}
  .tm-quote{font-size:1.1rem;padding:1rem 1.2rem}
  .tm-why-panel,.tm-ready-txt{padding:2rem 1.4rem}
  .tm-why-list li,.tm-goals li,.tm-ready-list li{font-size:1rem}
  .tm-goals ul{grid-template-columns:1fr}
  .tm-goals li{padding:0.85rem 1rem}
  .tm-goals h3{font-size:1.3rem}
  .tm-steps h4{font-size:1.15rem}
  .tm-num{font-size:0.95rem;width:2.8rem;height:2.8rem}
  .tm-note{font-size:0.95rem}
  .tm-part-close{font-size:1.15rem}
  .tm-tags li{font-size:0.9rem}
  .tm-ready-btns{flex-direction:column}
  .tm-ready-btns .btn{width:100%;font-size:1rem;min-height:44px}
  .tm-ready-list{grid-template-columns:1fr;gap:1rem;padding:1.8rem 1.4rem}
  .tm-ic{width:1.3rem;height:1.3rem}
  .tm-goals .tm-ic,.tm-ready-list .tm-ic{width:1.2rem;height:1.2rem}
}

/* ---------- Technology & Software Expertise (tx-) ---------- */
.tx-ring{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.4rem;height:2.4rem;border-radius:50%;background:#F5F7FC;box-shadow:0 0 0 1px #DCE2EE}
.tx-ring svg{width:84%;height:84%}
.tx-hero{background:#fff;padding:2.4rem 0 1.6rem}
.tx-hero-in{display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);gap:2.6rem;align-items:center}
.tx-h1{font-size:2.75rem;line-height:1.1;letter-spacing:-.03em;color:var(--navy);margin:0 0 1rem}
.tx-h1 .g{color:var(--green)}
.tx-hero-sub{font-size:1.5rem;line-height:1.25;font-weight:700;letter-spacing:-.02em;color:var(--navy);margin:0 0 0.9rem}
.tx-hero-p{font-size:0.86rem;line-height:1.75;color:#40465A;margin:0 0 1.4rem}
.tx-feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 0.8rem}
.tx-feats li{display:flex;align-items:center;gap:0.7rem;font-size:0.72rem;font-weight:700;line-height:1.3;color:var(--navy)}
.tx-feats .tx-ring{width:2.6rem;height:2.6rem}
.tx-hero-photo{border-radius:0.9rem;overflow:hidden;box-shadow:0 0 0 1px #E8ECF4,0 6px 22px rgba(11,36,114,.08)}
.tx-hero-photo img{width:100%;height:auto}

.tx-sec{padding:0 0 1.1rem}
.tx-sec-last{padding-bottom:3rem}
.tx-box{background:#fff;border:1px solid #DCE6EE;border-radius:0.9rem;padding:1.7rem 1.6rem 1.9rem}
.tx-h2{text-align:center;font-size:1.55rem;line-height:1.2;letter-spacing:-.02em;color:var(--navy);margin:0 0 0.5rem}
.tx-h2-tight{margin-bottom:0.4rem}
.tx-sub{text-align:center;font-size:0.78rem;line-height:1.6;color:#53596C;margin:0 0 1.2rem}

.tx-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.9rem 1rem;padding:0 1.1rem}
.tx-logos li{border:1px solid #DCE6EE;border-radius:0.6rem;background:#fff;overflow:hidden;aspect-ratio:1230/498;display:flex;align-items:center;justify-content:center}
.tx-logos img{width:100%;height:100%;object-fit:contain}

.tx-wf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px dotted #D4DCE6;border-left:1px dotted #D4DCE6}
.tx-wf li{display:flex;align-items:center;gap:0.85rem;padding:1.1rem 1rem;min-height:4.9rem;border-right:1px dotted #D4DCE6;border-bottom:1px dotted #D4DCE6;font-size:0.76rem;font-weight:700;line-height:1.35;color:var(--navy)}
.tx-wf .tx-wf-last{grid-column:2 / span 2;justify-content:center}
.tx-wf .tx-ring{width:2.3rem;height:2.3rem}

.tx-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.6rem}
.tx-flow li{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.5rem;min-height:5.3rem;padding:0.8rem 0.5rem;border:2px solid #C9D3E6;border-radius:0.6rem;text-align:center;font-size:0.8rem;font-weight:700;line-height:1.25;color:var(--navy)}
.tx-flow li:not(:last-child)::after{content:"";position:absolute;left:calc(100% + 0.2rem);top:50%;width:1.2rem;height:1.2rem;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12h3M8 12h10' stroke='%230B2472' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M15 7l6 5-6 5z' fill='%230B2472'/%3E%3C/svg%3E") no-repeat center/contain}
.tx-flow .tx-ring{width:2.3rem;height:2.3rem}
.tx-ticks{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0.6rem;margin-top:1rem;padding-top:0.9rem;border-top:1px solid #E3E8F0}
.tx-ticks li{display:flex;align-items:flex-start;gap:0.4rem;font-size:0.62rem;line-height:1.4;color:var(--navy)}
.tx-ticks svg{width:0.85rem;height:0.85rem;flex:0 0 auto}

.tx-ben{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem 0.9rem}
.tx-bc{display:flex;align-items:flex-start;gap:1.2rem;padding:1.1rem 1.2rem 1.6rem;border:1px solid #DCE6EE;border-radius:0.6rem;min-height:6.3rem}
.tx-bc .tx-ring{width:2.6rem;height:2.6rem}
.tx-bc h3{font-size:0.86rem;line-height:1.3;color:var(--navy);margin:0.1rem 0 0.3rem;letter-spacing:-.01em}
.tx-bc p{font-size:0.75rem;line-height:1.55;color:#40465A;margin:0}

.tx-sizes{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0.7rem}
.tx-sizes li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.55rem;min-height:7rem;padding:0.9rem 0.4rem;border:1px solid #DCE6EE;border-radius:0.6rem;text-align:center;font-size:0.68rem;font-weight:700;line-height:1.3;color:var(--navy)}
.tx-sizes .tx-ring{width:2.4rem;height:2.4rem}

.tx-adapt{display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);padding:0;overflow:hidden}
.tx-adapt-txt{padding:2rem 2rem 2rem 2.2rem}
.tx-h2l{font-size:1.6rem;line-height:1.2;letter-spacing:-.02em;color:var(--navy);margin:0 0 0.35rem}
.tx-adapt-sub{font-size:0.95rem;font-weight:700;color:var(--green);margin:0 0 1rem}
.tx-adapt-p{font-size:0.76rem;line-height:1.6;color:#40465A;margin:0 0 0.9rem}
.tx-adapt-list li{position:relative;padding-left:1.15rem;font-size:0.71rem;line-height:1.4;color:#2C3243;margin:0 0 0.55rem}
.tx-adapt-list li::before{content:"\2713";position:absolute;left:0;top:0;font-weight:700;color:var(--green)}
.tx-adapt-photo{position:relative;min-height:100%}
.tx-adapt-photo picture,.tx-adapt-photo img{display:block;width:100%;height:100%}
.tx-adapt-photo img{object-fit:cover;object-position:center top}
.tx-adapt-cards{position:absolute;left:13.9%;right:2.4%;bottom:2.2%;height:20.9%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2%}
.tx-adapt-cards li{position:relative;background:#fff;border:1px solid #E2E7F2;border-radius:0.5rem;box-shadow:0 4px 14px rgba(11,36,114,.10);display:flex;align-items:flex-end;justify-content:flex-end;padding:0.45rem 0.7rem}
.tx-adapt-cards .tx-ring{position:absolute;left:0.9rem;top:0.7rem;width:2.3rem;height:2.3rem}
.tx-adapt-cards b{font-size:0.62rem;line-height:1.25;color:var(--navy);text-align:right}

.tx-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.8rem;align-items:start;padding:1.6rem 0.6rem 1.6rem 2rem}
.tx-cta-txt{padding-top:0.4rem}
.tx-cta-h{font-size:1.6rem;line-height:1.2;letter-spacing:-.02em;color:var(--navy);margin:0 0 0.9rem}
.tx-cta-h .g{color:var(--green)}
.tx-cta-txt p{font-size:0.8rem;line-height:1.65;color:#40465A;margin:0 0 1.2rem}
.tx-cta-btns{display:flex;flex-wrap:wrap;gap:0.8rem}
.tx-cta-btns .btn{min-width:11.5rem;min-height:3.5rem;font-size:0.76rem;padding:0.7rem 1.4rem}
.tx-trust{display:flex;flex-wrap:wrap;gap:0.4rem 1.4rem;margin-top:1.1rem}
.tx-trust li{display:flex;align-items:center;gap:0.4rem;font-size:0.65rem;font-weight:700;color:var(--navy)}
.tx-trust svg{width:0.95rem;height:0.95rem}
.tx-form-card{border:1px solid #DCE6EE;border-radius:0.7rem;padding:1.3rem 1.3rem 1.1rem;background:#fff}
.tx-form-h{text-align:center;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.005em;color:var(--navy);margin:0 0 0.25rem}
.tx-form-sub{text-align:center;font-size:0.72rem;font-weight:700;color:var(--green);margin:0 0 1.1rem}
.tx-frm{gap:0.75rem 0.9rem}
.tx-frm .fld label{font-size:0.66rem;font-weight:700;color:var(--navy)}
.tx-frm .fld input,.tx-frm .fld select{font-size:0.7rem}
.tx-frm .fld input::placeholder{color:#9AA3B8}
.tx-frm .fld select:invalid{color:#9AA3B8}
.tx-submit{margin-top:0.2rem;font-family:inherit;font-size:0.76rem;padding:0.8rem 1rem}
.tx-form-foot{display:flex;align-items:center;justify-content:center;gap:0.45rem;margin:0.9rem 0 0;font-size:0.68rem;font-weight:700;color:var(--navy)}
.tx-form-foot svg{width:0.95rem;height:0.95rem}

@media (max-width:1180px){
  .tx-h1{font-size:2.5rem}
  .tx-hero-sub{font-size:1.35rem}
  .tx-ticks{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:0.8rem}
  .tx-sizes{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:1023px){
  .tx-hero-in{grid-template-columns:1fr;gap:1.8rem}
  .tx-logos{grid-template-columns:repeat(3,minmax(0,1fr));padding:0}
  .tx-wf{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tx-wf .tx-wf-last{grid-column:1 / -1}
  .tx-flow{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1.2rem}
  .tx-flow li:nth-child(3)::after{display:none}
  .tx-ben{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tx-adapt{grid-template-columns:1fr}
  .tx-adapt-photo{min-height:0}
  .tx-adapt-photo picture,.tx-adapt-photo img{height:auto}
  .tx-adapt-cards{position:static;height:auto;display:grid;gap:0.7rem;padding:1rem}
  .tx-adapt-cards li{flex-direction:row;align-items:center;justify-content:flex-start;gap:0.8rem;padding:0.8rem 1rem}
  .tx-adapt-cards .tx-ring{position:static}
  .tx-adapt-cards b{text-align:left;font-size:0.82rem}
  .tx-cta{grid-template-columns:1fr;padding:1.6rem}
  /* below 1024 the root font floors at 13px, so lift the small copy to phone-readable sizes */
  .tx-hero-p,.tx-adapt-p,.tx-cta-txt p{font-size:1.02rem}
  .tx-feats li,.tx-sizes li{font-size:0.92rem}
  .tx-sub{font-size:0.98rem}
  .tx-wf li,.tx-adapt-list li{font-size:0.98rem}
  .tx-flow li{font-size:1rem}
  .tx-ticks li{font-size:0.88rem}
  .tx-bc h3{font-size:1.1rem}
  .tx-bc p{font-size:0.98rem}
  .tx-adapt-sub{font-size:1.08rem}
  .tx-adapt-cards b{font-size:1rem}
  .tx-cta-btns .btn{font-size:1rem}
  .tx-trust li{font-size:0.9rem}
  .tx-form-sub{font-size:0.92rem}
  .tx-frm .fld label{font-size:0.92rem}
  .tx-frm .fld input,.tx-frm .fld select{font-size:16px;min-height:44px}
  .tx-submit{font-size:1rem;min-height:44px}
  .tx-form-foot{font-size:0.92rem}
  .tx-ticks svg,.tx-trust svg{width:1.15rem;height:1.15rem}
}
@media (max-width:767px){
  .tx-adapt-cards{grid-template-columns:1fr}
}
@media (max-width:600px){
  .tx-h1{font-size:2.15rem}
  .tx-hero-sub{font-size:1.3rem}
  .tx-hero-p,.tx-adapt-p,.tx-cta-txt p{font-size:1.02rem}
  .tx-feats{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.9rem 0.6rem}
  .tx-feats li{font-size:0.92rem}
  .tx-box{padding:1.5rem 1rem 1.6rem}
  .tx-box.tx-adapt{padding:0}
  .tx-h2,.tx-h2l,.tx-cta-h{font-size:1.45rem}
  .tx-sub{font-size:0.98rem}
  .tx-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.7rem}
  .tx-wf{grid-template-columns:1fr}
  .tx-wf li{font-size:0.98rem;min-height:4.2rem;padding:0.8rem 0.9rem}
  .tx-wf .tx-wf-last{justify-content:flex-start}
  .tx-ring{width:2.8rem;height:2.8rem}
  .tx-wf .tx-ring,.tx-flow .tx-ring,.tx-bc .tx-ring,.tx-sizes .tx-ring,.tx-feats .tx-ring{width:2.9rem;height:2.9rem}
  .tx-flow{grid-template-columns:1fr;gap:1.3rem;max-width:18rem;margin:0 auto}
  .tx-flow li{font-size:1rem;min-height:5rem}
  .tx-flow li:not(:last-child)::after{display:block;left:50%;top:calc(100% + 0.05rem);transform:translateX(-50%) rotate(90deg)}
  .tx-flow li:last-child::after{display:none}
  .tx-ticks{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.8rem 0.7rem}
  .tx-ticks li{font-size:0.88rem}
  .tx-ticks svg{width:1.1rem;height:1.1rem}
  .tx-ben{grid-template-columns:1fr}
  .tx-bc{min-height:0;padding:1.1rem 1rem}
  .tx-bc h3{font-size:1.1rem}
  .tx-bc p{font-size:0.98rem}
  .tx-sizes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tx-sizes li{font-size:0.92rem;min-height:8rem}
  .tx-adapt-txt{padding:1.6rem 1.1rem}
  .tx-adapt-sub{font-size:1.08rem}
  .tx-adapt-list li{font-size:0.98rem}
  .tx-adapt-cards b{font-size:1rem}
  .tx-cta{padding:1.4rem 1rem}
  .tx-cta-btns{flex-direction:column}
  .tx-cta-btns .btn{width:100%;font-size:1rem}
  .tx-trust li{font-size:0.9rem}
  .tx-trust svg{width:1.2rem;height:1.2rem}
  .tx-form-card{padding:1.3rem 1rem}
  .tx-form-h{font-size:1.2rem}
  .tx-form-sub{font-size:0.92rem}
  .tx-frm{grid-template-columns:1fr}
  .tx-frm .fld label{font-size:0.92rem}
  .tx-frm .fld input,.tx-frm .fld select{font-size:16px;min-height:44px}
  .tx-submit{font-size:1rem;min-height:44px}
  .tx-form-foot{font-size:0.92rem}
}
/* ===== end Testimonials + Technology pages (8 Oct) ===== */

/* ===== 13 Oct 2026: client's 8 Oct email, Technology page =====
   Platforms: his new logo grid image on tablet and desktop; on phones the HTML logo cards stay
   (readable at 320px) with his "And many more" tile added.
   Adapt photo: his new photo carries its own three cards, so the HTML overlay is hidden on
   desktop; below 1024px the cropped photo plus the HTML cards are used as before. */
.tx-logos-img{display:block;width:100%;height:auto;max-width:1100px;margin:0 auto}
.tx-logos{display:none}
.tx-logos-more{font-size:0.9rem;font-weight:600;color:var(--navy);gap:0.25rem;background:#EEF7F4 !important}
.tx-logos-more b{color:var(--green)}
.tx-logos-more i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green);opacity:.7}
@media (min-width:1024px){
  .tx-adapt-cards{display:none}
  .tx-adapt-photo img{object-position:center bottom}
}
@media (max-width:767px){
  .tx-logos-img{display:none}
  .tx-logos{display:grid}
}
/* The new dropdown options are long; stop them widening the form past the screen below 1024px. */
.tx-frm,.tx-frm .fld{min-width:0}
.tx-frm .fld select{width:100%;max-width:100%;min-width:0;text-overflow:ellipsis}
@media (max-width:1023px){ .tx-cta{grid-template-columns:minmax(0,1fr)} }

/* ============================================================
   SPECIALTY PAGES (spx-), 20 pages from one template
   Built 13 Oct 2026 from his SPECIALTY/*_APPROVED_4500px.jpg designs.
   Generated by scripts/build-specialty.py; icons by scripts/spec-icons.py.
   ============================================================ */
.spx-hero{position:relative;background:#fff;overflow:hidden}
.spx-hero-in{position:relative;display:grid;grid-template-columns:minmax(0,44%) minmax(0,1fr);align-items:center;min-height:25rem}
.spx-hero-txt{position:relative;z-index:2;padding:2rem 0 2.2rem}
.spx-hero-photo{position:absolute;top:0;right:0;bottom:0;width:62%;z-index:1}
.spx-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:right center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,#000 22%)}
.spx-h1{font-size:3.3rem;line-height:1.05;letter-spacing:-.03em;color:var(--navy);margin:0 0 0.7rem}
.spx-h1-g{font-size:1.55rem;line-height:1.25;font-weight:700;letter-spacing:-.02em;color:var(--green);margin:0 0 1rem}
.spx-tag{font-size:0.98rem;line-height:1.45;font-weight:700;color:var(--navy);margin:0 0 1rem}
.spx-hero-p{font-size:0.8rem;line-height:1.7;color:#30364A;margin:0 0 0.9rem;max-width:34rem}
.spx-btns{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.4rem}
.spx-btns .btn{display:inline-flex;align-items:center;gap:0.55rem;font-size:0.78rem;padding:0.8rem 1.3rem;border-radius:0.4rem}
.spx-bi{width:1.25rem;height:1.25rem;flex:none}
.spx-sec{padding:2.2rem 0 0}
.spx-h2{display:flex;align-items:center;justify-content:center;gap:1.1rem;text-align:center;font-size:1.5rem;line-height:1.2;letter-spacing:-.02em;color:var(--navy);margin:0 0 0.45rem}
.spx-h2::before,.spx-h2::after{content:"";flex:0 0 3.2rem;height:2px;background:var(--green)}
.spx-sub{text-align:center;font-size:0.8rem;line-height:1.6;color:#30364A;margin:0 0 1.4rem}
.spx-ch{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.spx-ch li{background:#fff;border:1px solid #E3E9F3;border-radius:0.7rem;box-shadow:0 4px 16px rgba(11,36,114,.05);padding:1.3rem 0.9rem 1.4rem;text-align:center}
.spx-ch img{width:3.6rem;height:3.6rem;margin:0 auto 0.8rem}
.spx-ch h3{font-size:0.9rem;line-height:1.3;color:var(--navy);margin:0 0 0.6rem}
.spx-ch p{font-size:0.7rem;line-height:1.6;color:#30364A;margin:0}
.spx-svc{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:0}
.spx-svc li{display:flex;align-items:center;gap:0.8rem;padding:1.1rem 0.9rem;border-right:1px solid #E3E9F3}
.spx-svc li:nth-child(5n){border-right:0}
.spx-svc li:nth-child(-n+5){border-bottom:1px solid #E3E9F3}
.spx-svc img{width:2.9rem;height:2.9rem;flex:none}
.spx-svc span{font-size:0.74rem;line-height:1.4;font-weight:600;color:var(--green-text)}
.spx-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,42%);align-items:end;background:var(--navy-band);border-radius:0.9rem;overflow:hidden;margin-top:2rem}
.spx-band-txt{padding:1.8rem 1rem 1.8rem 2.2rem;align-self:center}
.spx-band h2{font-size:1.3rem;line-height:1.25;color:#2FBF6A;margin:0 0 0.7rem}
.spx-band p{font-size:0.8rem;line-height:1.6;color:#fff;margin:0 0 1rem;max-width:30rem}
.spx-ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.55rem 1.4rem}
.spx-ticks li{display:flex;align-items:flex-start;gap:0.55rem;font-size:0.76rem;line-height:1.4;color:#fff}
.spx-ticks img{width:1.05rem;height:1.05rem;flex:none;margin-top:0.05rem;filter:brightness(1.35)}
.spx-band-art{align-self:stretch;display:flex;align-items:flex-end;justify-content:center}
.spx-band-art img{width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%);mask-image:linear-gradient(90deg,transparent 0,#000 12%)}
.spx-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.2rem}
.spx-cards li{display:grid;grid-template-columns:3.6rem minmax(0,1fr);gap:0.9rem;background:#fff;border:1px solid #E3E9F3;border-radius:0.7rem;padding:1.4rem 1.3rem}
.spx-cards img{width:3.6rem;height:3.6rem}
.spx-cards h3{font-size:0.95rem;line-height:1.3;color:var(--navy);margin:0.1rem 0 0.6rem}
.spx-cards p{font-size:0.74rem;line-height:1.65;color:#30364A;margin:0}
.spx-proc{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0.4rem;border:1px solid #E3E9F3;border-radius:0.8rem;padding:2rem 0.8rem 1.4rem;position:relative;margin-top:1.8rem}
.spx-proc li{position:relative;text-align:center;padding:0 0.2rem}
.spx-proc li+li::before{content:"";position:absolute;left:-0.65rem;top:2.6rem;width:0.9rem;height:0.9rem;background:url("img/spec/svg/arrow.svg") center/contain no-repeat}
.spx-num{position:absolute;left:50%;top:-3.05rem;transform:translateX(-50%);width:1.8rem;height:1.8rem;border-radius:50%;background:var(--green);color:#fff;font-size:0.68rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.spx-proc img{width:3.4rem;height:3.4rem;margin:0.2rem auto 0.7rem}
.spx-proc h3{font-size:0.74rem;line-height:1.35;color:var(--green-text);margin:0 0 0.5rem}
.spx-proc p{font-size:0.64rem;line-height:1.55;color:#30364A;margin:0}
.spx-why{background:#F4F8F6;border:1px solid #E3EDE8;border-radius:0.8rem;padding:1.2rem 1rem 1.3rem;margin-top:1.4rem}
.spx-why h2{text-align:center;font-size:1.05rem;line-height:1.3;color:var(--green-text);margin:0 0 1rem}
.spx-why ul{display:grid;grid-template-columns:repeat(8,minmax(0,1fr))}
.spx-why li{text-align:center;padding:0 0.4rem;border-right:1px solid #DDE6E1;font-size:0.68rem;line-height:1.4;font-weight:600;color:var(--navy)}
.spx-why li:last-child{border-right:0}
.spx-why img{width:2.9rem;height:2.9rem;margin:0 auto 0.5rem}
.spx-cta{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.6rem;background:var(--navy-band);border-radius:0.9rem;padding:1.3rem 2rem;margin:1.4rem 0 2.6rem}
.spx-cta-ic{width:6.2rem;height:6.2rem;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}
.spx-cta-ic img{width:4rem;height:4rem}
.spx-cta h2{font-size:1.15rem;line-height:1.3;color:#2FBF6A;margin:0 0 0.5rem}
.spx-cta p{font-size:0.8rem;line-height:1.6;color:#fff;margin:0 0 0.9rem}
.spx-cta .spx-btns{margin-top:0}
.spx-btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7)}
.spx-btn-ghost:hover{background:rgba(255,255,255,.08)}
.spx-call{display:flex;align-items:center;gap:0.9rem;border:1.5px solid rgba(255,255,255,.85);border-radius:0.5rem;padding:0.8rem 1.4rem;color:#fff;text-decoration:none}
.spx-call svg{width:1.9rem;height:1.9rem;fill:#fff;flex:none}
.spx-call span{display:block;font-size:1.05rem;line-height:1.3;font-weight:600}
.spx-call b{display:block;font-size:1.05rem;font-weight:600;white-space:nowrap}
@media (max-width:1180px){
  .spx-proc{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:3rem}
  .spx-proc li:nth-child(5)::before{display:none}
  .spx-why ul{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:1.2rem}
  .spx-why li:nth-child(4){border-right:0}
}
@media (max-width:1023px){
  .spx-hero-in{grid-template-columns:1fr;min-height:0}
  .spx-hero-photo{position:relative;width:auto;margin:0 -3%;order:-1}
  .spx-hero-photo img{height:auto;-webkit-mask-image:none;mask-image:none}
  .spx-hero-txt{padding:1.6rem 0 0.4rem}
  .spx-h1{font-size:2.6rem}
  .spx-h1-g{font-size:1.4rem}
  .spx-tag{font-size:1.05rem}
  .spx-hero-p,.spx-sub,.spx-band p,.spx-cta p{font-size:1rem}
  .spx-btns .btn{font-size:0.95rem}
  .spx-h2{font-size:1.45rem}
  .spx-h2::before,.spx-h2::after{flex-basis:1.6rem}
  .spx-ch{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spx-ch h3,.spx-cards h3{font-size:1.05rem}
  .spx-ch p,.spx-cards p{font-size:0.95rem}
  .spx-svc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spx-svc li,.spx-svc li:nth-child(5n),.spx-svc li:nth-child(-n+5){border-right:0;border-bottom:1px solid #E3E9F3}
  .spx-svc li:nth-child(odd){border-right:1px solid #E3E9F3}
  .spx-svc span{font-size:0.92rem}
  .spx-band{grid-template-columns:1fr}
  .spx-band-txt{padding:1.6rem 1.4rem 0.6rem}
  .spx-band-art img{-webkit-mask-image:none;mask-image:none}
  .spx-band h2{font-size:1.35rem}
  .spx-ticks li{font-size:0.95rem}
  .spx-cards{grid-template-columns:1fr}
  .spx-proc h3{font-size:0.95rem}
  .spx-proc p{font-size:0.85rem}
  .spx-why h2{font-size:1.2rem}
  .spx-why li{font-size:0.85rem}
  .spx-cta{grid-template-columns:1fr;justify-items:center;text-align:center;padding:1.6rem 1.4rem}
  .spx-cta .spx-btns{justify-content:center}
  .spx-cta h2{font-size:1.3rem}
}
@media (max-width:767px){
  .spx-proc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spx-proc li::before,.spx-proc li+li::before{display:none}
  .spx-why ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spx-why li,.spx-why li:nth-child(4){border-right:0}
  .spx-why li:nth-child(odd){border-right:1px solid #DDE6E1}
}
@media (max-width:600px){
  .spx-h1{font-size:2.2rem}
  .spx-ch{grid-template-columns:1fr}
  .spx-svc{grid-template-columns:1fr}
  .spx-svc li:nth-child(odd){border-right:0}
  .spx-ticks{grid-template-columns:1fr}
  .spx-btns{flex-direction:column}
  .spx-btns .btn{width:100%;justify-content:center;font-size:1rem}
  .spx-call{width:100%;justify-content:center}
}
/* spx- desktop hero: photo keeps its own shape (all of his people visible), fades into the text */
.spx-proc{list-style:none;margin-left:0}
@media (min-width:1024px){
  .spx-hero-in{grid-template-columns:minmax(0,47%) minmax(0,1fr);min-height:0}
  .spx-hero-txt{padding:1.6rem 0 1.8rem}
  .spx-h1{font-size:3rem}
  .spx-h1-g{font-size:1.45rem;margin-bottom:0.8rem}
  .spx-tag{font-size:0.92rem;margin-bottom:0.8rem}
  .spx-hero-p{font-size:0.76rem;margin-bottom:0.7rem;max-width:30rem}
  .spx-btns{flex-wrap:nowrap;gap:0.8rem}
  .spx-btns .btn{font-size:0.72rem;padding:0.75rem 1.1rem;white-space:nowrap}
  .spx-hero-photo{top:50%;bottom:auto;transform:translateY(-50%);width:63%}
  .spx-hero-photo img{height:auto;object-fit:initial;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26%);mask-image:linear-gradient(90deg,transparent 0,#000 26%)}
}
/* spx- illustration: his navy is a purple navy; we keep our palette (memory: colours locked)
   and fade the art's edges into our band instead. Process numbers need room on 2-col phones. */
.spx-band-art img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%),linear-gradient(180deg,transparent 0,#000 14%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 14%),linear-gradient(180deg,transparent 0,#000 14%);mask-composite:intersect}
@media (max-width:1023px){
  .spx-band-art img{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%);mask-image:linear-gradient(180deg,transparent 0,#000 18%);-webkit-mask-composite:source-over;mask-composite:add}
}
@media (max-width:767px){
  .spx-proc{row-gap:3.9rem;padding-top:2.4rem}
}
/* spx- tick list reads down the left column, then the right, as in his designs */
.spx-ticks{grid-auto-flow:column;grid-template-rows:repeat(var(--rows,4),auto)}
.spx-proc-navy h3{color:var(--navy)}
@media (max-width:600px){ .spx-ticks{grid-auto-flow:row;grid-template-rows:none} }

/* States We Serve, device check 22 Oct 2026: the green side lines of a long .sw-h2 poked 2px past the
   screen on a 673px foldable; long state names overflowed a 280px folded phone. */
.sw-h2{overflow-x:clip}
@media (max-width:300px){
  .sw-cov-list li{white-space:normal}
}

/* ---------- Admin panel articles (article.php), 22 Oct 2026 ----------
   bl-prose = the text the client writes in WordPress; everything else reuses the article page styles. */
.bl-prose{padding:0 0.85rem;font-size:0.8rem;line-height:1.65;color:#1E2440;max-width:42rem;overflow-wrap:break-word}
.bl-prose>*:first-child{margin-top:0}
.bl-prose p{margin:0 0 0.85rem}
.bl-prose h2{font-size:1.05rem;line-height:1.3;color:var(--navy);margin:1.4rem 0 0.5rem}
.bl-prose h3{font-size:0.92rem;line-height:1.35;color:var(--navy);margin:1.15rem 0 0.4rem}
.bl-prose h4{font-size:0.82rem;color:var(--navy);margin:1rem 0 0.35rem}
.bl-prose ul,.bl-prose ol{margin:0 0 0.9rem;padding-left:1.3rem}
.bl-prose ul{list-style:disc}
.bl-prose ol{list-style:decimal}
.bl-prose li::marker{color:#0A7A3C}
.bl-prose li{margin:0 0 0.35rem}
.bl-prose a{color:#0A7A3C;font-weight:600;text-decoration:underline}
.bl-prose img,.bl-prose video,.bl-prose iframe{max-width:100%;height:auto;border-radius:0.5rem}
.bl-prose figure{margin:1rem 0}
.bl-prose figcaption{font-size:0.66rem;color:#4A5272;margin-top:0.3rem}
.bl-prose blockquote{margin:1rem 0;padding:0.7rem 1rem;border-left:3px solid #4FA374;background:#F1F8F3;border-radius:0 0.4rem 0.4rem 0}
.bl-prose blockquote p:last-child{margin:0}
.bl-prose table{display:block;overflow-x:auto;border-collapse:collapse;margin:0 0 1rem;font-size:0.72rem}
.bl-prose th,.bl-prose td{border:1px solid #E1E7F2;padding:0.45rem 0.6rem;text-align:left;vertical-align:top}
.bl-prose th{background:#F4F7FC;color:var(--navy)}
.bl-prose pre{overflow-x:auto;background:#F4F7FC;padding:0.7rem;border-radius:0.4rem;font-size:0.7rem}
.bl-prose .aligncenter{margin-left:auto;margin-right:auto}
.bl-noimg{display:block;width:100%;aspect-ratio:12/5;background:linear-gradient(135deg,#EEF3FB,#DCE6F7)}
.bl-pop .bl-noimg{width:3.6rem;height:3.2rem;aspect-ratio:auto;border-radius:0.35rem}
.bl-catlist{grid-template-columns:repeat(3,minmax(0,1fr));margin:0.9rem 0 1.2rem}
.bl-empty{font-size:0.8rem;line-height:1.6;color:#1E2440;padding:0 0.85rem;margin:0.4rem 0 1.4rem}
.bl-empty a{color:#0A7A3C;font-weight:600}
@media (max-width:1023px){
  .bl-prose{font-size:0.95rem;max-width:none}
  .bl-prose h2{font-size:1.2rem}
  .bl-prose h3{font-size:1.05rem}
  .bl-prose table{font-size:0.85rem}
  .bl-catlist{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bl-empty{font-size:0.95rem}
}
@media (max-width:600px){
  .bl-catlist{grid-template-columns:minmax(0,1fr)}
  .bl-pn-none{display:none}
}

/* ===== Floating WhatsApp + back-to-top (client 22 Oct email, items 4 and 5; reference jhsprofessionals.com) ===== */
.fl-wa{position:fixed;left:20px;bottom:20px;z-index:50;display:flex;align-items:center;gap:10px;text-decoration:none}
.fl-wa-ic{width:56px;height:56px;border-radius:50%;background:#00A65A;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.25);transition:filter .18s}
.fl-wa-ic svg{width:30px;height:30px;fill:#fff}
.fl-wa-tx{background:#fff;color:var(--navy);font-size:13px;font-weight:600;line-height:1;padding:7px 10px;border-radius:6px;box-shadow:0 2px 8px rgba(10,36,114,.18);white-space:nowrap}
.fl-wa:hover .fl-wa-ic{filter:brightness(1.08)}
.fl-top{position:fixed;right:20px;bottom:20px;z-index:50;width:44px;height:44px;border:0;border-radius:8px;background:var(--navy-btn);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s,background .18s}
.fl-top.on{opacity:1;visibility:visible;transform:none}
.fl-top:hover{background:var(--green)}
.fl-top svg{width:22px;height:22px}
@media (max-width:600px){
  .fl-wa{left:14px;bottom:14px;gap:8px}
  .fl-wa-ic{width:50px;height:50px}
  .fl-wa-ic svg{width:27px;height:27px}
  .fl-wa-tx{font-size:12px;padding:6px 8px}
  .fl-top{right:14px;bottom:17px}
}
@media (prefers-reduced-motion:reduce){.fl-top{transition:none}}
@media print{.fl-wa,.fl-top{display:none}}
