/* Og'riq xaritasi — base. Concepts override tokens only. */
.bm{--bm-gap:28px}
.bm-grid{display:grid;grid-template-columns:minmax(300px,0.9fr) minmax(360px,1.1fr);gap:var(--bm-gap);align-items:stretch}
.bm-stage{position:sticky;top:96px;align-self:start;background:var(--bm-stage);border:1px solid var(--bm-line);border-radius:var(--bm-radius);padding:22px 22px 18px;display:flex;flex-direction:column;align-items:center;min-height:640px;overflow:hidden}
.bm-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;z-index:2}
.bm-toggle{display:inline-flex;padding:4px;border-radius:999px;background:var(--bm-surface);border:1px solid var(--bm-line);z-index:2}
.bm-toggle button{border:0;background:transparent;font:inherit;font-weight:700;font-size:15px;padding:10px 22px;border-radius:999px;color:var(--bm-muted);cursor:pointer;min-height:44px}
.bm-toggle button.is-on{background:var(--bm-ink);color:var(--bm-surface)}
.bm-figure{position:relative;flex:1;width:100%;display:grid;place-items:center}
.bm-svg{width:100%;max-width:340px;height:auto;display:block;overflow:visible}
.bm-part{fill:url(#bmSkin)}
.bm-s1{stop-color:var(--bm-body-d,#DCD3C7)}
.bm-s2{stop-color:var(--bm-body-l,#F1ECE5)}
.bm-hair{fill:var(--bm-hair,#C9BDAE)}
.bm-shadow{fill:var(--bm-ink);opacity:.06}
.bm-detail rect,.bm-detail path{fill:var(--bm-detail)}
.bm-detail--line path{fill:none;stroke:var(--bm-detail);stroke-width:2;stroke-linecap:round}
.bm-joints circle{fill:var(--bm-joint);opacity:.5}
.bm-spot{cursor:pointer;outline:none}
.bm-hit{fill:transparent}
.bm-glow{opacity:0;transition:opacity .3s}
.bm-ring{fill:none;stroke:var(--bm-accent);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:bmPulse 2.4s ease-out infinite}
.bm-dot{fill:var(--bm-accent);stroke:var(--bm-dot-stroke,#fff);stroke-width:2.5;transition:r .2s}
.bm-spot:hover .bm-dot,.bm-spot:focus-visible .bm-dot{r:9}
.bm-spot:focus-visible .bm-ring{stroke-width:3}
.bm-spot.is-active .bm-glow{opacity:1}
.bm-spot.is-active .bm-dot{r:10}
.bm-spot.is-active .bm-ring{animation-duration:1.4s}
@keyframes bmPulse{0%{transform:scale(.9);opacity:.95}100%{transform:scale(2.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.bm-ring{animation:none;opacity:.5}}
.bm-hint{display:flex;align-items:center;gap:8px;margin:6px 0 0;color:var(--bm-muted);font-size:14px}
.bm-hint i{width:8px;height:8px;border-radius:50%;background:var(--bm-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--bm-accent) 18%,transparent)}
.bm-label{position:absolute;left:0;top:0;transform:translate(calc(-100% - 20px),-50%);padding:7px 12px;border-radius:10px;background:var(--bm-ink);color:var(--bm-surface);font-size:13px;font-weight:700;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s;z-index:3}
.bm-label:after{content:"";position:absolute;right:-4px;top:50%;width:10px;height:10px;background:inherit;transform:translateY(-50%) rotate(45deg);border-radius:2px}
.bm-label.is-on{opacity:1}
.bm-panel{background:var(--bm-surface);border:1px solid var(--bm-line);border-radius:var(--bm-radius);padding:30px 30px 26px;max-height:720px;overflow:auto;scroll-behavior:smooth}
.bm-eyebrow{margin:0 0 6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--bm-accent)}
.bm-panel h3{margin:0;font-family:var(--bm-font-head);font-size:34px;line-height:1.08;color:var(--bm-ink)}
.bm-panel h4{margin:24px 0 10px;font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--bm-muted);font-weight:700}
.bm-lead{margin:12px 0 0;font-size:18px;line-height:1.55;color:var(--bm-ink)}
.bm-zlist{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.bm-zbtn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;font:inherit;font-weight:700;font-size:17px;padding:14px 16px;border-radius:14px;border:1px solid var(--bm-line);background:var(--bm-stage);color:var(--bm-ink);cursor:pointer;min-height:56px;transition:.2s}
.bm-zbtn small{font-size:12px;font-weight:600;color:var(--bm-accent)}
.bm-zbtn:hover{border-color:var(--bm-accent);transform:translateY(-1px)}
.bm-phead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.bm-back{font:inherit;font-size:14px;font-weight:600;color:var(--bm-muted);background:transparent;border:1px solid var(--bm-line);border-radius:999px;padding:8px 14px;cursor:pointer;white-space:nowrap}
.bm-back:hover{color:var(--bm-ink);border-color:var(--bm-ink)}
.bm-quotes{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.bm-quotes li{padding:10px 14px;border-radius:12px;background:var(--bm-soft);color:var(--bm-ink);font-size:16px;font-weight:600}
.bm-causes{margin:0;padding-left:20px;font-size:17px;line-height:1.6;color:var(--bm-ink)}
.bm-ings{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bm-ing{padding:14px;border:1px solid var(--bm-line);border-radius:14px;background:var(--bm-stage)}
.bm-ing-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.bm-ing-top b{font-size:16px;color:var(--bm-ink)}
.bm-ing-top span{font-weight:800;color:var(--bm-accent);font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
.bm-ing p{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--bm-muted)}
.bm-tip{margin-top:18px;padding:14px 16px;border-radius:14px;background:var(--bm-stage);font-size:16px;line-height:1.5;color:var(--bm-ink)}
.bm-alert{margin-top:10px;padding:14px 16px;border-radius:14px;border:1.5px solid var(--bm-alert);font-size:16px;line-height:1.5;color:var(--bm-ink)}
.bm-alert b{color:var(--bm-alert)}
.bm-quiz{margin-top:26px;padding-top:24px;border-top:1px dashed var(--bm-line)}
.bm-quiz .bm-quiz-h{margin:0 0 6px;font-family:var(--bm-font-head);font-size:24px;text-transform:none;letter-spacing:0;color:var(--bm-ink)}
.bm-q p{margin:16px 0 8px;font-weight:700;font-size:17px;color:var(--bm-ink)}
.bm-chips{display:flex;flex-wrap:wrap;gap:8px}
.bm-chip{font:inherit;font-size:16px;font-weight:600;padding:11px 16px;min-height:46px;border-radius:999px;border:1.5px solid var(--bm-line);background:var(--bm-surface);color:var(--bm-ink);cursor:pointer;transition:.15s}
.bm-chip:hover{border-color:var(--bm-ink)}
.bm-chip.is-on{background:var(--bm-ink);border-color:var(--bm-ink);color:var(--bm-surface)}
.bm-result{display:none}
.bm-result.is-on{display:block;margin-top:22px;padding:22px;border-radius:18px;background:var(--bm-result-bg);color:var(--bm-result-ink);animation:bmIn .35s ease-out}
.bm-result h4{margin:0;font-family:var(--bm-font-head);font-size:26px;text-transform:none;letter-spacing:0;color:inherit}
.bm-result .bm-eyebrow{color:var(--bm-result-accent)}
.bm-result p{margin:8px 0 0;font-size:16px;line-height:1.5;opacity:.92}
.bm-result .bm-price{font-size:20px;font-weight:800;opacity:1}
.bm-sum{font-size:14px!important;opacity:.7!important}
.bm-cta{margin-top:16px;width:100%;font:inherit;font-size:18px;font-weight:800;padding:16px;border:0;border-radius:14px;background:var(--bm-accent);color:#fff;cursor:pointer;min-height:56px}
.bm-cta:hover{filter:brightness(1.08)}
.bm-disc{margin:20px 0 0;font-size:13px;line-height:1.5;color:var(--bm-muted)}
@keyframes bmIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:900px){
  .bm-grid{grid-template-columns:1fr}
  .bm-stage{position:relative;top:auto;min-height:0;padding:16px}
  .bm-svg{max-width:250px}
  .bm-panel{max-height:none;overflow:visible;padding:22px 18px;scroll-margin-top:80px}
  .bm-panel h3{font-size:28px}
  .bm-controls{gap:6px}
  .bm-toggle button{padding:9px 14px;font-size:14px}
}
@media (max-width:480px){.bm-zlist,.bm-ings{grid-template-columns:1fr}}

/* zone areas + glass mode (opt-in: .bm-glass on a parent) */
.bm-area{fill:var(--bm-accent);opacity:0;transition:opacity .25s}
.bm-spot:hover .bm-area,.bm-spot:focus-visible .bm-area{opacity:.16}
.bm-spot.is-active .bm-area{opacity:.5}
.bm-fglow{flood-color:var(--bm-glow,#fff);flood-opacity:0}
.bm-fshade{flood-color:var(--bm-shade,#000);flood-opacity:0}
.bm-bigword{display:none}
.bm-glass .bm-body{filter:url(#bmGlass)}
.bm-glass .bm-fglow{flood-opacity:.9}
.bm-glass .bm-fshade{flood-opacity:.16}
.bm-glass .bm-joints,.bm-glass .bm-shadow{display:none}
.bm-glass .bm-detail--line path{stroke:#fff;stroke-width:1.6;opacity:.9}
.bm-glass .bm-bigword{display:block;position:absolute;left:0;right:0;top:50%;transform:translateY(-58%);text-align:center;font-weight:500;font-size:clamp(90px,13vw,170px);letter-spacing:-.04em;line-height:1;color:var(--bm-bigword,rgba(21,23,26,.045));pointer-events:none;user-select:none}
.bm-glass .bm-svg{position:relative}
