/* Отраслевые лендинги. Подключается после styles.css и использует его токены. */

/* Hero: заявка на возмещение вместо карточки бюджета */
.seg-hero .display{max-width:620px}
.seg-clients-inline{margin:36px 0 0;color:var(--muted);font-size:15px;font-weight:600}
.seg-clients-inline strong{color:var(--ink)}
.seg-stage{position:relative;min-height:560px;display:grid;place-items:center}
.claim-card{position:relative;z-index:2;width:min(100%,400px);padding:26px;border-radius:var(--r-3xl);background:var(--white);box-shadow:var(--shadow-lg)}
.claim-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}
.claim-head strong{display:block;font-size:18px;letter-spacing:-.01em}
.claim-kicker{display:block;margin-bottom:4px;color:var(--c-health);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.claim-sum{display:flex;justify-content:space-between;align-items:baseline;padding:18px 20px;border-radius:var(--r-xl);background:var(--s1);margin-bottom:14px}
.claim-sum span{color:var(--quiet);font-size:13px;font-weight:600}
.claim-sum strong{font-size:26px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.claim-files{list-style:none;display:flex;gap:10px;margin:0 0 22px;padding:0}
.claim-files li{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--s3);color:var(--muted);font-size:13px;font-weight:600}
.claim-files svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.claim-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.claim-steps li{position:relative;display:flex;align-items:center;gap:12px;color:var(--quiet);font-size:14px;font-weight:600}
.claim-steps li span{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--s3);background:var(--white)}
.claim-steps li:not(:last-child)::after{content:"";position:absolute;left:10px;top:24px;width:2px;height:12px;background:var(--s3)}
.claim-steps .is-done{color:var(--ink)}
.claim-steps .is-done span{border-color:var(--c-health);background:var(--c-health) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-8' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.claim-steps .is-done:not(:last-child)::after{background:var(--c-health)}
.claim-steps .is-now{color:var(--c-health);font-weight:800}
.claim-steps .is-now span{border-color:var(--c-health);box-shadow:0 0 0 6px var(--success-alpha)}
.seg-stage .fc-hr{right:0;bottom:40px}

/* Боли */
.pain-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pain-card{padding:28px 26px 30px;border-radius:var(--r-2xl);background:var(--s1);border:1px solid var(--s3)}
.pain-num{display:inline-block;margin-bottom:26px;color:var(--danger);font-size:13px;font-weight:800;letter-spacing:.08em}
.pain-card h3{margin:0 0 12px;font-size:19px;line-height:1.3;letter-spacing:-.015em}
.pain-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}

/* Решение */
.seg-solve{padding-top:0}
.solve-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.solve-card{display:flex;flex-direction:column;padding:32px;border-radius:var(--r-3xl);background:var(--white);border:1px solid var(--s3)}
.solve-card-accent{background:var(--primary);border-color:var(--primary);color:var(--white)}
.solve-card-accent p{color:rgba(255,255,255,.82)!important}
.solve-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:24px;border-radius:var(--r-lg);background:var(--primary-alpha);color:var(--primary)}
.solve-card-accent .solve-icon{background:rgba(255,255,255,.16);color:var(--white)}
.solve-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.solve-card h3{margin:0 0 12px;font-size:22px;letter-spacing:-.02em}
.solve-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}
.solve-card .solve-for{margin-top:auto;padding-top:24px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--quiet)!important}
.solve-card-accent .solve-for{color:rgba(255,255,255,.7)!important}

/* Возмещения: шкала от максимума, медицина первой и зелёной */
.refund-flow{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.refund-flow li{display:flex;align-items:center;gap:14px;font-size:15px;font-weight:600}
.refund-flow span{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--white);border:1px solid var(--s3);color:var(--primary);font-size:13px;font-weight:800}
.seg-refunds .cat-chart li{grid-template-columns:120px 1fr 48px}
.seg-refunds .cat-chart li:nth-child(1){--bc:var(--c-health)}
.seg-refunds .cat-chart li:nth-child(2){--bc:var(--c-sport)}
.seg-refunds .cat-chart li:nth-child(3){--bc:var(--c-edu)}
.seg-refunds .cat-chart li:nth-child(4){--bc:var(--line)}
.seg-refunds .cat-chart.is-in b{width:calc(var(--v) / 61 * 100%)}

/* Клиенты */
.proof-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.client-marks{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.client-marks li{padding:18px 26px;border-radius:var(--r-2xl);background:var(--s1);border:1px solid var(--s3);font-size:22px;font-weight:800;letter-spacing:-.02em}
.client-marks .is-muted{color:var(--quiet);font-size:18px}
.proof-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 14px}
.proof-stats div{padding:22px 24px;border-radius:var(--r-xl);border:1px solid var(--s3)}
.proof-stats div:first-child{background:var(--success-alpha);border-color:transparent}
.proof-stats dt{order:2;color:var(--muted);font-size:14px;font-weight:600;line-height:1.45}
.proof-stats div{display:flex;flex-direction:column-reverse;gap:6px}
.proof-stats dd{margin:0;font-size:40px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.proof-stats div:first-child dd{color:var(--success)}

@media (max-width:1080px){
  .pain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .solve-grid,.proof-grid{grid-template-columns:1fr}
  .proof-grid{gap:32px}
}
@media (max-width:640px){
  .pain-grid,.proof-stats{grid-template-columns:1fr}
  .seg-stage{min-height:0;padding:24px 0}
  .seg-stage .fc-hr{display:none}
}
