/* PayorMap | Compare & decision-layer landing page. Scoped to .compare-page. */
.compare-page { --cp-ink:#10271b; --cp-muted:#596d5f; --cp-green:#137c4a; --cp-border:#dbe6da; --cp-paper:#f9fbf7; --cp-mist:#eff4ee; background:var(--cp-paper); }
.compare-page .compare-hero { background:radial-gradient(ellipse 70% 75% at 92% 25%,#23432b 0%,transparent 66%),#0c2317; color:#f5fbf4; padding:clamp(78px,8vw,122px) 0 clamp(76px,8vw,116px); }
.compare-page .compare-hero-grid { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); gap:clamp(42px,5.6vw,82px); align-items:center; }
.compare-page .eyebrow { color:var(--cp-green); }
.compare-page .compare-hero .eyebrow, .compare-page .compare-cta-band .eyebrow { color:#9cddaf; }
.compare-page .compare-hero h1 { margin:23px 0 26px; font-size:clamp(3rem,5.25vw,5.65rem); font-weight:650; line-height:1.045; letter-spacing:-.078em; text-wrap:balance; color:#f6fbf6; }
.compare-page .compare-hero h1 em { color:#addec1; font-style:normal; }
.compare-page .compare-hero-lede { max-width:610px; color:#c9d8cd; font-size:clamp(1.04rem,1.52vw,1.2rem); line-height:1.74; letter-spacing:-.014em; }
.compare-page .compare-hero-lede strong { color:#f0fff4; font-weight:700; }
.compare-page .compare-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 25px; margin-top:32px; }
.compare-page .compare-hero-actions .btn { display:inline-flex; align-items:center; justify-content:center; border:1px solid #d4ecd9; background:#e6f5e8; color:#133923; border-radius:5px; min-height:49px; padding:0 20px; font-size:.86rem; font-weight:700; white-space:normal; text-align:center; }
.compare-page .compare-hero-actions .btn:hover { background:#fff; color:#112b1d; }
.compare-page .compare-text-cta { color:#c2efcd; font-size:.85rem; font-weight:700; text-decoration:underline; text-decoration-color:rgba(194,239,205,.5); text-underline-offset:6px; line-height:1.5; }
.compare-page .compare-text-cta:hover { color:#fff; }
.compare-page .compare-scope-note { color:#95ae9d; max-width:580px; font-size:.73rem; line-height:1.6; margin:28px 0 0; }
.compare-page .compare-resolution { min-width:0; border:1px solid rgba(211,234,211,.22); background:linear-gradient(155deg,rgba(231,245,225,.1),rgba(9,30,19,.63) 60%); border-radius:13px; padding:clamp(20px,2.5vw,34px); box-shadow:0 32px 80px rgba(0,0,0,.14); }
.compare-page .compare-resolution-top { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-bottom:25px; border-bottom:1px solid rgba(233,250,238,.16); color:#c1d6c5; font-size:.65rem; letter-spacing:.115em; }
.compare-page .compare-resolution-top b { color:#9fefb9; letter-spacing:.06em; font-size:.65rem; }
.compare-page .compare-resolution-inputs { display:grid; grid-template-columns:1fr 1fr; gap:11px; margin:25px 0 20px; }
.compare-page .compare-resolution-inputs > div { display:flex; flex-direction:column; min-height:126px; gap:15px; padding:20px; border:1px solid rgba(224,245,221,.18); background:rgba(255,255,255,.04); border-radius:6px; }
.compare-page .compare-resolution-inputs span { font-size:.68rem; letter-spacing:.13em; color:#99dfb3; font-weight:700; }
.compare-page .compare-resolution-inputs strong { color:#f7fff7; font-size:clamp(.94rem,1.35vw,1.22rem); line-height:1.3; font-weight:550; letter-spacing:-.035em; }
.compare-page .compare-resolution-inputs small { color:#acbdb0; font-size:.69rem; line-height:1.2; }
.compare-page .compare-resolution-tin { border-color:rgba(139,235,177,.62)!important; background:rgba(119,204,149,.12)!important; }
.compare-page .compare-resolution-flow { display:flex; gap:9px; align-items:center; justify-content:space-between; margin:14px 0 20px; font-size:.64rem; color:#c0d7c2; letter-spacing:-.01em; }
.compare-page .compare-resolution-flow i { display:block; flex:1; height:1px; min-width:6px; background:linear-gradient(90deg,#397c50,#85bd90); position:relative; }
.compare-page .compare-resolution-flow i:after { content:""; position:absolute; right:0; top:-3px; border-left:5px solid #85bd90; border-top:3.5px solid transparent; border-bottom:3.5px solid transparent; }
.compare-page .compare-resolution-flow strong { color:#9ce5b4; font-weight:700; }
.compare-page .compare-resolution-result { padding:23px; background:#a8dbb2; color:#122e1d; border-radius:6px; display:grid; gap:9px; }
.compare-page .compare-resolution-result span { font-size:.64rem; font-weight:750; letter-spacing:.13em; }
.compare-page .compare-resolution-result strong { max-width:420px; font-size:clamp(1.2rem,2vw,1.55rem); font-weight:600; letter-spacing:-.05em; line-height:1.25; }
.compare-page .compare-stats { background:#eaf2e9; border-bottom:1px solid #d8e6d9; }
.compare-page .compare-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.35fr); align-items:center; gap:26px; padding:26px 0; }
.compare-page .compare-stat-grid>div { border-right:1px solid #cddcce; padding:4px 25px 4px 0; }
.compare-page .compare-stat-grid>div strong { display:block; font-size:clamp(1.55rem,2.4vw,2.55rem); line-height:1.07; font-weight:700; letter-spacing:-.07em; color:#164a2c; }
.compare-page .compare-stat-grid>div span { display:block; margin-top:8px; font-size:.76rem; color:#4d6b55; line-height:1.4; }
.compare-page .compare-stat-grid>p { color:#58705d; font-size:.72rem; line-height:1.65; margin:0; }
.compare-page .compare-stat-grid>p a,.compare-page .compare-competitors a { color:#116c42; font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.compare-page .compare-section { padding:clamp(80px,8vw,122px) 0; background:#fefefb; }
.compare-page .compare-section-intro { max-width:950px; margin-bottom:42px; }
.compare-page .compare-section h2 { font-size:clamp(2.35rem,4.55vw,4.6rem); letter-spacing:-.07em; font-weight:650; line-height:1.08; max-width:1020px; margin:18px 0 24px; color:#14291c; text-wrap:balance; }
.compare-page .compare-section-intro p { font-size:clamp(1.02rem,1.42vw,1.14rem); color:#617266; max-width:790px; line-height:1.75; }
.compare-page .compare-dimensions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.compare-page .compare-dimensions article { display:flex; flex-direction:column; min-height:250px; gap:10px; padding:29px 25px 24px; border:1px solid var(--cp-border); border-radius:8px; background:#f5f8f3; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.compare-page .compare-dimensions article:hover { transform:translateY(-3px); border-color:#b2d3bd; box-shadow:0 15px 30px rgba(22,60,31,.06); }
.compare-page .compare-dimensions article>span { color:var(--cp-green); font-size:.7rem; font-weight:750; letter-spacing:.14em; }
.compare-page .compare-dimensions article h3 { color:#183524; font-size:clamp(1.23rem,1.9vw,1.65rem); letter-spacing:-.055em; margin:24px 0 3px; font-weight:650; }
.compare-page .compare-dimensions article p { color:#667769; font-size:.86rem; line-height:1.62; margin:0; }
.compare-page .compare-layer-strip { display:flex; flex-wrap:wrap; align-items:stretch; gap:11px; margin-top:22px; padding:23px; border:1px solid #d6e5d6; background:#fff; border-radius:9px; }
.compare-page .compare-layer-strip>div { flex:1 1 180px; display:grid; align-content:center; gap:9px; padding:8px 12px; }
.compare-page .compare-layer-strip>div b { font-size:.63rem; color:#5a785f; letter-spacing:.12em; }
.compare-page .compare-layer-strip>div span { font-size:clamp(.86rem,1.15vw,1.02rem); color:#193e27; font-weight:650; line-height:1.4; letter-spacing:-.02em; }
.compare-page .compare-layer-strip>i { font-style:normal; font-size:1.6rem; color:#729c7a; align-self:center; }
.compare-page .compare-layer-outcome { background:#e9f5eb; border-radius:6px; }
.compare-page .compare-disclosure { max-width:920px; color:#738176; font-size:.77rem; line-height:1.7; margin:24px 0 0; }
.compare-page .compare-matrix-section { background:#eef4ee; }
.compare-page .compare-chart-shell { border:1px solid #d3e1d3; border-radius:12px; background:#fff; padding:clamp(18px,3vw,34px); box-shadow:0 28px 60px rgba(11,45,18,.055); }
.compare-page .compare-chart-legend { display:flex; flex-wrap:wrap; gap:13px 25px; margin-bottom:32px; color:#67776b; font-size:.75rem; font-weight:600; }
.compare-page .compare-chart-legend span { display:flex; gap:8px; align-items:center; }
.compare-page .compare-chart-legend i { width:9px;height:9px;border-radius:2px;background:#667e6e;display:inline-block; }
.compare-page .compare-chart-legend span:nth-child(1) i { background:#168d56; }
.compare-page .compare-chart-legend span:nth-child(2) i { background:#589da8; }
.compare-page .compare-chart-legend span:nth-child(3) i { background:#9a9976; }
.compare-page .compare-chart-legend span:nth-child(4) i { background:#aab2ac; }
.compare-page .compare-chart { margin:0; padding:0 12px 0 40px; position:relative; }
.compare-page .compare-chart-area { position:relative; height:clamp(450px,42vw,515px); border-left:1px solid #a5b6a9; border-bottom:1px solid #a5b6a9; background:linear-gradient(to right,transparent calc(50% - .5px),#d6e3d6 50%,transparent calc(50% + .5px)),linear-gradient(to bottom,transparent calc(50% - .5px),#d6e3d6 50%,transparent calc(50% + .5px)),linear-gradient(135deg,#f8faf6,#edf5ef); }
.compare-page .compare-axis-y { position:absolute; top:0; left:0; height:calc(100% - 85px); width:32px; display:flex; justify-content:space-between; flex-direction:column; align-items:center; }
.compare-page .compare-axis-y strong { writing-mode:vertical-rl; transform:rotate(180deg); font-size:.63rem; letter-spacing:.1em; color:#506954; }
.compare-page .compare-axis-y span { font-size:.65rem; color:#819285; }
.compare-page .compare-axis-x { display:flex; justify-content:space-between; gap:15px; padding:16px 0 0; font-size:.68rem; color:#7c8e80; }
.compare-page .compare-axis-x strong { font-size:.68rem; letter-spacing:.13em; color:#506954; text-align:center; }
.compare-page .compare-quadrant-name { position:absolute; font-size:.69rem; text-transform:uppercase; font-weight:700; letter-spacing:.12em; color:rgba(40,81,53,.34); pointer-events:none; }
.compare-page .compare-q-a { top:16px; left:20px; }
.compare-page .compare-q-b { top:16px; right:20px; }
.compare-page .compare-q-c { bottom:16px; left:20px; }
.compare-page .compare-q-d { bottom:16px; right:20px; }
.compare-page .compare-marker { position:absolute; z-index:1; padding:12px 15px; border:1px solid #c9d8cf; border-radius:7px; background:rgba(255,255,255,.96); box-shadow:0 7px 19px rgba(22,58,35,.08); display:flex; flex-direction:column; gap:6px; width:clamp(135px,17vw,191px); max-width:24%; color:#173125; font-size:.87rem; line-height:1.2; }
.compare-page .compare-marker strong { font-size:clamp(.76rem,1vw,.96rem); font-weight:720; letter-spacing:-.035em; }
.compare-page .compare-marker small { font-size:clamp(.63rem,.85vw,.73rem); line-height:1.36; color:#597063; }
.compare-page .compare-marker-advisory { left:7%; top:22%; border-left:4px solid #9a9976; }
.compare-page .compare-marker-tools { left:40%; top:25%; border-left:4px solid #589da8; }
.compare-page .compare-marker-data { left:67%; top:52%; border-left:4px solid #589da8; }
.compare-page .compare-marker-internal { left:8%; top:72%; border-left:4px solid #aab2ac; }
.compare-page .compare-marker-tic { left:48%; top:74%; border-left:4px solid #aab2ac; }
.compare-page .compare-marker-payormap { left:73%; top:15%; max-width:25%; width:clamp(155px,20vw,225px); padding:20px 16px 18px; color:#f4fff6; background:linear-gradient(135deg,#124a2d,#0b3521); border:1px solid #28744a; box-shadow:0 18px 35px rgba(16,68,39,.22); }
.compare-page .compare-marker-payormap strong { font-size:clamp(1.14rem,1.65vw,1.65rem); letter-spacing:-.055em; }
.compare-page .compare-marker-payormap small { color:#c0e0c9; font-size:.73rem; }
.compare-page .compare-marker-dot { display:block; width:10px; height:10px; border-radius:50%; background:#8fe0a9; box-shadow:0 0 0 5px rgba(143,224,169,.13); margin-bottom:6px; }
.compare-page .compare-chart-caption { margin:18px 0 0; padding-left:2px; color:#77897b; font-size:.7rem; line-height:1.55; max-width:1040px; }
.compare-page .compare-competitors { padding:16px 6px 0; color:#66796a; font-size:.78rem; line-height:1.7; }
.compare-page .compare-competitors p { margin:0; }
.compare-page .compare-competitors strong { color:#315b3e; }
.compare-page .compare-table-scroll { overflow-x:auto; max-width:100%; border:1px solid #dce7da; border-radius:10px; background:#fff; scrollbar-color:#b2cab8 #f2f6f2; }
.compare-page .compare-table { width:100%; min-width:850px; border-collapse:collapse; border-spacing:0; font-size:.83rem; }
.compare-page .compare-table caption { font-size:.7rem; color:#748578; text-align:left; caption-side:bottom; padding:14px 19px; }
.compare-page .compare-table thead { background:#ebf2eb; }
.compare-page .compare-table th,.compare-page .compare-table td { vertical-align:top; padding:19px 18px; border-bottom:1px solid #e8eee7; text-align:left; line-height:1.52; width:20%; }
.compare-page .compare-table th:first-child { width:19%; }
.compare-page .compare-table thead th { color:#2b4c34; font-size:.75rem; letter-spacing:-.01em; font-weight:750; }
.compare-page .compare-table tbody th { color:#21412b; font-weight:700; }
.compare-page .compare-table tbody td { color:#5b6c60; }
.compare-page .compare-table .compare-table-highlight { background:#eaf6ec; border-left:1px solid #d7e9d8; border-right:1px solid #d7e9d8; color:#174b2c; font-weight:700; }
.compare-page .compare-table thead .compare-table-highlight { background:#d8ebd9; color:#0a6439; }
.compare-page .compare-table tbody tr:last-child>* { border-bottom:0; }
.compare-page .compare-now { background:#0f291b; }
.compare-page .compare-now-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(35px,7vw,110px); align-items:center; }
.compare-page .compare-now .eyebrow { color:#9ce4b3; }
.compare-page .compare-now h2 { color:#f0fbf0; }
.compare-page .compare-now h2 em { font-style:normal; color:#a8dabb; }
.compare-page .compare-now-intro p { color:#bcd0c1; max-width:600px; font-size:1.04rem; line-height:1.75; margin-bottom:28px; }
.compare-page .compare-now-steps { display:grid; }
.compare-page .compare-now-steps article { display:grid; grid-template-columns:42px 1fr; gap:20px; padding:27px 0; border-top:1px solid rgba(222,248,225,.18); }
.compare-page .compare-now-steps article span { color:#9adbae; font-size:.8rem; font-weight:750; padding-top:4px; }
.compare-page .compare-now-steps article h3 { color:#f4fcf5; font-size:1.24rem; letter-spacing:-.045em; margin:0 0 10px; }
.compare-page .compare-now-steps article p { color:#b2c6b8; line-height:1.6; font-size:.87rem; margin:0; }
.compare-page .compare-cta-band { background:#e7f0e6; padding:clamp(75px,7vw,112px) 0; }
.compare-page .compare-cta-inner { max-width:1100px; }
.compare-page .compare-cta-band h2 { font-size:clamp(2.5rem,4.6vw,4.7rem); line-height:1.09; letter-spacing:-.075em; color:#123520; margin:15px 0 22px; max-width:900px; text-wrap:balance; }
.compare-page .compare-cta-band p { max-width:750px; font-size:1.06rem; line-height:1.7; color:#5e7363; }
.compare-page .compare-cta-band .compare-hero-actions .btn { background:#16432b; color:#f4fff6; border-color:#16432b; }
.compare-page .compare-cta-band .compare-hero-actions .btn:hover { background:#0b7142; border-color:#0b7142; }
.compare-page .compare-cta-band .compare-text-cta { color:#1a7649; text-decoration-color:#8ec5a2; }
.compare-page .compare-cta-band .compare-text-cta:hover { color:#0c4026; }
.compare-page a:focus-visible,.compare-page button:focus-visible,.compare-page .compare-table-scroll:focus-visible { outline:3px solid #58ac79; outline-offset:4px; }
@media (max-width:1100px) {
  .compare-page .compare-hero-grid { gap:34px; }
  .compare-page .compare-dimensions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .compare-page .compare-dimensions article { min-height:205px; }
}
@media (max-width:900px) {
  .compare-page .compare-hero-grid,.compare-page .compare-now-grid { grid-template-columns:1fr; }
  .compare-page .compare-hero h1 { max-width:800px; }
  .compare-page .compare-resolution { max-width:720px; }
  .compare-page .compare-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .compare-page .compare-stat-grid>div:nth-child(3) { border:0; }
  .compare-page .compare-stat-grid>p { grid-column:1/-1; border-top:1px solid #d0dfd2; padding-top:15px; }
  .compare-page .compare-chart-shell { overflow-x:auto; }
  .compare-page .compare-chart { min-width:730px; }
  .compare-page .compare-marker { width:164px; max-width:none; }
  .compare-page .compare-marker-payormap { width:196px; max-width:none; }
}
@media (max-width:620px) {
  .compare-page .compare-hero { padding:75px 0 78px; }
  .compare-page .compare-hero h1 { font-size:clamp(2.7rem,10.4vw,3.6rem); }
  .compare-page .compare-hero-actions { align-items:flex-start; gap:20px; }
  .compare-page .compare-hero-actions .btn { min-height:46px; width:auto; flex:0 0 auto; font-size:.86rem; }
  .compare-page .compare-resolution-inputs { gap:8px; }
  .compare-page .compare-resolution-inputs>div { padding:16px 13px; min-height:118px; }
  .compare-page .compare-resolution-flow { flex-wrap:wrap; gap:8px; font-size:.6rem; }
  .compare-page .compare-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; }
  .compare-page .compare-stat-grid>div:nth-child(2) { border:0; }
  .compare-page .compare-stat-grid>div:nth-child(3) { grid-column:1/-1; border-top:1px solid #d0dfd2; padding-top:17px; }
  .compare-page .compare-dimensions { grid-template-columns:1fr; }
  .compare-page .compare-dimensions article { min-height:0; }
  .compare-page .compare-layer-strip { align-items:stretch; flex-direction:column; }
  .compare-page .compare-layer-strip>div { flex:0 0 auto; }
  .compare-page .compare-layer-strip>i { align-self:center; }
  .compare-page .compare-chart-legend { gap:9px 18px; }
  .compare-page .compare-chart { min-width:700px; }
  .compare-page .compare-section h2 { font-size:clamp(2.25rem,8vw,3rem); }
  .compare-page .compare-table-scroll:after { content:""; }
}
@media (prefers-reduced-motion:reduce) {
  .compare-page .compare-dimensions article { transition:none; transform:none!important; }
}

/* Identifiable, restrained company brand marks in the competitive landscape.
   Labels remain visible when a third-party favicon is unavailable. */
.compare-page .compare-brand-list { display:grid; gap:7px; margin-top:5px; }
.compare-page .compare-brand-list>span { display:flex; gap:8px; min-height:25px; align-items:center; color:#405747; font-size:.73rem; font-weight:650; line-height:1.25; letter-spacing:-.01em; }
.compare-page .compare-brand-list img,
.compare-page .compare-marker-brand img { width:26px; height:26px; flex:0 0 26px; display:block; object-fit:contain; background:#f5f8f5; border:1px solid #e6ede6; border-radius:5px; padding:3px; }
.compare-page .compare-marker-brand { display:flex; align-items:center; gap:9px; min-height:28px; }
.compare-page .compare-marker-brand strong { font-size:.95rem; line-height:1.2; }
.compare-page .compare-marker-data,.compare-page .compare-marker-tools { gap:10px; }
.compare-page .compare-marker-advisory { width:clamp(164px,19vw,206px); }
.compare-page .compare-payormap-mark { display:block; width:100%; max-width:149px; height:auto; max-height:45px; object-fit:contain; object-position:left center; margin:1px 0 7px; }
.compare-page .compare-marker-payormap { min-height:119px; justify-content:center; gap:6px; }
@media (max-width:900px) {
  .compare-page .compare-marker-advisory { width:182px; max-width:none; }
}
