/* ---------------------------------------------------------------------------
   The directory report (/admin/report/, and the public copy at
   /press/report/read/). Every .rp is one US Letter page, 8.5 by 11 inches: a
   column with the page's content (.rp-body) and its footer under it, in the
   flow. Nothing is positioned over the text, and report.js moves anything that
   does not fit onto a continuation page. On screen the pages sit on a grey
   desk; in print each one is a sheet, and the page chrome disappears.
--------------------------------------------------------------------------- */
@page{size:letter;margin:0}
.rp-bar{background:var(--black);color:#fff;padding:28px 24px 18px}
.rp-bar-in{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:20px 40px;align-items:flex-end;justify-content:space-between}
.rp-bar h1{font-size:clamp(22px,3vw,30px);color:#fff;margin:6px 0 8px}
.rp-bar p{color:var(--on-dark,#C9C6BF);font-size:14px;max-width:70ch}
.rp-bar-k{font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.rp-bar-actions{display:flex;gap:10px;flex-wrap:wrap}
.rp-bar-actions .btn.ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.rp-bar-tip{max-width:1100px;margin:16px auto 0;font-size:12.5px;color:var(--on-dark-dim,#9A9A9A)}
.rp-book{background:#D9D9D6;padding:48px 16px 120px;display:flex;flex-direction:column;align-items:center;gap:48px}

.rp{--pw:8.5in;--ph:11in;position:relative;width:var(--pw);height:var(--ph);flex:none;overflow:hidden;background:#fff;color:var(--ink);
  padding:.75in .8in .42in;box-shadow:0 10px 40px rgba(0,0,0,.18);font-size:10.5pt;line-height:1.66;break-after:page;page-break-after:always;
  display:flex;flex-direction:column}
.rp-body{flex:1 1 auto;min-height:0;overflow:hidden}
/* The site's own header and footer rules (sticky, layered) never reach inside a page. */
.rp header,.rp footer{position:static;z-index:auto}
.rp-book{position:relative;z-index:0;isolation:isolate}
.rp-body>:first-child{margin-top:0}
.rp-squeeze .rp-body{font-size:9.5pt;line-height:1.5}
/* No word left alone on a line: headings balance, paragraphs avoid a last-line orphan. */
.rp h1,.rp h2,.rp h3,.rp .rp-h1,.rp-tagline,.rp-lede,.rp-cover-lede,.rp .rp-art-t,.rp-quote,.rp-close h2,.rp .rp-art-k{text-wrap:balance}
.rp p,.rp li,.rp dd{text-wrap:pretty}
.rp-nw{white-space:nowrap}
.rp h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:24pt;line-height:1.12;text-transform:uppercase;letter-spacing:-.01em;margin:6px 0 20px}
.rp h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:8.5pt;line-height:1.35;letter-spacing:.16em;text-transform:uppercase;margin:22px 0 10px;color:var(--ink)}
.rp p{margin:0 0 14px;color:var(--grey-70)}
.rp-eyebrow{font-family:'Montserrat',sans-serif;font-weight:700;font-size:8pt;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep)!important;margin:0}
.rp-lede{font-size:13pt;font-weight:600;color:var(--ink)!important}
.rp-fine{font-size:8.5pt;line-height:1.6;color:var(--grey-55)!important;margin-top:22px}
/* A closing note sits well clear of what is above it, on a rule of its own. */
.rp-body>.rp-fine:not(:first-child){margin-top:28px;padding-top:12px;border-top:1px solid var(--grey-15)}
.rp-block{margin-top:4px}
.rp-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.rp-foot{flex:none;margin-top:14px;display:flex;justify-content:space-between;gap:12px;
  border-top:1px solid var(--grey-15);padding-top:8px;font-size:7.5pt;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-55)}
.rp-num{font-weight:700;color:var(--ink)}

/* cover and close */
.rp-cover,.rp-close{background:radial-gradient(90% 60% at 80% 18%,#2a2410 0%,var(--black) 60%);color:#fff}
.rp-cover .rp-body,.rp-close .rp-body{display:flex;flex-direction:column;justify-content:center}
.rp-cover .rp-body>*,.rp-close .rp-body>*{flex:none}
.rp-close .rp-foot{border-top-color:rgba(255,255,255,.18);color:#8A8780}
.rp-close .rp-num{color:#fff}
.rp-cover .rp-h1{font-family:'Montserrat',sans-serif;font-weight:900;font-size:46pt;line-height:1;text-transform:uppercase;color:#fff;margin:12px 0 18px}
.rp-cover .rp-h1 span{display:block;font-style:italic;color:var(--gold)}
.rp-close h2{color:#fff;font-size:30pt}
.rp-cover p,.rp-close p{color:#C9C6BF}
.rp-close .rp-fine{color:#9A9A9A!important}
.rp-close h3{color:var(--gold)}
.rp-logo{width:1.5in;height:auto;margin-bottom:.4in}
.rp-kicker{font-family:'Montserrat',sans-serif;font-weight:700;font-size:9pt;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)!important}
.rp-cover-lede{font-size:13pt;max-width:5.4in}
.rp-cover-meta{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:.5in;padding-top:14px;border-top:1px solid rgba(255,255,255,.2);
  font-size:8pt;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fff}
.rp-seal{position:absolute;right:.7in;top:.7in;width:1.3in;height:1.3in;color:var(--gold)}
.rp-seal .spin{animation:none}
.rp-close-contact{font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:.06em;color:#fff!important;margin:34px 0 0!important;padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}
.rp-close .rp-body>.rp-fine{border-top:0;padding-top:0;margin-top:14px}

/* contents */
.rp-toc{list-style:none;margin:20px 0 0;padding:0}
.rp-toc li{display:flex;align-items:baseline;gap:8px;padding:7px 0;font-size:11pt;line-height:1.35}
.rp-toc li i{flex:1;border-bottom:1px dotted var(--grey-40);transform:translateY(-3px)}
.rp-toc li b{font-family:'Montserrat',sans-serif}
.rp-toc .rp-group{margin-top:8px;font-weight:700}
.rp-toc .rp-sub{padding-left:18px;font-size:10pt;color:var(--grey-70)}

/* text pages */
.rp-list,.rp-steps,.rp-checks,.rp-tiers,.rp-bars{list-style:none;margin:0;padding:0}
.rp-list{counter-reset:r;border-top:1px solid var(--ink)}
.rp-list li{counter-increment:r;display:grid;grid-template-columns:.42in 1fr;column-gap:4px;padding:11px 0;border-bottom:1px solid var(--grey-15)}
.rp-list li::before{content:counter(r,decimal-leading-zero);grid-row:1 / 3;font-family:'Montserrat',sans-serif;font-weight:800;font-size:10pt;color:var(--gold-deep)}
.rp-roman li::before{content:counter(r,upper-roman)}
.rp-list b{font-family:'Montserrat',sans-serif;font-size:10.5pt;color:var(--ink)}
.rp-list span{display:block;margin-top:3px;font-size:9.5pt;color:var(--grey-70);line-height:1.6}
.rp-steps{display:grid;gap:18px;margin-top:12px}
.rp-steps li{counter-increment:s;padding:12px 0 0 .55in;border-top:1px solid var(--ink);position:relative}
.rp-steps{counter-reset:s}
.rp-steps li::before{content:"0" counter(s);position:absolute;left:0;top:10px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:16pt;color:var(--gold-deep)}
.rp-steps b{display:block;font-family:'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:10.5pt;color:var(--ink);margin-bottom:4px}
.rp-steps span{display:block;font-size:10pt;line-height:1.6;color:var(--grey-70)}
.rp-box{margin-top:16px;border-left:3px solid var(--gold-edge);padding:4px 0 4px 16px}
.rp-quote{margin:22px 0 0;padding:16px 20px;line-height:1.4;background:var(--black);color:#fff;font-family:'Montserrat',sans-serif;font-weight:800;font-size:13pt;text-transform:uppercase}
.rp-tiers li{display:flex;gap:10px;font-size:9.5pt;padding:4px 0}
.rp-tiers b{min-width:.5in;font-family:'Montserrat',sans-serif;color:var(--gold-deep)}

/* numbers */
.rp-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--grey-15);margin-bottom:6px}
.rp-stat{padding:12px 10px 10px 0}
.rp-stat b{display:block;font-family:'Montserrat',sans-serif;font-weight:800;font-size:22pt;line-height:1;color:var(--gold-deep)}
.rp-stat span{font-size:7.5pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-70)}
.rp-checks li{position:relative;padding:5px 0 5px 18px;font-size:10pt;line-height:1.5;color:var(--ink)}
.rp-checks li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;background:var(--gold)}
.rp-bars li{display:grid;grid-template-columns:1.45in 1fr .3in;gap:10px;align-items:center;font-size:9pt;line-height:1.35;padding:3px 0;color:var(--grey-70)}
.rp-bars i{display:block;height:6px;background:var(--grey-15);position:relative}
.rp-bars i::after{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--v) * 1%);background:var(--gold-edge)}
.rp-bars b{font-family:'Montserrat',sans-serif;text-align:right;color:var(--ink)}
.rp-numbers h3{margin-top:12px}
.rp-numbers .rp-checks{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.rp-bars .rp-more-row{display:block;font-size:8pt;color:var(--grey-55);padding:2px 0 0}

/* listing snapshots: two a page, each a fixed shape that never grows with what a practice wrote */
.rp-section-k{margin-bottom:12px!important}
.rp-snap{padding:0 0 .2in;margin:0 0 .2in;border-bottom:1px solid var(--grey-15)}
.rp-snap:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.rp-shead{display:flex;gap:14px;align-items:center;padding-bottom:10px;border-bottom:2px solid var(--black)}
.rp-mark{width:.56in;height:.56in;object-fit:contain;border:1.5px solid var(--black);padding:4px;flex:none;background:#fff}
.rp-initials{display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:15pt}
.rp-snap h2{margin:2px 0 4px;font-size:15pt;line-height:1.1}
.rp-flags{display:flex;flex-wrap:wrap;gap:6px;margin:0!important}
.rp-flags span{font-size:6.5pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:2px 6px;border:1px solid var(--black);color:var(--ink)}
.rp-tagline{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10pt;line-height:1.38;color:var(--ink)!important;margin:9px 0 7px!important}
.rp-sbody{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}
.rp-smain p{font-size:9pt;line-height:1.55;margin:0 0 8px}
.rp-ai{font-size:8.25pt!important;line-height:1.5!important;background:var(--off);border-left:3px solid var(--black);padding:6px 10px;margin:8px 0 0!important}
.rp-ai b{font-family:'Montserrat',sans-serif;font-size:7pt;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.rp-facts{margin:0;border-top:1px solid var(--ink)}
.rp-facts div{display:grid;grid-template-columns:.95in 1fr;gap:8px;padding:3px 0;border-bottom:1px solid var(--grey-15)}
.rp-facts dt{font-size:6.5pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-55);padding-top:2px}
.rp-facts dd{margin:0;font-size:8.25pt;line-height:1.42;color:var(--ink);overflow-wrap:break-word}
.rp-scontact{display:flex;flex-wrap:wrap;gap:4px 18px;margin:10px 0 0!important;padding:7px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--grey-15);font-size:8pt!important;line-height:1.45;color:var(--ink)!important}
.rp-scontact b{font-family:'Montserrat',sans-serif;font-size:6.5pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-55);margin-right:4px}
.rp-vetted{margin:8px 0 0!important;font-size:7.5pt!important;font-weight:600;color:var(--gold-deep)!important;letter-spacing:.04em;line-height:1.5}

/* the directory index: a small rectangle a practice */
.rp-ixlist{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rp-ix{display:grid;grid-template-columns:.52in 1fr;gap:12px;align-items:center;border:1px solid var(--grey-15);border-left:3px solid var(--gold-edge);padding:10px 12px;break-inside:avoid}
.rp-ix-mark{width:.52in;height:.52in;object-fit:contain;border:1px solid var(--black);padding:3px;background:#fff}
.rp-ix-mark.rp-initials{font-size:11pt}
.rp-ix-t{min-width:0}
.rp-ix-n{font-family:'Montserrat',sans-serif;font-weight:800;font-size:10pt;line-height:1.25;color:var(--ink)!important;margin:0!important}
.rp-ix-k{font-size:6.75pt!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)!important;margin:2px 0 3px!important;line-height:1.4}
.rp-ix-c{font-size:7.75pt!important;line-height:1.45;margin:0!important;color:var(--grey-70)!important;overflow-wrap:anywhere}
.rp-ix-c span{display:block}
.rp-scontact .rp-nw{white-space:normal;overflow-wrap:anywhere;min-width:0}

/* how practices are ordered */
.rp-order{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:14px 0 4px;padding:12px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--grey-15)}
.rp-order p{font-size:8.5pt!important;line-height:1.55;margin:0!important}
.rp-order b{color:var(--ink)}

/* who the report is for */
.rp-for{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:6px}
.rp-for>div{border-top:3px solid var(--black);padding-top:12px}
.rp-for h3{margin-top:0}
.rp-for .rp-checks li{font-size:9.25pt;color:var(--grey-70)}
.rp-for .rp-checks li b{color:var(--ink)}
.rp-live{margin-top:22px;background:var(--black);color:#fff;padding:14px 18px}
.rp-live p{color:#C9C6BF!important;margin:0!important;font-size:9pt}
.rp-live b{color:var(--gold)}

/* the toolbar: live status and the analytics switch (never printed) */
.rp-bar-status{margin-top:10px!important;font-size:13px!important;color:var(--gold)!important}
.rp-switch{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:14px;cursor:pointer;margin-right:6px}
.rp-switch input{width:16px;height:16px;accent-color:var(--gold)}
.rp-switch:has(input:disabled){opacity:.5;cursor:default}
.rp-book.no-an .rp-an{display:none!important}

/* site analytics on the pages */
.rp-stats-an{border-top:1px solid var(--grey-15)}
.rp-stats-an .rp-stat{padding:8px 10px 8px 0}
.rp-stats-an .rp-stat b{font-size:15pt;color:var(--ink)}
.rp-numbers .rp-an h3{margin-top:12px}
.rp-reach{margin:8px 0 0!important;padding-top:6px;border-top:1px solid var(--grey-15);font-size:7.75pt!important;line-height:1.5;color:var(--grey-70)!important}
.rp-reach b{color:var(--ink);font-family:'Montserrat',sans-serif;font-size:7.5pt;letter-spacing:.08em;text-transform:uppercase}

/* the editorial and the contributors */
.rp-editorial .rp-stats,.rp-contributors .rp-stats{margin:6px 0 4px}
.rp-arts{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--ink)}
.rp-arts li{padding:14px 0 13px;border-bottom:1px solid var(--grey-15)}
.rp-art-k{font-size:7.5pt!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)!important;margin:0 0 4px!important;line-height:1.4}
.rp .rp-art-t{font-size:12pt;letter-spacing:-.005em;text-transform:none;margin:0 0 5px;line-height:1.25}
.rp-art-d{font-size:9.5pt;line-height:1.55;margin:0 0 5px!important}
.rp-art-m{font-size:8.5pt!important;line-height:1.5;margin:0!important;color:var(--grey-55)!important}
.rp-art-an{font-size:8.5pt!important;margin:3px 0 0!important;color:var(--ink)!important;font-weight:600}
.rp-people{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--ink)}
.rp-person{display:grid;grid-template-columns:1.15in 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--grey-15)}
.rp-photo{width:1.15in;height:1.4in;object-fit:cover;border:1.5px solid var(--black);display:block}
.rp-photo.rp-initials{display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:22pt}
.rp-bio{font-size:9.5pt;line-height:1.6;margin:6px 0 6px!important}
.rp-columns li b{font-size:10pt}
.rp-columns em{font-style:normal;font-weight:600;color:var(--grey-70)}

/* On screen: each page scaled to the window (report.js sets --rp-zoom), and the page dock. */
@media screen{
  .rp{zoom:var(--rp-zoom,1)}
  .rp-dock{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:4px;padding:6px;background:#0A0A0A;color:#fff;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.28);font-family:'Montserrat',sans-serif}
  .rp-book{overflow-x:clip;max-width:100%}
  .rp-dock a.rp-dock-print{display:inline-flex;align-items:center;height:36px;border-radius:999px;text-decoration:none;white-space:nowrap}
  .rp-dock button{all:unset;cursor:pointer;min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:20px;line-height:1;color:#fff}
  .rp-dock button:hover,.rp-dock button:focus-visible{background:rgba(255,255,255,.14)}
  .rp-dock button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
  .rp-dock .rp-dock-print{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:0 14px;background:var(--gold);color:var(--black)}
  .rp-dock .rp-dock-print:hover,.rp-dock .rp-dock-print:focus-visible{background:#fff}
  .rp-dock-n{white-space:nowrap;min-width:96px;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#E6E3DC;font-variant-numeric:tabular-nums}
}
@media screen and (max-width:900px){
  .rp-book{padding:20px 0 96px;gap:16px}
}
@media screen and (max-width:600px){
  .rp-book{padding:12px 0 88px;gap:12px}
  .rp-dock{bottom:12px;max-width:calc(100% - 96px)}
  .rp-dock-n{min-width:0;padding:0 4px;font-size:9.5px;letter-spacing:.1em}
  .rp-dock .rp-dock-print{padding:0 12px;font-size:9px}
}
@media print{
  html,body{background:#fff!important}
  .admin-head,.site-head,.ticker-wrap,.site-foot,footer.site-footer,.rp-bar,.skip-link,.rp-dock,.to-top,.back-to-top{display:none!important}
  .rp{zoom:1!important}
  main{padding:0!important;margin:0!important}
  .rp-book{background:none;padding:0;gap:0;display:block}
  .rp{box-shadow:none;margin:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
