/* ===========================================================================
   Dr Triage pattern styles (dtp-*) - v2 design round (2026-07-09)
   Styles for the block-editor pattern library used by the marketing-editable
   content pages. Reuses the design-system tokens (colors_and_type.css) and the
   pg-* section vocabulary (pages.css); everything here is additive.

   v2 notes:
   - Every component selector carries the :is(.dtp-main,.editor-styles-wrapper)
     scope. The generic type rules below are class+element specificity; without
     the scope on components, generics win and the whole hierarchy collapses
     (the v1 bug: 90px stat numerals rendering at body size).
   - Full-bleed section moods are driven by :has() on .pg-section, so the
     block markup never needs section-level classes marketing could break.
   ======================================================================== */

/* ---------- content-template shell: warm canvas + paper grain ---------- */
/* kill the homepage-era global section margin on content pages: the hero
   nestles against the nav, and section rhythm is owned by padding alone */
main.dtp-main > section{margin-top:0}

.dtp-main{background:var(--bg);overflow-x:clip;position:relative}
/* paper grain retired 2026-07-10 (Emily: all-white baseline; Blog/About are the model) */

/* container: content pages share the nav's frame so left edges align with the logo */
.dtp-main .pg-inner{max-width:var(--maxw-wide)}

/* reading measure: bands stay wide, reading elements cap at a comfortable
   line length (65-75ch canon; taste-frontend / impeccable / ux-guidelines #21+#73).
   Everything stays on the shared left rail. */
.dtp-main{--dtp-read:880px;--dtp-table:1100px}

/* ---------- generic type inside pattern pages ---------- */
:is(.dtp-main,.editor-styles-wrapper) :is(h1,h2,h3){font-family:var(--font-display);color:var(--heading);letter-spacing:-.02em;text-wrap:balance}
:is(.dtp-main,.editor-styles-wrapper) h1{font-weight:600;font-size:clamp(38px,4.2vw,92px);line-height:1.0;margin:0}
:is(.dtp-main,.editor-styles-wrapper) h2{font-weight:600;font-size:clamp(30px,2.7vw,56px);line-height:1.05;margin:0 0 18px}
:is(.dtp-main,.editor-styles-wrapper) h3{font-weight:600;font-size:clamp(21px,1.65vw,30px);line-height:1.16;margin:0 0 10px}
:is(.dtp-main,.editor-styles-wrapper) p{font-family:var(--font-sans);font-weight:300;font-size:clamp(16px,1.05vw,19px);line-height:1.62;color:var(--fg2)}
.dtp-main .pg-inner > p{max-width:72ch}
:is(.dtp-main,.editor-styles-wrapper) .dtp-lead{font-weight:300;font-size:clamp(18px,1.35vw,26px);line-height:1.5;color:var(--fg2);max-width:58ch}
:is(.dtp-main,.editor-styles-wrapper) .dtp-kicker{font-family:var(--font-mono);font-size:12.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brown);margin:0 0 20px;display:flex;align-items:center;gap:14px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-kicker::before{content:"";width:34px;height:2px;background:var(--tan);flex:none}

/* ---------- buttons: core button -> the signature dt-btn bar ---------- */
:is(.dtp-main,.editor-styles-wrapper) .wp-block-button__link{
  font-family:var(--font-sans);font-weight:600;font-size:16px;padding:16px 32px;
  border:0;display:inline-flex;align-items:center;gap:9px;white-space:nowrap;
  background:var(--brown);color:var(--cream);text-decoration:none;
  border-radius:0;border-top-left-radius:22px 43px;
  --cut:16px;
  -webkit-clip-path:polygon(0 0,100% 0,calc(100% - var(--cut)) 100%,0 100%);
          clip-path:polygon(0 0,100% 0,calc(100% - var(--cut)) 100%,0 100%);
  transition:transform .28s var(--ease,ease),background .3s var(--ease,ease)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-button__link:hover{transform:translateY(-2px);background:var(--brown-deep)}
:is(.dtp-main,.editor-styles-wrapper) .is-style-outline .wp-block-button__link{
  background:transparent;color:var(--fg1);border:1.5px solid var(--hairline);
  clip-path:none;-webkit-clip-path:none;border-radius:var(--r-sm,12px);padding:14.5px 30px}
:is(.dtp-main,.editor-styles-wrapper) .is-style-outline .wp-block-button__link:hover{background:var(--surface);border-color:var(--slate)}

/* ---------- 01 HERO: display scale on a warm wash ---------- */
.dtp-hero{padding-top:clamp(64px,8vw,140px);padding-bottom:clamp(44px,5vw,84px);
  position:relative;overflow:clip;
  background:var(--cream)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-hero h1{max-width:18ch}
.dtp-hero .dtp-lead{margin-top:26px}
.dtp-hero .wp-block-buttons{margin-top:34px}
/* hero background media (image block with className dtp-hero-media): sits on the
   right, fades into the canvas where the copy lives, homepage-hero style */
.dtp-hero:has(.dtp-hero-media){min-height:clamp(480px,56vh,720px);display:flex;align-items:center}
.dtp-hero:has(.dtp-hero-media) .pg-inner{width:100%}
/* the media is a static-flow sibling of the text: keep it painted UNDER everything
   and keep text/links clickable (positioned z0 beats static siblings otherwise) */
.dtp-hero:has(.dtp-hero-media) .pg-inner > :not(.dtp-hero-media){position:relative;z-index:2}
@media (min-width:1024px){
  .dtp-hero:has(.dtp-hero-media) h1{max-width:min(16ch,52%)}
  .dtp-hero:has(.dtp-hero-media) .dtp-lead{max-width:min(58ch,46%)}
}
:is(.dtp-main,.editor-styles-wrapper) .dtp-hero-media{position:absolute;inset:0 0 0 auto;width:60%;margin:0;z-index:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-hero-media img{width:100%;height:100%;object-fit:cover;display:block;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 32%,#000 64%);
          mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 32%,#000 64%)}
/* the warm overlay wears the SAME mask as the image so nothing paints a seam
   at the figure's left boundary */
.dtp-hero-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(236,233,227,.12),rgba(201,166,143,.08) 60%,rgba(255,255,255,.18));
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 32%,#000 64%);
          mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 32%,#000 64%)}
@media (max-width:1023px){
  :is(.dtp-main,.editor-styles-wrapper) .dtp-hero-media{width:100%;opacity:.16}
  :is(.dtp-main,.editor-styles-wrapper) .dtp-hero-media img{mask-image:none;-webkit-mask-image:none}
  .dtp-hero-media::after{mask-image:none;-webkit-mask-image:none}
}

/* ---------- 02 STAT BAND: full-bleed forest moment ---------- */
.dtp-main .pg-section:has(.dtp-stats){background:var(--forest);
  padding-block:clamp(56px,6.5vw,120px);
  border-top:1px solid rgba(255,255,255,.06)}
:is(.dtp-main,.editor-styles-wrapper) .pg-section:has(.dtp-stats) :is(h1,h2,h3){color:var(--cream)}
:is(.dtp-main,.editor-styles-wrapper) .pg-section:has(.dtp-stats) .dtp-lead{color:rgba(255,255,255,.72)}
:is(.dtp-main,.editor-styles-wrapper) .pg-section:has(.dtp-stats) .dtp-kicker{color:var(--tan)}
:is(.dtp-main,.editor-styles-wrapper) .pg-section:has(.dtp-stats) .pg-inner > p:not(.dtp-lead):not(.dtp-kicker):not(.dtp-qualifier){color:rgba(255,255,255,.78)}
.dtp-stats{margin-top:clamp(28px,3vw,52px)}
.dtp-stats .wp-block-columns{gap:0;flex-wrap:wrap}
.dtp-stats .wp-block-column{border-left:1px solid rgba(255,255,255,.16);
  padding-inline:clamp(18px,2vw,40px)}
.dtp-stats .wp-block-column:first-child{border-left:0;padding-left:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-stat-n{font-family:var(--font-display);font-weight:600;
  font-size:clamp(42px,4vw,86px);line-height:.95;letter-spacing:-.035em;color:var(--tan);margin:0;
  font-variant-numeric:tabular-nums;white-space:nowrap}
:is(.dtp-main,.editor-styles-wrapper) .dtp-stat-l{font-family:var(--font-sans);font-weight:300;
  font-size:clamp(14.5px,.98vw,17.5px);line-height:1.5;color:rgba(255,255,255,.88);margin:16px 0 0;
  text-wrap:pretty}
:is(.dtp-main,.editor-styles-wrapper) .dtp-stat-src{font-family:var(--font-mono);font-size:11px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.44);margin:12px 0 0}
:is(.dtp-main,.editor-styles-wrapper) .pg-section:has(.dtp-stats) .dtp-qualifier{color:rgba(255,255,255,.64)}
:is(.dtp-main,.editor-styles-wrapper) .pg-section:has(.dtp-stats) .dtp-quote{background:rgba(255,255,255,.05);border-left-color:var(--tan)}
:is(.dtp-main,.editor-styles-wrapper) .pg-section:has(.dtp-stats) .dtp-quote p{color:var(--cream)}
:is(.dtp-main,.editor-styles-wrapper) .pg-section:has(.dtp-stats) .dtp-quote cite{color:rgba(255,255,255,.55)}
:is(.dtp-main,.editor-styles-wrapper) .pg-section:has(.dtp-stats) a{color:var(--tan)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-qualifier{font-family:var(--font-sans);font-weight:300;font-size:13.5px;
  line-height:1.55;color:var(--fg3);max-width:78ch;margin:22px 0 0}

/* ---------- 03 CARD GRID ---------- */
.dtp-cards .wp-block-columns{gap:clamp(18px,2vw,32px);align-items:stretch;margin-top:clamp(22px,2.4vw,40px)}
.dtp-cards .wp-block-columns + .wp-block-columns{margin-top:clamp(18px,2vw,32px)}
.dtp-card{background:var(--white);border:1px solid var(--hairline);
  border-radius:var(--r-soft-corner,86px 14px 14px 14px);
  padding:clamp(26px,2.5vw,44px) clamp(24px,2.3vw,40px) clamp(30px,2.8vw,48px);
  height:100%;display:flex;flex-direction:column;position:relative;
  transition:transform .35s var(--ease,ease),box-shadow .35s var(--ease,ease),border-color .35s var(--ease,ease)}
.dtp-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:rgba(127,87,66,.3)}
/* the old floating-eyebrow: now an oversized ghost index in the corner */
:is(.dtp-main,.editor-styles-wrapper) .dtp-card-k{font-family:var(--font-display);font-weight:700;
  font-size:clamp(15px,1.05vw,19px);line-height:1;letter-spacing:.04em;text-transform:uppercase;
  color:rgba(127,87,66,.34);margin:0 0 18px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-card h3{margin:0 0 12px;word-break:normal;overflow-wrap:break-word;hyphens:none;font-size:clamp(19px,1.5vw,28px)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-card p{font-size:clamp(14.5px,.94vw,16.5px);margin:0 0 4px;flex:1}
:is(.dtp-main,.editor-styles-wrapper) .dtp-card .dtp-card-link{font-family:var(--font-sans);font-weight:600;
  font-size:15px;color:var(--brown);text-decoration:none;margin-top:18px;display:inline-flex;align-items:center;gap:6px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-card .dtp-card-link:hover{color:var(--brown-deep)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-card p:has(> .dtp-card-link){flex:0;margin:0}
.dtp-card--tint{background:var(--surface);border-color:transparent}
/* numbered step cards (tint + pure index): huge brand numeral */
:is(.dtp-main,.editor-styles-wrapper) .dtp-card--tint .dtp-card-k{
  font-size:clamp(40px,3.4vw,64px);font-weight:600;letter-spacing:-.02em;color:var(--tan);margin:0 0 14px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-card-uses{font-family:var(--font-mono);font-size:11.5px;font-weight:500;
  letter-spacing:.05em;line-height:1.7;color:var(--slate);margin:16px 0 0;flex:none;
  border-top:1px solid var(--hairline-soft);padding-top:14px}

/* 5-up (or more) card rows: compact strip, titles stay whole */
.dtp-cards .wp-block-columns:has(> .wp-block-column:nth-child(5)) .dtp-card{
  padding:18px 18px 22px;border-radius:var(--r-sm,12px)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cards .wp-block-columns:has(> .wp-block-column:nth-child(5)) .dtp-card h3{
  font-size:16.5px;letter-spacing:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cards .wp-block-columns:has(> .wp-block-column:nth-child(5)) .dtp-card p{
  font-size:13.5px}

/* alternating breath: card sections get a faint warm band */
.dtp-main .pg-section:has(.dtp-cards){background:linear-gradient(180deg,rgba(247,248,246,0),rgba(247,248,246,.85) 22%,rgba(247,248,246,.85) 78%,rgba(247,248,246,0))}

/* ---------- 04 ACCORDION (core details block) ---------- */
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details{border:1px solid var(--hairline);border-radius:var(--r-sm,12px);max-width:var(--dtp-read,880px);
  background:var(--white);padding:0;margin:0 0 14px;overflow:hidden;transition:border-color .3s var(--ease,ease)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details:hover{border-color:rgba(127,87,66,.35)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details summary{list-style:none;cursor:pointer;position:relative;
  font-family:var(--font-display);font-weight:600;font-size:clamp(18px,1.4vw,25px);color:var(--fg1);
  padding:20px 64px 20px 26px;transition:background .25s var(--ease,ease)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details summary::-webkit-details-marker{display:none}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details summary::after{content:"";position:absolute;right:26px;top:50%;
  width:11px;height:11px;border-right:2.5px solid var(--brown);border-bottom:2.5px solid var(--brown);
  transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease,ease)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details summary:hover{background:var(--surface)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details[open] summary{border-bottom:1px solid var(--hairline-soft)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details >*:not(summary){margin-left:26px;margin-right:26px}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details >*:first-of-type:not(summary){margin-top:18px}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details >p:last-child{margin-bottom:22px}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details p{font-size:clamp(15px,.95vw,17px)}
/* big-role variant: oversized summary */
:is(.dtp-main,.editor-styles-wrapper) .dtp-roles .wp-block-details summary{font-size:clamp(22px,2vw,36px);padding-block:26px}

/* ---------- 05 TABLES (before/after + comparison) ---------- */
:is(.dtp-main,.editor-styles-wrapper) .wp-block-table{margin:clamp(22px,2.4vw,40px) 0 0;max-width:var(--dtp-table,1100px)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-table table{border-collapse:separate;border-spacing:0;width:100%;
  font-family:var(--font-sans);font-weight:300;font-size:clamp(14.5px,.98vw,17.5px);color:var(--fg2);
  border:1px solid var(--hairline);border-radius:var(--r-lg,26px);overflow:hidden;background:var(--white)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-table th{font-family:var(--font-mono);font-size:12.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--fg1);text-align:left;
  background:var(--surface);padding:18px 24px;border-bottom:1px solid var(--hairline)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-table td{padding:17px 24px;border-bottom:1px solid var(--hairline-soft);vertical-align:top}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-table tr:last-child td{border-bottom:0}
/* (v3 comparison-variant rules removed 2026-07-21; the dtp-vs v4 system owns these tables) */
/* before/after variant */
:is(.dtp-main,.editor-styles-wrapper) .dtp-beforeafter .wp-block-table td:first-child{color:var(--fg3)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-beforeafter .wp-block-table td:last-child{color:var(--fg1);font-weight:400}

/* ---------- 06 PULLQUOTE: an actual moment, not a gray box ---------- */
:is(.dtp-main,.editor-styles-wrapper) .dtp-quote{border:0;border-left:3px solid var(--tan);background:var(--surface);max-width:var(--dtp-read,880px);
  border-radius:0 var(--r-lg,26px) var(--r-lg,26px) 0;position:relative;
  padding:clamp(30px,3.2vw,56px) clamp(28px,3.4vw,64px) clamp(30px,3.2vw,56px) clamp(34px,3.8vw,72px);
  margin:clamp(22px,2.4vw,40px) 0 0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-quote::before{content:"\201C";position:absolute;left:clamp(14px,1.4vw,26px);top:6px;
  font-family:var(--font-display);font-weight:700;font-size:clamp(56px,5vw,96px);line-height:1;color:rgba(201,166,143,.5)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-quote p{font-family:var(--font-display);font-weight:500;
  font-size:clamp(20px,1.9vw,34px);line-height:1.32;letter-spacing:-.01em;color:var(--fg1);margin:0;text-wrap:pretty}
:is(.dtp-main,.editor-styles-wrapper) .dtp-quote cite{display:block;font-family:var(--font-mono);font-style:normal;
  font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-top:20px}

/* quote carrying a button: copy left, button right (stacks on phones) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-quote:has(.wp-block-buttons){display:grid;
  grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(24px,3vw,52px);align-items:center}
:is(.dtp-main,.editor-styles-wrapper) .dtp-quote .wp-block-buttons{grid-column:2;grid-row:1/span 2;margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-quote:has(.wp-block-buttons) cite{grid-column:1}
/* quote embedded inside an accordion: compact note */
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details .dtp-quote{margin:0 0 20px;
  padding:16px 20px 16px 26px;border-radius:0 var(--r-sm,12px) var(--r-sm,12px) 0}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details .dtp-quote p{font-size:clamp(15px,1vw,18px)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details .dtp-quote::before{content:none}

/* standalone link paragraphs read as REAL buttons, not stray text */
:is(.dtp-main,.editor-styles-wrapper) :is(.pg-inner > p,.wp-block-details > p):has(> a:only-child) > a{
  display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;
  color:var(--brown);text-decoration:none;padding:12px 24px;
  border:1.5px solid rgba(127,87,66,.45);border-radius:var(--r-sm,12px);
  transition:all .25s var(--ease,ease)}
:is(.dtp-main,.editor-styles-wrapper) :is(.pg-inner > p,.wp-block-details > p):has(> a:only-child) > a:hover{
  background:var(--brown);color:var(--cream);border-color:var(--brown)}

/* ---------- 07 MEDIA PLACEHOLDER ---------- */
.dtp-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  border:2px dashed rgba(127,87,66,.35);border-radius:var(--r-lg,26px);
  background:
    linear-gradient(135deg,rgba(201,166,143,.12),rgba(247,248,246,.9) 55%),
    var(--surface);
  min-height:240px;padding:36px;text-align:center;margin-top:clamp(18px,2vw,32px)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-placeholder .dtp-ph-kind{font-family:var(--font-mono);font-size:12px;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;color:var(--brown);margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-placeholder .dtp-ph-desc{font-family:var(--font-sans);font-weight:400;font-size:15px;
  line-height:1.55;color:var(--fg2);max-width:54ch;margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-placeholder .dtp-ph-spec{font-family:var(--font-mono);font-size:11px;
  letter-spacing:.1em;color:var(--slate);margin:0}
.dtp-placeholder--wide{aspect-ratio:16/7;min-height:0;max-height:480px}
.dtp-placeholder--video::before{content:"";width:58px;height:58px;border-radius:50%;background:var(--brown);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='black'/%3E%3C/svg%3E") center/26px no-repeat, linear-gradient(#000 0 0);
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='black'/%3E%3C/svg%3E") center/26px no-repeat, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude}

/* ---------- 08 CTA CLOSE: full-bleed forest bookend ---------- */
.dtp-main .pg-section:has(.dtp-cta){background:
  radial-gradient(120% 140% at 50% -20%,rgba(201,166,143,.16),rgba(201,166,143,0) 55%),
  var(--forest);
  padding-block:clamp(64px,7vw,130px)}
.dtp-cta{background:transparent;border-radius:0;text-align:center;padding:0;position:relative}
/* CTA headings read as ONE line on desktop (Brian 7/22: the old 20ch cap
   wrapped rural + loadout); the rail is the limit, balance handles phones */
:is(.dtp-main,.editor-styles-wrapper) .dtp-cta h2{color:var(--cream);max-width:none;margin-inline:auto;
  font-size:clamp(34px,3.4vw,68px)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cta p{color:rgba(255,255,255,.8);max-width:56ch;margin:20px auto 0}
.dtp-cta .wp-block-buttons{justify-content:center;margin-top:34px}
/* on the dark band: primary flips to cream (homepage onlight treatment), outline goes light */
:is(.dtp-main,.editor-styles-wrapper) .dtp-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background:var(--cream);color:var(--forest);box-shadow:0 10px 28px -14px rgba(0,0,0,.4)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{background:var(--white)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cta .is-style-outline .wp-block-button__link{color:var(--cream);border-color:rgba(255,255,255,.35)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cta .is-style-outline .wp-block-button__link:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cta .dtp-cta-contact{font-family:var(--font-mono);font-size:12px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:30px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cta .dtp-cta-contact a{color:var(--tan);text-decoration:none}
/* the same contact line used OUTSIDE a dark band (engage grids): centered strip */
:is(.dtp-main,.editor-styles-wrapper) .pg-inner > .dtp-cta-contact{font-family:var(--font-mono);font-size:12px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--slate);text-align:center;
  border-top:1px solid var(--hairline);padding-top:28px;margin:clamp(36px,4vw,64px) 0 0}
:is(.dtp-main,.editor-styles-wrapper) .pg-inner > .dtp-cta-contact a{color:var(--brown);text-decoration:none}

/* ---------- 09 DISCLOSURES / SOURCES FOOTER: quiet ---------- */
.dtp-disclosures{border-top:1px solid var(--hairline);padding-block:clamp(28px,3vw,44px)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-disclosures .wp-block-details{background:transparent;border-color:var(--hairline-soft)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-disclosures .wp-block-details summary{font-family:var(--font-mono);
  font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--slate)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-disclosures p{font-size:13.5px;line-height:1.6;color:var(--fg3)}

/* ---------- 10 JUMP CHIPS (FAQ category nav) ---------- */
.dtp-chips{margin-top:30px}
.dtp-chips p{display:flex;flex-wrap:wrap;gap:10px;margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-chips a{font-family:var(--font-sans);font-weight:500;font-size:14px;color:var(--fg2);
  padding:10px 20px;border-radius:var(--r-pill,999px);border:1px solid var(--hairline);
  display:inline-block;text-decoration:none;transition:all .25s var(--ease,ease)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-chips a:hover{background:var(--forest);color:var(--cream);border-color:var(--forest)}

/* ---------- framed content imagery (real assets, e.g. the EMR capture) ---------- */
:is(.dtp-main,.editor-styles-wrapper) .dtp-frame{margin:clamp(24px,2.6vw,44px) 0 0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-frame img{width:100%;height:auto;display:block;
  border-radius:var(--r-lg,26px);box-shadow:var(--shadow-md);border:1px solid var(--hairline)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-frame figcaption{font-family:var(--font-mono);font-size:11.5px;
  letter-spacing:.08em;color:var(--slate);margin-top:14px;text-align:center}

/* ---------- role grid: 8 forest cards, tan line drawing + name (SNF "Value
   Across the Organization"). Hover re-draws the illustration via a soft
   diagonal mask sweep; static under reduced-motion / touch. ---------- */
:is(.dtp-main,.editor-styles-wrapper) .dtp-rolemarquee{width:100vw;margin:clamp(26px,3vw,44px) calc(50% - 50vw) clamp(32px,3.6vw,56px);
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-roletrack{display:flex;gap:clamp(28px,3vw,48px);width:max-content;
  animation:dtpRoleScroll 48s linear infinite}
:is(.dtp-main,.editor-styles-wrapper) .dtp-roletrack .dtp-rolecard{width:227px;flex:none}
@keyframes dtpRoleScroll{to{transform:translateX(calc(-50% - clamp(14px,1.5vw,24px)))}}
@media (prefers-reduced-motion:reduce){
  :is(.dtp-main,.editor-styles-wrapper) .dtp-roletrack{animation:none}
  :is(.dtp-main,.editor-styles-wrapper) .dtp-rolemarquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}
}
:is(.dtp-main,.editor-styles-wrapper) .dtp-rolecard{background:var(--forest);
  border-radius:24px 10px 10px 10px;box-shadow:0 10px 26px -14px rgba(57,68,60,.35);
  padding:clamp(12px,1.2vw,18px) clamp(10px,1vw,16px);
  display:flex;flex-direction:column;align-items:center;gap:10px;
  transition:transform .35s var(--ease,ease),box-shadow .35s var(--ease,ease)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-rolecard{cursor:default} /* not clickable; no lift */
:is(.dtp-main,.editor-styles-wrapper) .dtp-rolecard figure{margin:0;width:100%;aspect-ratio:1;
  display:grid;place-items:center;position:relative}
:is(.dtp-main,.editor-styles-wrapper) .dtp-rolecard canvas{position:absolute;pointer-events:none}
:is(.dtp-main,.editor-styles-wrapper) .dtp-rolecard.is-drawing img{opacity:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-rolecard img{width:105%;max-width:none;height:auto} /* ~20% larger drawing, card size untouched */
:is(.dtp-main,.editor-styles-wrapper) .dtp-rolecard p{font-family:var(--font-display);font-weight:600;
  font-size:clamp(15px,1.15vw,18.5px);color:var(--tan);margin:0;text-align:center}

/* ---------- media split: image left, copy right (SNF / Corrections intro) ---------- */
:is(.dtp-main,.editor-styles-wrapper) .dtp-mediasplit{gap:clamp(28px,4vw,72px)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-mediasplit .dtp-frame{margin-top:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-mediasplit .dtp-frame img{aspect-ratio:1920/1071;object-fit:cover} /* every split image renders the same shape */
:is(.dtp-main,.editor-styles-wrapper) .dtp-mediasplit .dtp-lead:first-child{margin-top:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-mediasplit .dtp-lead + .dtp-lead{margin-top:18px}

/* ---------- Proximedicine definition box (Overview): tan callout to break the page
   into sections; the word draws its underline when the section scrolls in ---------- */
:is(.dtp-main,.editor-styles-wrapper) .dtp-defbox{background:color-mix(in srgb,var(--tan) 14%,#fff);
  border:1px solid color-mix(in srgb,var(--tan) 42%,transparent);
  border-radius:26px 6px 26px 6px;
  padding:clamp(26px,3.2vw,52px);
  /* box hugs the definition text and sits centered; copy stays left-justified
     at its same measure (Brian 7/22) */
  max-width:min(1220px,100%);margin-inline:auto}
:is(.dtp-main,.editor-styles-wrapper) .dtp-defword{color:var(--brown);position:relative;display:inline-block}
.dtp-defword::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:4px;border-radius:2px;
  background:var(--tan)}
@media (prefers-reduced-motion: no-preference){
  .dtp-main .dtp-rv .dtp-defword::after{transform:scaleX(0);transform-origin:0 50%;
    transition:transform .7s cubic-bezier(.16,1,.3,1) .3s}
  .dtp-main .dtp-in .dtp-defword::after{transform:scaleX(1)}
}

/* ---------- scroll reveal (JS adds .dtp-rv / .dtp-in) ---------- */
@media (prefers-reduced-motion: no-preference){
  .dtp-main .dtp-rv{opacity:0;transform:translateY(22px);
    transition:opacity .65s var(--ease,ease),transform .65s var(--ease,ease)}
  .dtp-main .dtp-rv.dtp-in{opacity:1;transform:none}
}

/* stacked prose rhythm */
.dtp-main .pg-inner > p + p{margin-top:16px}
.dtp-main .pg-inner > .dtp-lead + p{margin-top:18px}

/* brand slogan never breaks across lines */
.dtp-nobreak{white-space:nowrap;display:inline-block}

/* ---------- shared helpers ---------- */
.dtp-center{text-align:center}
.dtp-center .dtp-lead{margin-inline:auto}
.dtp-main .pg-section{padding-block:clamp(40px,4.2vw,76px)}
.dtp-main .pg-section--tight{padding-block:clamp(24px,2.4vw,42px)}

/* ===========================================================================
   MOBILE collapse
   ======================================================================== */
@media (max-width:781px){
  .dtp-hero{padding-top:44px}
  :is(.dtp-main,.editor-styles-wrapper) h1{font-size:clamp(32px,9.4vw,42px)}
  :is(.dtp-main,.editor-styles-wrapper) h2{font-size:clamp(26px,7vw,32px)}
  :is(.dtp-main,.editor-styles-wrapper) .dtp-lead{font-size:17.5px}
  .dtp-stats .wp-block-column{border-left:0;border-bottom:1px solid rgba(255,255,255,.14);
    padding:18px 0}
  .dtp-stats .wp-block-column:last-child{border-bottom:0}
  :is(.dtp-main,.editor-styles-wrapper) .dtp-stat-n{font-size:clamp(46px,12vw,58px)}
  :is(.dtp-main,.editor-styles-wrapper) .wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
  :is(.dtp-main,.editor-styles-wrapper) .wp-block-table table{min-width:520px}
  .dtp-card{padding:24px 22px 28px}
  .dtp-main .pg-section:has(.dtp-cta){padding-block:56px}
  .dtp-placeholder{min-height:170px;padding:24px}
  :is(.dtp-main,.editor-styles-wrapper) .dtp-roles .wp-block-details summary{font-size:20px;padding:18px 52px 18px 18px}
  :is(.dtp-main,.editor-styles-wrapper) .dtp-quote{padding:26px 22px 26px 30px}
  :is(.dtp-main,.editor-styles-wrapper) .dtp-quote:has(.wp-block-buttons){display:block}
  :is(.dtp-main,.editor-styles-wrapper) .dtp-quote .wp-block-buttons{margin-top:18px}
  :is(.dtp-main,.editor-styles-wrapper) .dtp-quote::before{font-size:44px}
}


/* ---- DL-3 / FAQ-2: Lucide line icons (brand brown), decorative ---- */
:is(.dtp-main,.editor-styles-wrapper) .dtpi{display:block;line-height:0;margin-bottom:12px}
:is(.dtp-main,.editor-styles-wrapper) .dtpi svg{width:30px;height:30px;stroke:var(--brown);stroke-width:1.7}
:is(.dtp-main,.editor-styles-wrapper) .dtp-chips a svg{width:15px;height:15px;stroke-width:2;vertical-align:-2px;margin-right:7px;stroke:currentColor}


/* ---- dtfx: designed in-page figures (week-coverage grid + step flow) ---- */
:is(.dtp-main,.editor-styles-wrapper) .dtfx{margin-block:clamp(26px,3vw,48px) clamp(30px,3.4vw,56px);width:100%}

/* week coverage comparison */
:is(.dtp-main,.editor-styles-wrapper) .dtfx-week{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2vw,34px);max-width:1500px;margin-inline:auto}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-panel{background:var(--white);border:1px solid var(--hairline);
  border-radius:var(--r-soft-corner,86px 14px 14px 14px);
  padding:clamp(24px,2.2vw,40px) clamp(22px,2.1vw,38px) clamp(30px,2.6vw,48px)}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-panel--on{background:var(--forest);border-color:transparent}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-k{font-family:var(--font-mono);font-size:12px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin:0 0 14px;display:flex;align-items:center;gap:10px}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-panel--on .dtfx-k{color:var(--tan)}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-n{font-family:var(--font-display);font-weight:600;line-height:1.08;
  font-size:clamp(26px,2.1vw,40px);color:var(--fg1);margin:0 0 6px}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-panel--on .dtfx-n{color:var(--cream)}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-sub{font-size:clamp(14px,1vw,17px);line-height:1.55;color:var(--slate);margin:0 0 24px;max-width:46ch}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-panel--on .dtfx-sub{color:rgba(255,255,255,.66)}
.dtfx-live{width:9px;height:9px;border-radius:50%;background:var(--tan);position:relative;flex:none}
.dtfx-live::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--tan);opacity:.7}
.dtfx-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:0 0 7px}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-day{font-family:var(--font-mono);font-size:10.5px;font-weight:500;
  letter-spacing:.1em;color:var(--slate);opacity:.7;text-align:center}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-panel--on .dtfx-day{color:rgba(255,255,255,.5)}
.dtfx-hd{min-height:96px} /* equal header block so both grids align */
.dtfx-tracks{display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(10px,1vw,18px);height:clamp(150px,13vw,210px)}
.dtfx-tracks .tk{position:relative;border-radius:8px;background:rgba(57,68,60,.06)}
.dtfx-panel--on .dtfx-tracks .tk{background:rgba(236,233,227,.08)}
.dtfx-tracks .f{position:absolute;left:0;right:0;border-radius:8px;background:var(--tan)}
@media (prefers-reduced-motion: no-preference){
  .dtfx-live::after{animation:dtfxPing 2.6s ease-out infinite}
  .dtp-in .dtfx-tracks .f{transform:scaleY(0);transform-origin:top center;animation:dtfxFill .8s cubic-bezier(.16,1,.3,1) var(--d,0s) forwards}
}
@keyframes dtfxFill{to{transform:scaleY(1)}}
@keyframes dtfxOn{to{opacity:1}}
@keyframes dtfxPing{0%{transform:scale(.6);opacity:.8}70%{transform:scale(1.5);opacity:0}100%{transform:scale(1.5);opacity:0}}

/* step flow */
:is(.dtp-main,.editor-styles-wrapper) .dtfx-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,1.8vw,32px)}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-flow--lanes{grid-template-columns:repeat(3,1fr)}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-step{position:relative;background:var(--white);border:1px solid var(--hairline);
  border-radius:44px 12px 12px 12px;padding:clamp(24px,2vw,38px) clamp(22px,1.9vw,34px) clamp(28px,2.3vw,42px)}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-step--hero{background:var(--forest);border-color:transparent}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-num{font-family:var(--font-display);font-weight:700;line-height:1;
  font-size:clamp(42px,3.2vw,62px);color:rgba(127,87,66,.15);margin:0 0 14px}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-t{font-family:var(--font-display);font-weight:600;
  font-size:clamp(18px,1.35vw,24px);line-height:1.25;color:var(--fg1);margin:0 0 10px}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-s{font-size:clamp(15px,1.05vw,18px);line-height:1.6;color:rgba(57,68,60,.78);margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-step--hero :is(.dtfx-t){color:var(--cream)}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-step--hero :is(.dtfx-s){color:rgba(255,255,255,.72)}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-step ul{list-style:none;margin:0;padding:0}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-step ul li{font-size:clamp(14.5px,1.05vw,17.5px);line-height:1.6;color:var(--fg1);
  padding:9px 0 9px 20px;position:relative;border-bottom:1px solid rgba(57,68,60,.09)}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-step ul li:last-child{border-bottom:0}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-step ul li::before{content:"";position:absolute;left:2px;top:1.05em;
  width:7px;height:7px;border-radius:2px;background:var(--tan)}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-step--hero ul li{color:var(--cream);border-bottom-color:rgba(255,255,255,.12)}
.dtfx-arr{position:absolute;left:-15px;top:clamp(30px,2.4vw,44px);width:30px;height:30px;border-radius:50%;
  background:var(--brown);color:#fff;display:flex;align-items:center;justify-content:center;z-index:2;
  box-shadow:0 0 0 4px var(--cream)}
.dtfx-arr svg{width:15px;height:15px}
.dtfx-arr--down{left:auto;right:16.66%;top:-15px;transform:rotate(90deg)}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-branch{grid-column:1/-1;position:relative;background:transparent;
  border:1px solid var(--hairline);background:rgba(57,68,60,.045);border-radius:12px;padding:clamp(18px,1.5vw,26px) clamp(22px,1.9vw,34px);
  display:flex;align-items:baseline;gap:10px 26px;flex-wrap:wrap}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-branch .dtfx-k{margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-branch .dtfx-s{margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-branch .dtfx-k{margin-bottom:6px}
@media (max-width:1100px){
  :is(.dtp-main,.editor-styles-wrapper) .dtfx-flow{grid-template-columns:1fr}
  :is(.dtp-main,.editor-styles-wrapper) .dtfx-branch{grid-column:auto}
  .dtfx-arr{left:clamp(30px,2.4vw,44px);top:-15px;transform:rotate(90deg)}
}
@media (max-width:900px){
  :is(.dtp-main,.editor-styles-wrapper) .dtfx-week{grid-template-columns:1fr}
}


/* ---- native list blocks (were unstyled: reset stripped bullets site-wide) ---- */
:is(.dtp-main,.editor-styles-wrapper) ul.wp-block-list{list-style:none;margin:20px 0 0;padding:0;max-width:var(--dtp-read,880px)}
:is(.dtp-main,.editor-styles-wrapper) ul.wp-block-list > li{position:relative;padding:9px 0 9px 28px;
  font-size:clamp(15.5px,1.1vw,18.5px);line-height:1.65;color:var(--fg1);border-bottom:1px solid rgba(57,68,60,.08)}
:is(.dtp-main,.editor-styles-wrapper) ul.wp-block-list > li:last-child{border-bottom:0}
:is(.dtp-main,.editor-styles-wrapper) ul.wp-block-list > li::before{content:"";position:absolute;left:4px;top:1.15em;
  width:7px;height:7px;border-radius:2px;background:var(--tan)}


/* ---- 2026-07-10 Emily direction round ---- */
/* hero eyebrows retired (read as AI-generated); mid-section kickers like the
   proximedicine pronunciation line stay */
:is(.dtp-main,.editor-styles-wrapper) .dtp-hero .dtp-kicker{display:none}

/* centered column: prose, heads, accordions, quotes sit as a centered column;
   bands/figures/tables span. Satisfies the "left-justified + dead right" note. */
.dtp-main .pg-inner > :is(h2,h3,p){max-width:var(--dtp-read);margin-inline:auto}
.dtp-main .pg-inner > ul.wp-block-list{max-width:var(--dtp-read);margin-inline:auto}
.dtp-main .pg-inner > p{max-width:var(--dtp-read)}
.dtp-main .pg-inner > :is(.wp-block-details,.dtp-quote){margin-inline:auto;max-width:var(--dtp-table)}
.dtp-main .pg-inner > figure.wp-block-table{margin-inline:auto}
.dtp-main .pg-inner > .dtp-qualifier{max-width:var(--dtp-table);margin-inline:auto}
.dtp-main .pg-inner > :is(.wp-block-buttons,.dtp-cta-contact){justify-content:center;text-align:center;margin-inline:auto}

/* card links read as buttons by default, not hover-discovered text */
:is(.dtp-main,.editor-styles-wrapper) .dtp-card .dtp-card-link{
  padding:10px 20px;border:1.5px solid rgba(127,87,66,.45);border-radius:var(--r-sm,12px);
  align-self:flex-start;transition:all .25s var(--ease,ease)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-card .dtp-card-link:hover{background:var(--brown);color:var(--cream)}

/* plain emphasized statement (was a fake quote) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-statement{font-family:var(--font-display);font-weight:600;
  font-size:clamp(20px,1.7vw,30px);line-height:1.35;color:var(--fg1);text-align:center;
  max-width:var(--dtp-table);margin:clamp(26px,2.6vw,44px) auto 0}
/* comparison table: the Dr Triage column lifts off the page */
:is(.dtp-main,.editor-styles-wrapper) figure.wp-block-table :is(th,td):last-child{
  background:var(--white);box-shadow:0 10px 30px rgba(57,68,60,.10);position:relative}
:is(.dtp-main,.editor-styles-wrapper) figure.wp-block-table thead th:last-child{background:var(--forest);color:var(--cream)}

/* accordions restyled to the resources rows (Emily: blog dropdowns are the model):
   hairline-separated rows + plus marker, no card boxes */
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details{border:0;border-radius:0;background:transparent;
  border-top:1px solid var(--hairline);max-width:var(--dtp-table)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details + .wp-block-details{margin-top:0}
:is(.dtp-main,.editor-styles-wrapper) .pg-inner > .wp-block-details:last-of-type,
:is(.dtp-main,.editor-styles-wrapper) .pg-inner > *:not(.wp-block-details) + .wp-block-details:has(+ :not(.wp-block-details)){border-bottom:1px solid var(--hairline)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details:hover{border-color:var(--hairline)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:24px 4px;font-weight:500}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details summary::before,
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details summary::after{content:"";position:static;background:var(--brown);border:0;border-radius:2px;transform:none}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details summary{position:relative;padding-right:44px}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details summary::before{position:absolute;right:4px;top:50%;width:22px;height:2px;margin-top:-1px}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details summary::after{position:absolute;right:14px;top:50%;width:2px;height:22px;margin-top:-11px;transition:transform .3s var(--ease,ease)}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details[open] summary::after{transform:scaleY(0)}

/* ---- dtlx: instrument explorer (ported from the Pierce device showcase) ----
   native <details name="loadout"> exclusive accordion styled as a tile row.
   Zero JS; open panel spans the full row. */
:is(.dtp-main,.editor-styles-wrapper) .dtlx{margin-top:clamp(24px,2.6vw,44px)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d{border:1px solid var(--hairline)!important;border-radius:var(--r-sm,12px)!important;
  background:var(--white);max-width:none;margin:0 0 14px;overflow:clip;
  transition:border-color .25s var(--ease,ease),box-shadow .25s var(--ease,ease)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d[open]{border-color:rgba(127,87,66,.4)!important;box-shadow:0 14px 40px rgba(57,68,60,.10)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d summary{list-style:none;position:relative;display:flex;align-items:center;gap:18px;padding:18px 52px 18px 22px!important;cursor:pointer}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d summary .dtpi{margin:0;line-height:0}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d summary .dtpi svg{width:26px;height:26px}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-tt{font-family:var(--font-display);font-weight:600;font-size:clamp(18px,1.35vw,24px);color:var(--heading)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-ts{font-family:var(--font-sans);font-weight:300;font-size:clamp(13.5px,.95vw,16px);color:var(--slate)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-body{padding:6px 22px 30px;border-top:1px solid rgba(57,68,60,.08)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-lead{display:flex;gap:clamp(20px,2vw,36px);align-items:center;margin:20px 0 22px;flex-wrap:wrap}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-img{flex:0 0 clamp(180px,16vw,260px);margin:0;background:var(--gray);
  border-radius:var(--r-sm,12px);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:12px}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-img--icon svg{width:64px;height:64px;stroke:var(--brown);stroke-width:1.4}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-what{flex:1 1 320px;font-size:clamp(16px,1.15vw,20px);line-height:1.6;color:var(--fg1);margin:0;max-width:56ch}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-c{background:var(--surface);border-radius:10px;padding:16px 18px}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-ct{font-family:var(--font-display);font-weight:600;font-size:clamp(15px,1.05vw,18px);color:var(--heading);margin:0 0 5px}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-cd{font-size:clamp(13.5px,.95vw,16px);line-height:1.55;color:var(--fg2);margin:0}
@media (max-width:900px){:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid{grid-template-columns:1fr}}

:is(.dtp-main,.editor-styles-wrapper) .dtlx-d summary::-webkit-details-marker{display:none}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d summary::before{content:"";position:absolute;right:22px;top:50%;width:20px;height:2px;margin-top:-1px;background:var(--brown);border-radius:2px}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d summary::after{content:"";position:absolute;right:31px;top:50%;width:2px;height:20px;margin-top:-10px;background:var(--brown);border-radius:2px;transition:transform .3s var(--ease,ease)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d[open] summary::after{transform:scaleY(0)}

/* heroes keep their left-rail composition (media right); the centered column applies to body sections only */
.dtp-main .dtp-hero .pg-inner > :is(h1,h2,h3,p,.wp-block-buttons){margin-inline:0;text-align:initial;justify-content:flex-start}


/* Wide-monitor tier (Brian 7/13): the 880px rail is right for laptops, but at
   display sizes the vw-scaled headings outgrow it and wrap on awkward balanced
   breaks. One wider tier keeps heading boxes proportional to the type; body
   paragraphs are still capped by their ch measure, so line length stays canon. */
@media (min-width:2000px){
  .dtp-main{--dtp-read:1060px;--dtp-table:1280px}
}


/* ===========================================================================
   2026-07-15 Brian + Emily full-site review round
   Rules (transcript): body text under a title = LEFT, spanning the nav rail
   (logo edge -> Request-a-demo edge). Titles above a VISUAL (cards, tables,
   figures, interactives) = centered, via .dtp-center on the section. Cards
   must read as cards BEFORE hover. CTAs bigger everywhere. One standard
   contact block below every closing CTA.
   ======================================================================== */

/* ---- alignment: left-justified, rail-spanning body text (overrides the
        7/10 centered-column block). NOTE: keep ul.wp-block-list OUT of the
        :is() list; its element+class arg inflates the whole :is() to (0,3,1)
        and silently outguns sibling rules (cost 40 minutes on 7/16). ---- */
.dtp-main .pg-inner > :is(h2,h3,p){max-width:none;margin-inline:0}
.dtp-main .pg-inner > ul.wp-block-list{max-width:none;margin-inline:0}
.dtp-main .pg-inner > .dtp-lead{max-width:none}
.dtp-main .pg-inner > :is(.wp-block-details,.dtp-quote,.dtp-qualifier){max-width:none;margin-inline:0}
.dtp-main .pg-inner > figure.wp-block-table{margin-inline:0}
.dtp-main .pg-inner > :is(.wp-block-buttons,.dtp-cta-contact){justify-content:flex-start;text-align:left;margin-inline:0}
/* centered sections: explicit opt-in so titles above visuals center */
.dtp-main .pg-section.dtp-center :is(h2,h3){text-align:center}
.dtp-main .pg-section.dtp-center .pg-inner > p{text-align:center;margin-inline:auto;max-width:70ch}
.dtp-main .pg-section.dtp-center .pg-inner > .wp-block-buttons{justify-content:center}
/* second paragraphs stop shrinking: a paragraph directly after a lead keeps
   the lead's size (disclaimers use .dtp-qualifier and are exempt) */
.dtp-main .pg-inner > .dtp-lead + p:not(.dtp-qualifier){
  font-size:clamp(18px,1.35vw,26px);line-height:1.5}

/* ---- hero: subtext bound so copy never runs onto the hero image
        (extra .dtp-main+.pg-inner scope so no sibling rule outguns it) ---- */
@media (min-width:1024px){
  .dtp-main .dtp-hero:has(.dtp-hero-media) .pg-inner > .dtp-lead{max-width:min(52ch,44%)}
  .dtp-main .dtp-hero:has(.dtp-hero-media) .pg-inner > p:not(.dtp-lead){max-width:44%}
}
@media (min-width:782px) and (max-width:1023px){
  .dtp-main .dtp-hero:has(.dtp-hero-media) .pg-inner > :is(.dtp-lead,h1){max-width:64%}
}
/* hero slogan accent line stays one line on desktop */
@media (min-width:600px){
  :is(.dtp-main,.editor-styles-wrapper) .dtp-hero h1 em{white-space:nowrap}
}

/* ---- cards read as cards at rest (multi-page Brian note) ---- */
.dtp-card{border-color:rgba(57,68,60,.16);
  box-shadow:0 10px 26px -14px rgba(57,68,60,.22)}
.dtp-card--tint{background:var(--white);border-color:rgba(57,68,60,.14)}
.dtp-main .pg-section:has(.dtp-cards){background:linear-gradient(180deg,
  rgba(240,242,238,0),rgba(240,242,238,.95) 20%,rgba(240,242,238,.95) 80%,rgba(240,242,238,0))}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-step{border-color:rgba(57,68,60,.16);
  box-shadow:0 10px 26px -14px rgba(57,68,60,.2)}
/* card with a muted background image (service cards): image sits under a wash */
.dtp-card:has(> .dtp-card-bg){overflow:hidden}
.dtp-card > .dtp-card-bg{position:absolute;inset:0;margin:0;z-index:0}
.dtp-card > .dtp-card-bg img{width:100%;height:100%;object-fit:cover;opacity:.22;display:block}
.dtp-card:has(> .dtp-card-bg) > :not(.dtp-card-bg){position:relative;z-index:1}
.dtp-card:hover > .dtp-card-bg img{opacity:.3}
/* whole-card click: a stretched link keeps the visible button affordance */
.dtp-card .dtp-card-link--stretch::before{content:"";position:absolute;inset:0;z-index:1}
/* card buttons right-justified (overview service cards); card text stays left
   even inside centered sections */
.dtp-main .dtp-card p:has(> .dtp-card-link){text-align:right}
.dtp-main .pg-section.dtp-center .dtp-card :is(h3,p:not(:has(> .dtp-card-link))){text-align:left}
.dtp-card .dtp-card-link--stretch{position:static}

/* ---- buttons: bigger everywhere; CTA-close buttons much bigger ---- */
:is(.dtp-main,.editor-styles-wrapper) .wp-block-button__link{font-size:17px;padding:18px 38px}
:is(.dtp-main,.editor-styles-wrapper) .is-style-outline .wp-block-button__link{padding:16.5px 36px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cta .wp-block-button__link{
  font-size:clamp(18px,1.25vw,22px);padding:22px 54px}
.dtp-cta .wp-block-buttons{margin-top:42px}
/* buttons over ANY dark band flip to the cream treatment (fixes the
   dark-on-dark "See how Dr Triage works in skilled nursing" button) */
:is(.dtp-main,.editor-styles-wrapper) .pg-section:has(.dtp-stats) .wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background:var(--cream);color:var(--forest);box-shadow:0 10px 28px -14px rgba(0,0,0,.4)}
:is(.dtp-main,.editor-styles-wrapper) .pg-section:has(.dtp-stats) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{background:var(--white)}
:is(.dtp-main,.editor-styles-wrapper) .pg-section:has(.dtp-stats) .wp-block-buttons{justify-content:center;margin-top:38px}

/* ---- stat bands: numbers centered, attributions on one line-height ---- */
.dtp-stats .wp-block-column{display:flex;flex-direction:column;text-align:center}
:is(.dtp-main,.editor-styles-wrapper) .dtp-stat-n{margin-inline:auto}
:is(.dtp-main,.editor-styles-wrapper) .dtp-stat-l{flex:1}
:is(.dtp-main,.editor-styles-wrapper) .dtp-stat-src{margin-top:auto;padding-top:12px}

/* ---- quote standard: quote text = section-subtext size, attribution bigger ---- */
:is(.dtp-main,.editor-styles-wrapper) .dtp-quote p{font-size:clamp(18px,1.35vw,26px)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-quote cite{font-size:14px;letter-spacing:.1em;color:var(--fg2)}

/* ---- standard below-CTA contact block (every page's closing CTA) ---- */
:is(.dtp-main,.editor-styles-wrapper) .dtp-cta .dtp-cta-contact{font-size:13.5px;margin-top:34px}

/* ---- disclosures: shown, never accordioned, span the rail ---- */
.dtp-disclosures{max-width:none}
:is(.dtp-main,.editor-styles-wrapper) .dtp-disclosures h2{font-family:var(--font-mono);
  font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin:0 0 10px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-disclosures p + h2{margin-top:34px}

/* ---- number count-up hook (JS swaps digits; this only reserves layout) ---- */
.dtp-stat-n[data-count]{min-width:2ch;display:inline-block}

/* ---- icon animation on accordion open + hover (nav draw-in style) ---- */
@media (prefers-reduced-motion: no-preference){
  :is(.dtp-main,.editor-styles-wrapper) :is(.dtlx-d summary,.wp-block-details summary) .dtpi svg{
    transition:transform .3s var(--ease,ease)}
  :is(.dtp-main,.editor-styles-wrapper) :is(.dtlx-d,.wp-block-details) summary:hover .dtpi svg{
    transform:translateY(-2px) scale(1.08)}
  :is(.dtp-main,.editor-styles-wrapper) :is(.dtlx-d[open],.wp-block-details[open]) summary .dtpi svg :is(path,line,circle,rect,polyline,polygon,ellipse){
    stroke-dasharray:1;stroke-dashoffset:1;animation:dtpiDraw .9s var(--ease,ease) forwards}
}
@keyframes dtpiDraw{to{stroke-dashoffset:0}}

/* ---- site-wide: content icons redraw on hover of their card/node/summary,
        matching the nav dropdown treatment (Brian 7/22). pathLength=1 is set
        on every .dtpi stroke in functions.php; dasharray:1 + offset:0 = solid
        at rest, the keyframe sweeps offset 1 -> 0. Accordions are scoped to
        :not([open]) so this never fights the [open] dtpiDraw base above. ---- */
@media (prefers-reduced-motion: no-preference){
  :is(.dtp-main,.editor-styles-wrapper) .dtpi svg :is(path,line,circle,rect,polyline,polygon,ellipse){
    stroke-dasharray:1;stroke-dashoffset:0}
  :is(.dtp-main,.editor-styles-wrapper) :is(.dtp-card,.dtp-route-node):hover .dtpi svg :is(path,line,circle,rect,polyline,polygon,ellipse),
  :is(.dtp-main,.editor-styles-wrapper) :is(.dtlx-d:not([open]),.wp-block-details:not([open])) summary:hover .dtpi svg :is(path,line,circle,rect,polyline,polygon,ellipse){
    animation:dtpiRedraw .6s var(--ease,ease)}
}
@keyframes dtpiRedraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}

/* ---- instrument explorer round 2: gray preview subtext gone (markup), bigger
        explainer, styled break + muted color coding on inner cards ---- */
:is(.dtp-main,.editor-styles-wrapper) .dtlx-what{font-size:clamp(18px,1.35vw,24px);line-height:1.55;max-width:none;flex:1 1 380px}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-what .dtlx-what2{display:block;margin-top:10px}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-ct{padding-bottom:4px;margin-bottom:6px;font-size:clamp(16px,1.15vw,20px)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-cd{font-size:clamp(14.5px,1vw,17px)}
/* consistent muted color coding by position, same order in every instrument */
:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid .dtlx-c:nth-child(6n+1){background:rgba(163,74,60,.09)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid .dtlx-c:nth-child(6n+2){background:rgba(74,104,140,.09)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid .dtlx-c:nth-child(6n+3){background:rgba(74,110,80,.10)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid .dtlx-c:nth-child(6n+4){background:rgba(196,150,60,.11)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid .dtlx-c:nth-child(6n+5){background:rgba(127,87,66,.09)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid .dtlx-c:nth-child(6n+6){background:rgba(90,90,110,.08)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid .dtlx-c:nth-child(6n+1) .dtlx-ct{color:#8a3d31}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid .dtlx-c:nth-child(6n+2) .dtlx-ct{color:#3d5a7d}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid .dtlx-c:nth-child(6n+3) .dtlx-ct{color:#3f6246}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid .dtlx-c:nth-child(6n+4) .dtlx-ct{color:#8a6a2a}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid .dtlx-c:nth-child(6n+5) .dtlx-ct{color:var(--brown-deep,#5d3f30)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-grid .dtlx-c:nth-child(6n+6) .dtlx-ct{color:#4c4c66}

/* ---- animated checkmark list (EMR feature list; reusable) ---- */
:is(.dtp-main,.editor-styles-wrapper) ul.dtp-checks{list-style:none;margin:24px 0 0;padding:0;max-width:none}
:is(.dtp-main,.editor-styles-wrapper) ul.dtp-checks > li{position:relative;padding:12px 0 12px 44px;
  font-size:clamp(17px,1.25vw,22px);line-height:1.55;color:var(--fg1);border-bottom:1px solid rgba(57,68,60,.08)}
:is(.dtp-main,.editor-styles-wrapper) ul.dtp-checks > li:last-child{border-bottom:0}
ul.dtp-checks > li::before{content:"";position:absolute;left:0;top:.95em;width:26px;height:26px;border-radius:50%;
  background:var(--forest);transform:translateY(-40%)}
ul.dtp-checks > li::after{content:"";position:absolute;left:7px;top:.95em;width:12px;height:7px;
  border-left:2.5px solid var(--cream);border-bottom:2.5px solid var(--cream);
  transform:translateY(-62%) rotate(-45deg)}
@media (prefers-reduced-motion: no-preference){
  .dtp-rv ul.dtp-checks > li,.dtp-rv.dtp-in ul.dtp-checks > li{opacity:0;transform:translateX(-8px)}
  .dtp-in ul.dtp-checks > li{animation:dtpCheckIn .55s var(--ease,ease) forwards}
  .dtp-in ul.dtp-checks > li:nth-child(1){animation-delay:.1s}
  .dtp-in ul.dtp-checks > li:nth-child(2){animation-delay:.32s}
  .dtp-in ul.dtp-checks > li:nth-child(3){animation-delay:.54s}
  .dtp-in ul.dtp-checks > li:nth-child(4){animation-delay:.76s}
  .dtp-in ul.dtp-checks > li:nth-child(5){animation-delay:.98s}
}
@keyframes dtpCheckIn{to{opacity:1;transform:none}}

/* ---- engagement models: two equal side-by-side pillars ---- */
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillars{display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(20px,2.2vw,40px);margin-top:clamp(26px,2.8vw,48px)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar{background:var(--white);border:1px solid rgba(57,68,60,.16);
  border-radius:var(--r-soft-corner,86px 14px 14px 14px);
  box-shadow:0 10px 26px -14px rgba(57,68,60,.22);
  padding:clamp(30px,3vw,54px) clamp(26px,2.6vw,48px) clamp(32px,3.2vw,56px);
  display:flex;flex-direction:column}
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar h3{font-size:clamp(24px,2vw,38px);margin:0 0 8px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar .dtp-pillar-tag{font-family:var(--font-mono);font-size:12px;
  font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brown);margin:0 0 18px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar > p{font-size:clamp(16px,1.15vw,20px);line-height:1.6;margin:0 0 6px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar .wp-block-details{border-top:1px solid rgba(57,68,60,.12);margin-top:18px;max-width:none}
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar .wp-block-details summary{font-size:16.5px;padding:16px 40px 16px 0}
@media (max-width:900px){:is(.dtp-main,.editor-styles-wrapper) .dtp-pillars{grid-template-columns:1fr}}

/* ---- record-routes icon flow (facility -> Dr Triage EMR -> EHR -> CMS) ---- */
:is(.dtp-main,.editor-styles-wrapper) .dtp-route{display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr;
  align-items:stretch;gap:clamp(8px,1vw,18px);margin-top:clamp(28px,3vw,52px)}
/* all route nodes share the forest treatment (Brian 7/21: highlighting only the EMR
   node read as "the product is the EMR"; the whole path is Dr Triage) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-route-node{background:var(--forest);border:1px solid transparent;
  border-radius:24px 10px 10px 10px;box-shadow:0 10px 26px -14px rgba(57,68,60,.35);
  padding:clamp(20px,1.9vw,34px) clamp(18px,1.7vw,30px);text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:10px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-route-node .dtpi{margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-route-node .dtpi svg{width:34px;height:34px;stroke:var(--tan)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-route-t{font-family:var(--font-display);font-weight:600;
  font-size:clamp(16px,1.2vw,21px);color:var(--cream);margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-route-s{font-size:clamp(13px,.92vw,15.5px);line-height:1.5;color:rgba(255,255,255,.72);margin:0}
/* connector arrows: truly centered BETWEEN nodes (VCO "where your data goes" note) */
.dtp-route-arr{align-self:center;display:flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;background:var(--brown);color:#fff;flex:none;position:relative;z-index:1}
.dtp-route-arr svg{width:15px;height:15px}
/* the traveling dot: a mini pulse that rides the flow when revealed */
@media (prefers-reduced-motion: no-preference){
  .dtp-in .dtp-route-node{animation:dtpRouteIn .5s var(--ease,ease) both}
  .dtp-in .dtp-route-node:nth-child(3){animation-delay:.18s}
  .dtp-in .dtp-route-node:nth-child(5){animation-delay:.36s}
  .dtp-in .dtp-route-node:nth-child(7){animation-delay:.54s}
  .dtp-in .dtp-route-arr{animation:dtpArrPulse 2.8s ease-in-out infinite}
  .dtp-in .dtp-route-arr:nth-child(4){animation-delay:.9s}
  .dtp-in .dtp-route-arr:nth-child(6){animation-delay:1.8s}
}
@keyframes dtpRouteIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes dtpArrPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@media (max-width:900px){
  :is(.dtp-main,.editor-styles-wrapper) .dtp-route{grid-template-columns:1fr}
  /* rotate the glyph, not the container: the pulse animation owns the
     container transform and would cancel a container-level rotate */
  .dtp-route-arr{margin-inline:auto}
  .dtp-route-arr svg{transform:rotate(90deg)}
}

/* ---- 24/7 week figure: descriptor labels much more prominent, dot bigger ---- */
:is(.dtp-main,.editor-styles-wrapper) .dtfx-k{font-size:clamp(15px,1.15vw,20px);letter-spacing:.08em;font-weight:700}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-n{font-size:clamp(30px,2.5vw,48px)}
.dtfx-live{width:14px;height:14px}
.dtfx-live::after{inset:-7px}

/* ---- diagnostics carousel (Loadout hero -> instrument cards) ---- */
.dtp-dcar{position:relative;height:clamp(300px,32vw,460px);margin-top:clamp(26px,3vw,48px)}
.dtp-dcar-item{position:absolute;left:50%;top:50%;width:clamp(190px,20vw,300px);
  transform:translate(-50%,-50%);cursor:pointer;border:0;background:var(--white);
  border-radius:24px 12px 12px 12px;box-shadow:0 18px 44px -18px rgba(57,68,60,.35);
  border:1px solid rgba(57,68,60,.14);padding:clamp(18px,1.8vw,30px);
  display:flex;flex-direction:column;align-items:center;gap:12px;
  transition:transform .7s var(--ease,ease),opacity .7s var(--ease,ease),box-shadow .3s var(--ease,ease)}
.dtp-dcar-item .dtpi{margin:0}
.dtp-dcar-item .dtpi svg{width:44px;height:44px}
.dtp-dcar-item figure{margin:0;width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.dtp-dcar-item figure img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
:is(.dtp-main,.editor-styles-wrapper) .dtp-dcar-item p{font-family:var(--font-display);font-weight:600;
  font-size:clamp(15px,1.1vw,20px);color:var(--fg1);margin:0;text-align:center}
.dtp-dcar-item[data-pos="0"]{z-index:5;opacity:1}
.dtp-dcar-item[data-pos="1"],.dtp-dcar-item[data-pos="-1"]{z-index:4;opacity:.75}
.dtp-dcar-item[data-pos="2"],.dtp-dcar-item[data-pos="-2"]{z-index:3;opacity:.45}
.dtp-dcar-item[data-pos="3"],.dtp-dcar-item[data-pos="-3"]{z-index:2;opacity:.2}
.dtp-dcar-item[data-pos]{pointer-events:none}
.dtp-dcar-item[data-pos="0"]{pointer-events:auto}
.dtp-dcar-item[data-pos="0"]:hover{box-shadow:0 24px 54px -18px rgba(57,68,60,.45)}
.dtp-dcar-hint{text-align:center;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--slate);margin-top:18px}
@media (max-width:781px){.dtp-dcar{height:300px}}

/* ---- overview round supplements ---- */
/* hero slogan accent line (homepage kinship: italic + brand accent) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-hero h1 em{font-style:italic;color:var(--brown)}
/* in-card figure (encounter step cards): visual-first card */
:is(.dtp-main,.editor-styles-wrapper) .dtp-card .dtp-card-fig{margin:0 0 16px;width:100%;
  aspect-ratio:16/10;overflow:hidden;border-radius:14px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-card .dtp-card-fig img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s var(--ease,ease)}
.dtp-card:hover .dtp-card-fig img{transform:scale(1.04)}
/* comparison marks */
.dtp-ok{color:#3f6246;font-weight:700}
.dtp-no{color:#a33a2e;font-weight:700}
:is(.dtp-main,.editor-styles-wrapper) .dtp-vs td:first-child{font-weight:400;color:var(--fg1);white-space:nowrap}
/* statement emphasis */
:is(.dtp-main,.editor-styles-wrapper) .dtp-statement em{font-style:italic;color:var(--brown)}
/* breathing room between definition copy and the accordion below it */
.dtp-main .pg-inner > :is(p,.dtp-lead) + .wp-block-details{margin-top:30px}

/* ---- loadout platform band: forest money-shot strip ---- */
.dtp-main .pg-section.dtp-platform{background:
  radial-gradient(90% 120% at 30% 40%,rgba(201,166,143,.14),rgba(201,166,143,0) 60%),
  var(--forest);padding-block:clamp(56px,6vw,110px)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-platform h2{color:var(--cream)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-platform-cart{margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-platform-cart img{width:100%;height:auto;max-height:560px;object-fit:contain;
  filter:drop-shadow(0 30px 50px rgba(0,0,0,.35))}
:is(.dtp-main,.editor-styles-wrapper) .dtp-platform ul.wp-block-list > li{color:var(--cream);border-bottom-color:rgba(255,255,255,.14)}
.dtp-platform .wp-block-columns{align-items:center}

/* ---- EMR page round supplements ---- */
/* capture cards: icon sits ON the title line; subtext behind an expander */
/* capture cards: icon over label, centered mid-card, More pinned to the card
   floor (Emily 7/21: labels were clipping the card edge in the 4-up row) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-cap-h{display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:12px;flex:1;
  font-family:var(--font-display);font-weight:600;font-size:clamp(19px,1.45vw,26px);
  line-height:1.15;color:var(--heading);margin:0 0 14px;text-align:center;text-wrap:balance}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cap-h .dtpi{margin:0;line-height:0;flex:none}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cap-h .dtpi svg{width:32px;height:32px}
/* outrank the centered-section left-align rule for these labels
   (its :has() argument lifts that rule's specificity; mirror it) */
.dtp-main .pg-section.dtp-center .dtp-card :is(h3.dtp-cap-h,p:not(:has(> .dtp-card-link)).dtp-cap-h){text-align:center}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cap-d{border-top:1px solid rgba(57,68,60,.1)!important;max-width:none;margin:auto 0 0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cap-d summary{font-family:var(--font-sans);font-size:14px;font-weight:600;
  color:var(--brown);padding:12px 40px 12px 0;text-align:left}
:is(.dtp-main,.editor-styles-wrapper) .dtp-cap-d p{text-align:left;font-size:clamp(14.5px,.95vw,16.5px);margin:0 0 14px}
/* the EMR hero-adjacent video */
:is(.dtp-main,.editor-styles-wrapper) .dtp-emr-video{margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-emr-video video{width:100%;height:auto;display:block;
  border-radius:var(--r-lg,26px);box-shadow:var(--shadow-md);border:1px solid var(--hairline)}
/* one-line-on-desktop helper for long centered titles */
@media (min-width:1200px){.dtp-nowrap-desk{white-space:nowrap}}
/* route nodes can carry tied bullet lists */
:is(.dtp-main,.editor-styles-wrapper) .dtp-route-node ul{list-style:none;margin:4px 0 0;padding:0;text-align:left;width:100%}
:is(.dtp-main,.editor-styles-wrapper) .dtp-route-node ul li{position:relative;padding:6px 0 6px 18px;
  font-size:clamp(13px,.92vw,15.5px);line-height:1.5;color:var(--fg2);border-bottom:1px solid rgba(57,68,60,.08)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-route-node ul li:last-child{border-bottom:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-route-node ul li::before{content:"";position:absolute;left:2px;top:1em;
  width:6px;height:6px;border-radius:2px;background:var(--tan)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-route-node ul li{color:rgba(255,255,255,.8);border-bottom-color:rgba(255,255,255,.12)}

/* inline video frame (SNF floor video etc.) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-inline-video{margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-inline-video video{width:100%;height:auto;display:block;
  border-radius:var(--r-lg,26px);box-shadow:var(--shadow-md);border:1px solid var(--hairline)}
/* 5-up value cards: bigger per the 7/15 round (override the compact-strip rule) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-center .dtp-cards .wp-block-columns:has(> .wp-block-column:nth-child(5)) .dtp-card{padding:26px 22px 30px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-center .dtp-cards .wp-block-columns:has(> .wp-block-column:nth-child(5)) .dtp-card h3{font-size:clamp(17px,1.3vw,23px)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-center .dtp-cards .wp-block-columns:has(> .wp-block-column:nth-child(5)) .dtp-card p{font-size:clamp(14px,1vw,16.5px)}

/* accordion sub-headline (was italic; now reads as the section's own subhead) */
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details .dtp-acc-sub{font-family:var(--font-display);
  font-weight:600;font-style:normal;font-size:clamp(16.5px,1.2vw,21px);color:var(--fg1);margin:0 0 8px;text-align:left}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details summary .dtpi{margin:0;line-height:0}
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details summary .dtpi svg{width:24px;height:24px;vertical-align:-4px;margin-right:12px;stroke:var(--brown)}

/* hero media as VIDEO (rural drive etc.): same right-fade composition as image heroes */
:is(.dtp-main,.editor-styles-wrapper) .dtp-hero-media--video video{width:100%;height:100%;object-fit:cover;display:block;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 32%,#000 64%);
          mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 32%,#000 64%)}
@media (max-width:1023px){
  :is(.dtp-main,.editor-styles-wrapper) .dtp-hero-media--video video{mask-image:none;-webkit-mask-image:none}
}
/* reduced-motion: videos are paused via content-extras.js (poster frame stays) */

/* FAQ chip band: full-width row just under the hero */
.dtp-main .dtp-chipband{border-bottom:1px solid var(--hairline);padding-block:18px}
.dtp-main .dtp-chipband .dtp-chips{margin-top:0}
.dtp-main .dtp-chipband .dtp-chips p{justify-content:center} /* FAQ quick-nav pills centered (Brian 7/22) */


/* ---- 2026-07-16 Brian live punch round (overview) ---- */
/* tables center inside centered sections */
.dtp-main .pg-section.dtp-center .pg-inner > figure.wp-block-table{margin-inline:auto}
/* marks pop in when the table reveals */
@media (prefers-reduced-motion: no-preference){
  .dtp-rv :is(.dtp-ok,.dtp-no){opacity:0;transform:scale(.4);display:inline-block}
  .dtp-in :is(.dtp-ok,.dtp-no){animation:dtpMarkIn .45s cubic-bezier(.34,1.56,.64,1) forwards;display:inline-block}
  .dtp-in tr:nth-child(1) :is(.dtp-ok,.dtp-no){animation-delay:.15s}
  .dtp-in tr:nth-child(2) :is(.dtp-ok,.dtp-no){animation-delay:.3s}
  .dtp-in tr:nth-child(3) :is(.dtp-ok,.dtp-no){animation-delay:.45s}
  .dtp-in tr:nth-child(4) :is(.dtp-ok,.dtp-no){animation-delay:.6s}
  .dtp-in tr:nth-child(5) :is(.dtp-ok,.dtp-no){animation-delay:.75s}
}
@keyframes dtpMarkIn{to{opacity:1;transform:scale(1)}}

/* footer tucks up under the last section on content + utility pages
   (the 115px margin-top is a homepage-only need: the bootwall cart) */
body:not(.home) .dt-footer{margin-top:0}
/* and the disclosures band closes out tighter */
.dtp-main .pg-section.dtp-disclosures{padding-bottom:18px}

/* statement-to-button breathing room (VCO engagement models et al.) */
.dtp-main .pg-inner > .dtp-statement + .wp-block-buttons{margin-top:clamp(30px,3vw,48px)}


/* ---- diagnostics marquee (replaces the lazy-susan carousel, Brian 7/16) ---- */
.dtp-mq{overflow:hidden;margin-top:clamp(26px,3vw,48px);position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.dtp-mq-track{display:flex;gap:22px;width:max-content;will-change:transform;
  animation:dtpMq var(--mq-dur,42s) linear infinite}
.dtp-mq:hover .dtp-mq-track{animation-play-state:paused}
@keyframes dtpMq{to{transform:translateX(calc(-50% - 11px))}}
.dtp-mq-item{flex:none;width:clamp(150px,14vw,210px);border:1px solid rgba(57,68,60,.14);
  background:var(--white);border-radius:20px 10px 10px 10px;cursor:pointer;
  box-shadow:0 10px 26px -14px rgba(57,68,60,.22);padding:16px 16px 14px;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  transition:transform .25s var(--ease,ease),box-shadow .25s var(--ease,ease)}
.dtp-mq-item:hover{transform:translateY(-4px);box-shadow:0 16px 36px -14px rgba(57,68,60,.35)}
.dtp-mq-item figure{margin:0;width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.dtp-mq-item figure img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
:is(.dtp-main,.editor-styles-wrapper) .dtp-mq-item p{font-family:var(--font-display);font-weight:600;
  font-size:clamp(13.5px,1vw,17px);color:var(--fg1);margin:0;text-align:center}
@media (prefers-reduced-motion: reduce){
  .dtp-mq{overflow-x:auto;mask-image:none;-webkit-mask-image:none}
  .dtp-mq-track{animation:none}
}

/* ---- instrument explorer -> expanding tile grid (Brian 7/16: kill the
        title......+ white gap; closed = compact tiles, open = full row) ---- */
:is(.dtp-main,.editor-styles-wrapper) .dtlx{display:grid;grid-template-columns:repeat(3,1fr);
  gap:14px;align-items:start}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d{margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d[open]{grid-column:1/-1}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d summary{padding:18px 46px 18px 18px!important;gap:12px}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-tt{font-size:clamp(16px,1.15vw,20px)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d[open] .dtlx-tt{font-size:clamp(18px,1.35vw,24px)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d summary::before{right:18px;width:16px}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d summary::after{right:25px;height:16px;margin-top:-8px}
@media (max-width:900px){:is(.dtp-main,.editor-styles-wrapper) .dtlx{grid-template-columns:1fr 1fr}}
@media (max-width:600px){:is(.dtp-main,.editor-styles-wrapper) .dtlx{grid-template-columns:1fr}}

/* closed tiles: icon left, plus right, NAME CENTERED and bigger (Brian 7/16) */
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d summary{position:relative;justify-content:center;
  padding:22px 52px 22px 52px!important}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d summary .dtpi{position:absolute;left:18px;top:50%;transform:translateY(-50%)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-tt{font-size:clamp(18px,1.35vw,23px);text-align:center}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-d[open] .dtlx-tt{font-size:clamp(19px,1.5vw,26px)}
/* keep the hover-lift on the icon working from its new anchored position */
@media (prefers-reduced-motion: no-preference){
  :is(.dtp-main,.editor-styles-wrapper) .dtlx-d summary:hover .dtpi svg{transform:translateY(-2px) scale(1.08)}
}

/* qualifiers in centered sections: centered but full width, not condensed */
.dtp-main .pg-section.dtp-center .pg-inner > p.dtp-qualifier{max-width:none;text-align:center;margin-inline:0}

/* ---- platform section v2 (Brian 7/16: blueprint grid + callout pointers;
        flows seamlessly into the CTA band below) ---- */
.dtp-main .pg-section.dtp-platform{background:
  linear-gradient(rgba(236,233,227,.055) 1px,transparent 1px) 0 0/44px 44px,
  linear-gradient(90deg,rgba(236,233,227,.055) 1px,transparent 1px) 0 0/44px 44px,
  radial-gradient(70% 90% at 42% 45%,rgba(201,166,143,.16),rgba(201,166,143,0) 62%),
  var(--forest);padding-block:clamp(56px,6vw,110px) clamp(64px,7vw,120px)}
/* the CTA band directly after: same flat forest at the junction, no glow seam */
.dtp-main .dtp-platform + .pg-section:has(.dtp-cta){background:var(--forest)}
.dtp-plat{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,2.4vw,44px);
  align-items:center;margin-top:clamp(26px,3vw,48px);
  max-width:1120px;margin-inline:auto} /* pull cart + spec toward center (Brian 7/21) */
.dtp-plat-cart{position:relative;margin:0}
.dtp-plat-cart img{width:100%;height:auto;max-height:680px;object-fit:contain;display:block;
  filter:drop-shadow(0 34px 60px rgba(0,0,0,.4))}
/* callouts: dot anchored on the cart, tag floated to the side with a hairline */
.dtp-plat-co{position:absolute;left:var(--dx);top:var(--dy);display:flex;align-items:center;z-index:2}
.co-dot{width:11px;height:11px;border-radius:50%;background:var(--tan);flex:none;
  box-shadow:0 0 0 5px rgba(201,166,143,.28)}
.co-tag{font-family:var(--font-mono);font-size:clamp(11px,.85vw,13.5px);font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--cream);white-space:nowrap;
  background:rgba(0,0,0,.32);border:1px solid rgba(236,233,227,.3);border-radius:8px;
  padding:8px 14px;backdrop-filter:blur(3px)}
.dtp-plat-co[style*="--side:right"] .co-tag{order:2;margin-left:0}
.dtp-plat-co::after{content:"";height:1px;width:clamp(30px,4vw,84px);background:rgba(236,233,227,.5);flex:none}
.dtp-plat-co[style*="--side:left"]{flex-direction:row-reverse;transform:translateX(-100%)}
.dtp-plat-co[style*="--side:left"] .co-tag{margin-right:0}
@media (prefers-reduced-motion: no-preference){
  .co-dot{animation:dtpCoPulse 2.8s ease-in-out infinite}
}
@keyframes dtpCoPulse{0%,100%{box-shadow:0 0 0 5px rgba(201,166,143,.28)}50%{box-shadow:0 0 0 9px rgba(201,166,143,.12)}}
:is(.dtp-main,.editor-styles-wrapper) .dtp-plat-list{list-style:none;margin:0;padding:0;max-width:none}
:is(.dtp-main,.editor-styles-wrapper) .dtp-plat-list li{position:relative;padding:13px 0 13px 30px;text-align:left;
  font-size:clamp(16px,1.2vw,20px);line-height:1.55;color:var(--cream);border-bottom:1px solid rgba(236,233,227,.16)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-plat-list li:last-child{border-bottom:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-plat-list li::before{content:"";position:absolute;left:4px;top:1.35em;
  width:8px;height:8px;border-radius:2px;background:var(--tan)}
@media (max-width:900px){
  .dtp-plat{grid-template-columns:1fr}
  /* phone: callouts become a chip row under the cart, no leader lines */
  .dtp-plat-co{position:static;transform:none;display:inline-flex;margin:6px 8px 0 0}
  .dtp-plat-co::after{display:none}
  .co-dot{display:none}
  .dtp-plat-cart{display:flex;flex-direction:column;align-items:center}
}

/* centered sections never center list text (bullets keep their text attached) */
.dtp-main .pg-section.dtp-center ul.wp-block-list li{text-align:left}

/* ---- platform v3: equipment nameplate (callouts reverted, Brian 7/16) ---- */
/* live EKG trace under the title: draws itself, then the pulse loops */
.dtp-plat-ekg{max-width:760px;margin:14px auto 0;color:var(--tan);opacity:.95}
.dtp-plat-ekg svg{width:100%;height:56px;display:block}
.dtp-plat-ekg .ekg-base{display:none}
@media (prefers-reduced-motion: no-preference){
  .dtp-plat-ekg .ekg-pulse{stroke-dasharray:80 520;stroke-dashoffset:600;
    animation:dtpEkg 3.2s linear infinite}
}
@keyframes dtpEkg{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion: reduce){.dtp-plat-ekg .ekg-pulse{animation:none;stroke-dasharray:none}}
/* spec plate: machined data panel */
.dtp-spec{border:1px solid rgba(236,233,227,.28);border-radius:18px 10px 10px 10px;
  background:rgba(0,0,0,.22);backdrop-filter:blur(2px);
  padding:clamp(22px,2.2vw,38px) clamp(22px,2.2vw,40px);align-self:center}
/* spec card title reads as normal text, not a mono code label (Emily 7/21) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-spec-k{font-family:var(--font-display);font-weight:600;
  font-size:clamp(17px,1.3vw,22px);letter-spacing:0;text-transform:none;color:var(--cream);
  margin:0 0 16px;text-align:left}
.dtp-spec-row{display:flex;flex-direction:column;align-items:flex-start;gap:5px;
  padding:12px 0;border-bottom:1px solid rgba(236,233,227,.14)} /* label above value, all left-aligned (Brian 7/21) */
.dtp-spec-row:last-child{border-bottom:0}
.dtp-spec-row span:first-child{font-family:var(--font-mono);font-size:clamp(11px,.85vw,13px);
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(236,233,227,.6);
  text-align:left}
.dtp-spec-row span:last-child{font-family:var(--font-sans);font-weight:400;
  font-size:clamp(15px,1.15vw,19px);color:var(--cream);text-align:left}
@media (max-width:900px){.dtp-spec-row{gap:14px}}

/* buttons blocks that declare centered flex layout actually center on content pages */
.dtp-main .pg-inner > .wp-block-buttons.is-content-justification-center,
.dtp-main .pg-inner > .wp-block-buttons:has(+ *):is([class*="justification-center"]){justify-content:center}

/* accordion summaries: label always sits left, beside its icon when present
   (space-between was silently right-shoving labels whenever an icon existed) */
:is(.dtp-main,.editor-styles-wrapper) .wp-block-details summary{justify-content:flex-start;gap:14px;text-align:left}

/* quotes never inherit section centering: quote text + attribution stay left */
.dtp-main .pg-section.dtp-center .dtp-quote :is(p,cite){text-align:left}

/* buttons that follow a card grid get real separation (rural "Made to Fit", et al.) */
.dtp-main .pg-inner > .wp-block-columns + .wp-block-buttons,
.dtp-main .dtp-cards .wp-block-columns + .wp-block-buttons{margin-top:clamp(34px,3.5vw,56px)}

/* ---- About rebuild supplements (2026-07-16) ---- */
/* full-bleed forest slogan band */
.dtp-main .pg-section.dtp-band{background:
  radial-gradient(110% 130% at 50% -10%,rgba(201,166,143,.14),rgba(201,166,143,0) 58%),
  var(--forest);padding-block:clamp(64px,7vw,130px);text-align:center}
:is(.dtp-main,.editor-styles-wrapper) .dtp-band-slogan{font-family:var(--font-display);font-weight:600;
  font-size:clamp(38px,4vw,86px);line-height:1.05;letter-spacing:-.02em;color:var(--cream);margin:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-band-slogan em{font-style:italic;color:var(--tan)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-band-sub{font-family:var(--font-sans);font-weight:300;
  font-size:clamp(17px,1.3vw,24px);line-height:1.55;color:rgba(255,255,255,.82);
  max-width:64ch;margin:26px auto 0}
/* value cards: icon centered above the title */
.dtp-main .dtp-card .dtpi{margin-bottom:14px}
.dtp-center .dtp-card .dtpi{display:flex;justify-content:center}
.dtp-center .dtp-card .dtpi svg{width:34px;height:34px}
/* team grid inside the system: centered names, comfortable gaps */
.dtp-team{margin-top:clamp(26px,3vw,48px)}

/* PHP-template pages don't load Gutenberg's generated layout CSS: give the
   block-vocabulary wrappers their expected behavior everywhere */
.dtp-main .wp-block-columns{display:flex;flex-wrap:wrap;gap:clamp(18px,2vw,32px)}
.dtp-main .wp-block-columns > .wp-block-column{flex:1 1 0;min-width:0}
.dtp-main .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:900px){.dtp-main .wp-block-columns{flex-direction:column}}
/* value cards (icon-topped): title centered under the icon, subtext stays left */
.dtp-main .pg-section.dtp-center .dtp-card:has(> .dtpi) h3{text-align:center}

/* card corner numerals/kickers never absorb flex space: titles stay tucked
   to their numeral at every width (was pushing the shortest card's title down) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-card p.dtp-card-k{flex:0 0 auto}

/* card action buttons pin to the card floor regardless of title wrap
   (the removed subtext paragraphs used to be the stretch element) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-card p:has(> .dtp-card-link){margin-top:auto}

/* group-photo card backgrounds: bias the crop upward so faces sit mid-card */
.dtp-card > .dtp-card-bg--faces img{object-position:50% 30%}

/* centered inline video (Overview Who We Are) */
.dtp-main .dtp-inline-video--centered{max-width:1100px;margin-inline:auto;margin-top:clamp(24px,2.6vw,44px)}


/* platform title logo + heavier trace + larger cart (Brian 7/16) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-plat-logo{height:1.08em;width:auto;display:inline-block;
  vertical-align:-.14em;margin:0 .12em} /* logo bumped again per Emily 7/21 (was .92em) */
.dtp-plat-ekg path{stroke-width:3.4}
.dtp-plat{grid-template-columns:1.3fr 1fr}
.dtp-plat-cart img{max-height:780px}

/* platform title matches the CTA-close display scale */
:is(.dtp-main,.editor-styles-wrapper) .dtp-platform h2{font-size:clamp(34px,3.4vw,68px)}

/* MDU rolls in from the left edge as the platform section reveals; a floor
   shadow fades in under it so it sits off the page (reduced-motion users get
   the static composition: .dtp-rv is only ever added when motion is allowed) */
.dtp-plat-cart{position:relative}
.dtp-plat-cart::after{content:"";position:absolute;left:50%;bottom:-2%;width:72%;height:8%;
  transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(50% 50% at 50% 50%,rgba(0,0,0,.42),rgba(0,0,0,0) 70%);
  opacity:1;z-index:-1}
.dtp-rv .dtp-plat-cart img{transform:translateX(-72vw)}
.dtp-rv .dtp-plat-cart::after{opacity:0;transform:translateX(-50%) scaleX(.4)}
.dtp-in .dtp-plat-cart img{animation:dtpCartIn 1.15s cubic-bezier(.22,1,.36,1) .1s both}
.dtp-in .dtp-plat-cart::after{animation:dtpCartShadow .7s ease .75s both}
@keyframes dtpCartIn{from{transform:translateX(-72vw)}70%{transform:translateX(1.5%)}to{transform:translateX(0)}}
@keyframes dtpCartShadow{from{opacity:0;transform:translateX(-50%) scaleX(.4)}to{opacity:1;transform:translateX(-50%) scaleX(1)}}

/* expanded instrument lead: centered column on the grid's center line;
   the what-it-is line reads as a display statement, the flavor line under it */
:is(.dtp-main,.editor-styles-wrapper) .dtlx-lead{flex-direction:column;align-items:center;
  text-align:center;gap:18px;margin:24px auto 26px}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-img{flex:0 0 auto;width:clamp(200px,18vw,280px)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-what{flex:0 1 auto;text-align:center;max-width:62ch;
  margin-inline:auto;font-family:var(--font-display);font-weight:600;
  font-size:clamp(20px,1.6vw,28px);line-height:1.3;color:var(--fg1)}
:is(.dtp-main,.editor-styles-wrapper) .dtlx-what .dtlx-what2{display:block;margin-top:8px;
  font-family:var(--font-sans);font-weight:300;font-size:clamp(15.5px,1.15vw,19px);
  line-height:1.55;color:var(--fg2)}


/* accordion bodies never inherit section centering (summaries were already guarded) */
.dtp-main .pg-section.dtp-center .wp-block-details :is(p,li){text-align:left}

/* comparison table v4 (BOTH the overview compare table and the SNF --stack
   Day One table share this system, Brian 7/21): subscription-style them-vs-us. Fixed column proportions kill
   the col-1 whitespace dump; option columns centered; the Dr Triage column is a
   full-height forest feature column with badge checks. */
.dtp-main .dtp-vs{max-width:880px;margin-inline:auto;--vsline:rgba(57,68,60,.75)}
.dtp-main .dtp-vs table{table-layout:fixed;width:100%;
  border:1.5px solid var(--vsline);border-radius:20px;
  box-shadow:0 28px 64px -40px rgba(57,68,60,.45)}
/* single border system: kill core/WP + hairline borders, then draw ours once */
.dtp-main .dtp-vs :is(th,td){border:0;padding:16px 20px;vertical-align:middle}
.dtp-main .dtp-vs :is(th,td):nth-child(-n+2){border-right:1px solid var(--vsline)}
.dtp-main .dtp-vs thead th{border-bottom:1px solid var(--vsline)}
.dtp-main .dtp-vs tbody tr:not(:last-child) td{border-bottom:1px solid var(--vsline)}
.dtp-main .dtp-vs th:first-child{width:32%}
.dtp-main .dtp-vs :is(th,td):nth-child(n+2){text-align:center;width:34%}
.dtp-main .dtp-vs thead th:is(:first-child,:nth-child(2)){
  font-family:var(--font-sans);font-weight:500;font-size:clamp(14px,1vw,16.5px);
  letter-spacing:0;text-transform:none;color:rgba(57,68,60,.55)}
.dtp-main .dtp-vs thead th:first-child{text-transform:uppercase;letter-spacing:.06em}
.dtp-main .dtp-vs .dtp-ok,.dtp-main .dtp-vs .dtp-no{display:inline-block;width:26px;text-align:center;font-size:18px}
.dtp-main .dtp-vs :is(th,td):first-child{text-align:left}
.dtp-main .dtp-vs tbody td:first-child{white-space:normal}
/* the them column: quiet */
.dtp-main .dtp-vs .dtp-no{color:rgba(57,68,60,.32);font-weight:600}
/* the us column: full-height forest feature */
.dtp-main .dtp-vs thead th.dtp-vs-hero{
  background:linear-gradient(165deg,#46534a,var(--forest));border-bottom:1px solid rgba(255,255,255,.14);
  white-space:nowrap;padding-block:18px}
.dtp-main .dtp-vs .dtp-vs-logo{height:clamp(28px,2.3vw,38px);width:auto;
  vertical-align:middle;margin:0;display:inline-block}
.dtp-main .dtp-vs tbody td:last-child{
  background:var(--forest);border-left:0;color:var(--cream)}
.dtp-main .dtp-vs tbody tr:not(:last-child) td:last-child{
  border-bottom-color:rgba(255,255,255,.14)}
.dtp-main .dtp-vs tbody td:last-child .dtp-ok{
  color:var(--forest);background:var(--tan);border-radius:50%;
  width:26px;height:26px;line-height:26px;font-size:14px;font-weight:800}
/* the Day One table runs wider so desktop rows stay one line */
.dtp-main .dtp-vs--stack{max-width:1160px}
/* --stack variant (Day One table): marks in a fixed slot, text left-aligned so all
   checks/x's line up; hero header is the logo alone */
.dtp-main .dtp-vs--stack tbody td:nth-child(n+2){text-align:left;
  padding-left:calc(clamp(20px,2.4vw,36px) + 34px);text-indent:-34px} /* hanging indent: wrapped lines align with the text, not the mark */
.dtp-main .dtp-vs--stack tbody td :is(.dtp-ok,.dtp-no){margin-right:8px;text-indent:0}
@media (max-width:640px){
  .dtp-main .wp-block-table.dtp-vs{overflow-x:visible}
  .dtp-main .dtp-vs table{min-width:0;width:100%}
  .dtp-main .dtp-vs--stack :is(th,td):nth-child(2){display:none}
  .dtp-main .dtp-vs :is(th,td){padding:12px 8px;white-space:normal}
  .dtp-main .dtp-vs th:first-child{width:36%}
  .dtp-main .dtp-vs :is(th,td):nth-child(n+2){width:32%}
  .dtp-main .dtp-vs thead th:nth-child(2){font-size:11.5px;letter-spacing:.02em}
  .dtp-main .dtp-vs thead th.dtp-vs-hero{white-space:normal;padding-inline:6px}
  .dtp-main .dtp-vs .dtp-vs-logo{display:block;margin:0 auto;height:22px}
}
/* (v3 comparison-table block removed 2026-07-21; v4 owns .dtp-vs. Keepers folded into v4.) */

/* ---------- EMILY 7/21 ROUND ---------- */
/* oversized section heading (Where We Serve) */
:is(.dtp-main,.editor-styles-wrapper) h2.dtp-h2-xl{font-size:clamp(36px,3.5vw,70px)}

/* tile cards: the image tells the story, the name is the only copy,
   the whole card is the link (Emily 7/21: name-only cards, no buttons) */
.dtp-card--tile{min-height:clamp(210px,17vw,270px);justify-content:flex-end}
.dtp-card--tile > .dtp-card-bg img{opacity:.52;transition:opacity .35s var(--ease,ease),transform .5s var(--ease,ease)}
.dtp-card--tile:hover > .dtp-card-bg img{opacity:.66;transform:scale(1.03)}
/* white floor scrim keeps the name legible over the stronger image */
.dtp-card--tile > .dtp-card-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.92) 82%)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-card--tile h3{margin:0;font-size:clamp(25px,2vw,36px);line-height:1.1}
.dtp-card--tile h3 a{color:var(--heading);text-decoration:none;display:inline-block}
.dtp-card--tile h3 a::after{content:"\2192";display:inline-block;margin-left:10px;color:var(--brown);
  opacity:0;transform:translateX(-6px);transition:opacity .3s var(--ease,ease),transform .3s var(--ease,ease)}
.dtp-card--tile:hover h3 a::after{opacity:1;transform:none}
.dtp-card--tile h3 a::before{content:"";position:absolute;inset:0;z-index:2} /* whole-card click target */

/* MDU tiles: the label reads as a button (Emily 7/21) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-card--tilebtn h3{font-size:clamp(17px,1.25vw,21px)}
.dtp-card--tilebtn h3 a{display:inline-flex;align-items:center;padding:13px 24px;
  border:1.5px solid rgba(127,87,66,.5);border-radius:var(--r-sm,12px);
  background:var(--white);color:var(--brown);font-weight:600;
  transition:background .25s var(--ease,ease),color .25s var(--ease,ease)}
.dtp-card--tilebtn h3 a::after{opacity:1;transform:none;color:inherit}
.dtp-card--tilebtn:hover h3 a{background:var(--brown);color:var(--cream)}

/* the compare statement is the point of the section: one line, display scale
   (1.9vw keeps the full sentence on a single line down to ~1050px; below that
   it wraps balanced) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-statement--xl{
  font-size:clamp(21px,1.9vw,34px);line-height:1.25;max-width:none;text-wrap:balance}

/* CTA-close demo buttons read longer (Emily 7/21: "Book a Demo" was condensed);
   the link renders inline-flex, so centering needs justify-content */
:is(.dtp-main,.editor-styles-wrapper) .dtp-cta .wp-block-button__link{
  min-width:min(340px,78vw);text-align:center;justify-content:center}

/* Built by Health Alliance Global: logo-led split (Emily 7/21) */
.dtp-hagbuilt .dtp-hagbuilt-logo{max-width:min(430px,82%);margin:2px 0 20px}
.dtp-hagbuilt .dtp-hagbuilt-logo img{width:100%;height:auto;display:block}
.dtp-hagbuilt .wp-block-buttons{margin-top:28px}

/* VCO engagement models: tag reads as a subtitle under the platform name
   (Emily 7/21: eye lands on Clinical/Technical Platform first) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar h3 + .dtp-pillar-tag{margin:-2px 0 18px}
/* pillar art row (Emily's line drawings, Brian 7/22): Clinical = MDU + provider,
   Technical = MDU alone; centered between the tag and the body paragraph */
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar-art{display:flex;align-items:center;justify-content:center;
  gap:clamp(14px,1.4vw,26px);margin:6px 0 20px;min-height:130px;position:relative}
/* two-image row: the + sits at the exact card center (under the title), each
   drawing centered in an equal half regardless of its width (Brian 7/22) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar-art:has(.dtp-pillar-plus){display:grid;
  grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(36px,3.6vw,64px)}
/* images hug the centered + from both sides (equal gaps), instead of
   floating in the middle of their halves */
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar-art:has(.dtp-pillar-plus) img:first-child{justify-self:end}
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar-art:has(.dtp-pillar-plus) .dtp-pillar-art-provider{justify-self:start}
/* pen-trace hover (shared with the SNF role marquee, content-extras.js) */
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar-art canvas{position:absolute;pointer-events:none}
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar-art img.is-drawing{opacity:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar-art img{height:156px;width:auto}
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar-art .dtp-pillar-art-provider{height:125px}
/* same construction as the accordion summary plus: two brown rounded bars */
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar-plus{position:relative;width:22px;height:22px;
  font-size:0;line-height:0}
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar-plus::before,
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar-plus::after{content:"";position:absolute;
  background:var(--brown);border-radius:2px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar-plus::before{left:0;top:50%;width:22px;height:2px;margin-top:-1px}
:is(.dtp-main,.editor-styles-wrapper) .dtp-pillar-plus::after{left:50%;top:0;width:2px;height:22px;margin-left:-1px}

/* VCO 24/7 figure: panel labels sit above each box at Engagement-Models scale;
   the live dot anchors in the forest panel's top-right corner (Emily 7/21) */
.dtfx-col{display:flex;flex-direction:column;min-width:0}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-lab{font-family:var(--font-display);font-weight:600;
  font-size:clamp(22px,1.8vw,34px);line-height:1.1;letter-spacing:-.02em;color:var(--heading);
  margin:0 0 16px;text-align:center}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-col .dtfx-panel{flex:1}
/* the Dr Triage panel label is the logo itself (Brian 7/22); the flex box
   matches the text label's line box so the two panel tops stay level */
:is(.dtp-main,.editor-styles-wrapper) .dtfx-lab--logo{display:flex;align-items:center;justify-content:center;
  min-height:calc(clamp(22px,1.8vw,34px)*1.1)}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-lab--logo img{height:calc(clamp(22px,1.8vw,34px)*1.32);width:auto}
.dtfx-panel--on{position:relative}
.dtfx-live--corner{position:absolute;top:26px;right:28px}
/* the two headline figures carry the contrast (Emily 7/21: highlight both) */
:is(.dtp-main,.editor-styles-wrapper) .dtfx-col .dtfx-n{color:var(--brown)}
:is(.dtp-main,.editor-styles-wrapper) .dtfx-col .dtfx-panel--on .dtfx-n{color:var(--tan)}

/* highlight three-card rows on the verticals + RHTP (Emily 7/21): the takeaway
   sits front and center in a bigger card, off the swept corner */
.dtp-card--hl{min-height:clamp(200px,15vw,250px);justify-content:center;
  padding-top:clamp(32px,3.2vw,54px);padding-bottom:clamp(32px,3.2vw,54px)}
/* :has() in the old left-align rule inflates its specificity; match it */
.dtp-main .pg-section.dtp-center .dtp-card.dtp-card--hl :is(h3,p:not(:has(> .dtp-card-link))){text-align:center}
:is(.dtp-main,.editor-styles-wrapper) .dtp-card--hl h3{
  font-size:clamp(23px,1.85vw,33px);margin:0 0 12px;text-wrap:balance}
:is(.dtp-main,.editor-styles-wrapper) .dtp-card--hl p{
  font-size:clamp(15.5px,1.05vw,18.5px);flex:0 0 auto;max-width:38ch;margin:0 auto;text-wrap:pretty}

/* accordion rows condensed: the + sits near the words, row centered
   (Emily 7/21: Corrections market / RHTP four groups / Disaster front line) */
/* width sized so the longest summary ("For environments where infrastructure
   can't be assumed", disaster) holds ONE line even at the 36px font cap
   (needs 1096px measured; Brian 7/22) — shared by every page's accordions */
.dtp-main .pg-inner > .wp-block-details{max-width:min(1140px,100%);margin-inline:auto}
/* in accordion sections, titles + leads share the accordion box, so
   left-aligned titles start at the accordions' left edge (FAQ, Brian 7/22).
   Centered (dtp-center) sections look identical either way. */
.dtp-main .pg-inner:has(> .wp-block-details) > :is(h2,.dtp-lead){
  max-width:min(1140px,100%);margin-inline:auto}

/* rural hero: video held further right so the left stays clean text
   (Emily 7/21: copy was running into the video) */
@media (min-width:761px){
  :is(.dtp-main,.editor-styles-wrapper) .dtp-hero-media--narrow{width:50%}
}

/* "Three ways to engage" (rural CTA): one row of card-styled links (Emily 7/21) */
.dtp-engage{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,24px);
  max-width:1020px;margin:36px auto 0}
.dtp-engage a{display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:96px;background:var(--white);border-radius:var(--r-soft-corner,86px 14px 14px 14px);
  padding:clamp(18px,1.8vw,28px) 20px;
  font-family:var(--font-display);font-weight:600;font-size:clamp(16px,1.15vw,20px);line-height:1.25;
  color:var(--heading);text-decoration:none;text-wrap:balance;
  transition:transform .3s var(--ease,ease),box-shadow .3s var(--ease,ease)}
.dtp-engage a:hover{transform:translateY(-4px);box-shadow:var(--shadow-md,0 14px 34px rgba(0,0,0,.25))}
@media (max-width:760px){.dtp-engage{grid-template-columns:1fr}}

/* two-line balance sweep (Emily 7/21, site-wide note): short text blocks that
   wrap to a second line balance the lines instead of orphaning a word.
   (Engines skip text-wrap:balance on long blocks, so paragraphs are unaffected.) */
:is(.dtp-main,.editor-styles-wrapper) :is(.dtp-lead,.dtp-qualifier,.dtfx-sub,.dtp-acc-sub,
  .dtp-band-sub,.dtp-statement,.dtp-card p,.dtp-cta > p:not(.dtp-cta-contact)){text-wrap:balance}

/* EMR "How Documentation Happens": title lives IN the left column so its top
   lines up with the capture's top edge (Brian 7/22); columns top-aligned.
   The lead then floats to the vertical center of the image's span (auto
   margins in a flex column; bottom padding offsets the caption's height so
   centering tracks the image, not the whole figure). */
:is(.dtp-main,.editor-styles-wrapper) .dtp-docsplit .dtp-frame{margin-top:0}
@media (min-width:782px){
  .dtp-main .dtp-docsplit .wp-block-column:first-child{display:flex;flex-direction:column;padding-bottom:clamp(44px,4vw,110px)}
  .dtp-main .dtp-docsplit .wp-block-column:first-child .dtp-lead{margin-block:auto}
}
/* live-capture overlays: same trace geometry as the home laptop screen
   (dr-triage.css .dt-emr-ekg/.dt-emr-steth), measured off emr-consult.webp */
.dtp-live-shot{position:relative;display:block;line-height:0}
.dtp-live-shot .dtp-live-ekg{position:absolute;left:67.19%;top:15.46%;width:23.59%;height:21.38%}
.dtp-live-shot .dtp-live-steth{position:absolute;left:33.54%;top:55%;width:32.81%;height:22%}

/* leads meant to read as ONE line whenever the rail allows: uncap the measure,
   the section rail is the only limit; wraps balanced below that (EMR
   record-routes sub line, Brian 7/22). Specificity note: the dtp-center
   paragraph cap above (.dtp-main .pg-section.dtp-center .pg-inner > p) is
   (0,4,1), so this must carry (0,5,0) to win. */
.dtp-main .pg-section .pg-inner > .dtp-lead.dtp-lead--wide,
.editor-styles-wrapper .dtp-lead--wide{max-width:none}

/* LATENT BUG FIX (found 7/21 mobile pass): the reveal system's
   .dtp-rv.dtp-in{opacity:1} outranked the phone hero wash, so hero text sat on
   a full-strength image/video below 1024px. Re-assert the wash after the
   reveal rules with matching specificity. */
@media (max-width:1023px){
  .dtp-main .dtp-hero-media.dtp-rv.dtp-in,
  :is(.dtp-main,.editor-styles-wrapper) .dtp-hero-media{opacity:.16}
}

/* SNF hero: exactly two lines (Emily 7/21); the phrase is wider than the
   default 16ch hero cap, so this h1 gets more room and a slightly tighter size */
.dtp-hero:has(.dtp-hero-media) h1.dtp-h1-2line{max-width:min(24ch,58%);
  font-size:clamp(30px,4vw,62px)}
@media (max-width:760px){
  .dtp-hero:has(.dtp-hero-media) h1.dtp-h1-2line{max-width:none;font-size:clamp(27px,7.6vw,34px)}
}

/* ---- disclosures link line (Susan 7/25 + Ryan 7/26: the full disclosure and
        source text moved to /disclosures/, so each page carries one quiet
        line instead of a wall of fine print above the footer) ----
   A lone <a> inside a <p> normally renders as a real button (the rule up at
   "standalone link paragraphs read as REAL buttons"). Brian wants a plain
   centred link here, not a button, so these have to OUT-SPECIFY that rule.
   Its :has(> a:only-child) carries a class-level of its own, putting it at
   (0,3,3), so .dtp-disclink is doubled here to reach (0,4,2) and win. Do not
   "tidy" the repeated class away; the button box comes straight back.
   The band itself is dark. On all ten pages it lands between the dark CTA and
   the dark footer, so a white strip read as a mistake; dark keeps the run
   continuous and the link reads as the top edge of the footer. Type matches
   .dt-footer-base exactly (13.5px, white at 60%, 90% on hover). */
:is(.dtp-main,.editor-styles-wrapper) .dtp-disclink{padding-block:clamp(18px,2vw,30px);
  background:var(--forest,#39443C)}
:is(.dtp-main,.editor-styles-wrapper) .dtp-disclink.dtp-disclink .pg-inner > p{
  font-size:13.5px;line-height:1.6;max-width:none;margin:0;text-align:center}
:is(.dtp-main,.editor-styles-wrapper) .dtp-disclink.dtp-disclink .pg-inner > p > a{
  display:inline;gap:0;font-weight:500;font-size:13.5px;color:rgba(255,255,255,.6);
  text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(255,255,255,.28);padding:0;border:0;border-radius:0;
  background:none;transition:color .2s var(--ease,ease),text-decoration-color .2s}
:is(.dtp-main,.editor-styles-wrapper) .dtp-disclink.dtp-disclink .pg-inner > p > a:hover{
  background:none;border-color:transparent;color:rgba(255,255,255,.9);
  text-decoration-color:rgba(255,255,255,.6)}
