/* «Is a baby not family?» — tool styles. Tokens only; every selector scoped under the tool mount. */
@layer marta.tools {
  .mb-tool[data-mb-tool="babies"] {
    --bb-col: min(100% - 2 * var(--mb-gutter), 820px);
    --bb-nav-h: 4.6rem;
    display: block; background: var(--mb-paper); color: var(--mb-plum); overflow-x: clip;
  }
  .mb-tool[data-mb-tool="babies"] .bb-mono-fb { font: 900 1.4rem/1 var(--mb-font-display); color: var(--mb-thread); }

  /* ---------- nav ---------- */
  .mb-tool[data-mb-tool="babies"] .bb-knots { gap: 4px; }
  .mb-tool[data-mb-tool="babies"] .bb-knots li { width: 26px; height: 20px; }
  .mb-tool[data-mb-tool="babies"] .bb-knots .is-active path { stroke-width: 3; }

  /* ---------- hero: a loud pink poster ---------- */
  .mb-tool[data-mb-tool="babies"] .bb-hero { background: var(--mb-pink); padding: clamp(2rem, 6vw, 5rem) 0 clamp(2.5rem, 6vw, 5rem); position: relative; overflow: hidden; }
  .mb-tool[data-mb-tool="babies"] .bb-hero::after { content: ""; position: absolute; right: -6rem; top: -6rem; width: 26rem; height: 26rem; border-radius: 50%;
    background-image: radial-gradient(circle at center, var(--mb-hot) 32%, transparent 34%); background-size: 11px 11px;
    -webkit-mask: radial-gradient(circle, #000 20%, transparent 70%); mask: radial-gradient(circle, #000 20%, transparent 70%); pointer-events: none; }
  .mb-tool[data-mb-tool="babies"] .bb-hero__in { width: min(100% - 2 * var(--mb-gutter), 1240px); margin-inline: auto; position: relative; z-index: 1; }
  .mb-tool[data-mb-tool="babies"] .bb-kicker { color: var(--mb-plum); }
  .mb-tool[data-mb-tool="babies"] .bb-hero__title { font-size: clamp(3.4rem, 16.2vw, 8.6rem); margin: .4em 0 .35em; color: var(--mb-plum); }
  .mb-tool[data-mb-tool="babies"] .bb-hero__title span { display: block; }
  .mb-tool[data-mb-tool="babies"] .bb-hero__title span + span { padding-left: .5em; }
  .mb-tool[data-mb-tool="babies"] .bb-hero__grid { display: grid; gap: 1.5rem; align-items: end; }
  @media (min-width: 900px) { .mb-tool[data-mb-tool="babies"] .bb-hero__grid { grid-template-columns: 1fr 1fr; } }
  .mb-tool[data-mb-tool="babies"] .bb-hero__lines { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; font: 700 var(--mb-step-1)/1.3 var(--mb-font-display); letter-spacing: -.015em; max-width: 30ch; }
  .mb-tool[data-mb-tool="babies"] .bb-hero__voice { font-size: var(--mb-step-2); line-height: 1.2; max-width: 26ch; margin: 1.5rem 0 1.6rem; color: var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-hero__meta { margin: 1rem 0 0; font-size: var(--mb-step--1); font-weight: 600; }
  .mb-tool[data-mb-tool="babies"] .bb-hero .bb-family { max-width: 460px; justify-self: end; width: 100%; }
  .mb-tool[data-mb-tool="babies"] .bb-band { margin-block: -1rem 1rem; z-index: 2; }

  /* ---------- family figure ---------- */
  .mb-tool[data-mb-tool="babies"] .bb-family { margin: 0; }
  .mb-tool[data-mb-tool="babies"] .bb-chat > .bb-family { max-width: 440px; margin-inline: auto; }
  .mb-tool[data-mb-tool="babies"] .bb-family svg { display: block; width: 100%; height: auto; overflow: visible; }
  .mb-tool[data-mb-tool="babies"] .bb-family__mum { fill: var(--mb-lavender); }
  .mb-tool[data-mb-tool="babies"] .bb-family__baby { fill: var(--mb-hot); }
  .mb-tool[data-mb-tool="babies"] .bb-family__t, .mb-tool[data-mb-tool="babies"] .bb-family__knot { fill: none; stroke: var(--mb-thread); stroke-width: 5; stroke-linecap: round; }
  .mb-tool[data-mb-tool="babies"] .bb-family__knot { opacity: 0; transition: opacity var(--mb-dur-3) var(--mb-ease-out); }
  .mb-tool[data-mb-tool="babies"] .bb-family.is-tied .bb-family__knot { opacity: 1; }
  .mb-tool[data-mb-tool="babies"] .bb-family.is-pulse svg { animation: bb-pulse var(--mb-dur-4) var(--mb-ease-spring); }
  @keyframes bb-pulse { 40% { transform: scale(1.04); } }
  .mb-tool[data-mb-tool="babies"] .bb-family__tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .6rem; }
  .mb-tool[data-mb-tool="babies"] .bb-tag { display: inline-flex; gap: .4em; align-items: baseline; padding: .4em .85em; border-radius: var(--mb-radius-pill); background: var(--mb-surface); font-size: var(--mb-step--1); box-shadow: 0 1px 0 var(--mb-line); }
  .mb-tool[data-mb-tool="babies"] .bb-tag--baby { background: var(--mb-plum); color: #fff; transition: background var(--mb-dur-3); }
  .mb-tool[data-mb-tool="babies"] .bb-family.is-tied .bb-tag--baby { background: var(--mb-thread); }

  /* ---------- steps ---------- */
  .mb-tool[data-mb-tool="babies"] .bb-step { padding-block: clamp(3rem, 8vw, 6rem); scroll-margin-top: var(--bb-nav-h); }
  .mb-tool[data-mb-tool="babies"] .bb-step__in { width: var(--bb-col); margin-inline: auto; }
  .mb-tool[data-mb-tool="babies"] .bb-step--doors, .mb-tool[data-mb-tool="babies"] .bb-step--model { background: #FBF8FF; }
  .mb-tool[data-mb-tool="babies"] .bb-step--eu { background: var(--mb-lilac); }
  .mb-tool[data-mb-tool="babies"] .bb-step--cost { background: var(--mb-blush); }
  .mb-tool[data-mb-tool="babies"] .bb-step--retie, .mb-tool[data-mb-tool="babies"] .bb-step--end { background: var(--mb-pink); }
  .mb-tool[data-mb-tool="babies"] .bb-step__head { display: grid; gap: .2rem; margin-bottom: 1.5rem; }
  .mb-tool[data-mb-tool="babies"] .bb-step__n { font: 900 var(--mb-step-5)/.8 var(--mb-font-display); letter-spacing: var(--mb-track-poster); color: transparent; -webkit-text-stroke: 2px var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-step__title { font-size: var(--mb-step-4); margin: 0; outline: none; }
  .mb-tool[data-mb-tool="babies"] .bb-chat > * + * { margin-top: 1rem; }
  .mb-tool[data-mb-tool="babies"] .bb-chat > .mb-bubble { margin-block: 0; }
  .mb-tool[data-mb-tool="babies"] .bb-chat > .mb-bubble + .mb-bubble { margin-top: .6rem; }
  .mb-tool[data-mb-tool="babies"] .bb-say .mb-bubble__text { animation: bb-in var(--mb-dur-3) var(--mb-ease-out); }
  @keyframes bb-in { from { opacity: 0; transform: translateY(8px); } }
  .mb-tool[data-mb-tool="babies"] .bb-say .mb-voice { font-size: var(--mb-step-1); line-height: 1.3; }

  /* question */
  .mb-tool[data-mb-tool="babies"] .bb-q { background: var(--mb-surface); border-radius: var(--mb-radius-lg); padding: 1.1rem 1.1rem 1.25rem; box-shadow: var(--mb-shadow); border: 2px solid var(--mb-plum); }
  .mb-tool[data-mb-tool="babies"] .bb-q.is-done { border-color: var(--mb-line); box-shadow: none; }
  .mb-tool[data-mb-tool="babies"] .bb-q__label { display: block; font: 800 var(--mb-step-1)/1.25 var(--mb-font-display); letter-spacing: -.015em; margin: 0 0 .9rem; }
  .mb-tool[data-mb-tool="babies"] .bb-opts { gap: .55rem; }
  .mb-tool[data-mb-tool="babies"] .bb-opt { min-height: 48px; padding: .6em 1.15em; font-size: 1rem; text-align: left; line-height: 1.25; }
  .mb-tool[data-mb-tool="babies"] .bb-opt[aria-disabled="true"] { cursor: default; transform: none; }
  .mb-tool[data-mb-tool="babies"] .bb-q.is-done .bb-opt[aria-pressed="false"] { opacity: .55; }
  .mb-tool[data-mb-tool="babies"] .bb-opt.is-right { box-shadow: inset 0 0 0 3px var(--mb-thread); opacity: 1 !important; position: relative; }
  .mb-tool[data-mb-tool="babies"] .bb-opt.is-right::after { content: attr(data-right); position: absolute; top: -.7rem; right: .7rem; padding: .2em .5em; border-radius: .35em; background: var(--mb-acid); color: var(--mb-plum); font: 800 .7rem/1 var(--mb-font-display); transform: rotate(-3deg); }

  /* reveal: plum fact with a red thread edge */
  .mb-tool[data-mb-tool="babies"] .bb-fact { background: var(--mb-plum); color: #FFF1F6; border-radius: 6px var(--mb-radius-lg) var(--mb-radius-lg) var(--mb-radius-lg); padding: 1.2rem 1.3rem 1.2rem 1.6rem; position: relative; font: 600 var(--mb-step-0)/1.45 var(--mb-font-text); animation: bb-in var(--mb-dur-3) var(--mb-ease-out); }
  .mb-tool[data-mb-tool="babies"] .bb-fact::before { content: ""; position: absolute; left: .7rem; top: 1.1rem; bottom: 1.1rem; width: 3px; border-radius: 3px; background: var(--mb-pink); }
  .mb-tool[data-mb-tool="babies"] .bb-fact p { margin: 0; }
  .mb-tool[data-mb-tool="babies"] .bb-fact--note { background: transparent; color: var(--mb-plum); padding-block: .2rem; }
  .mb-tool[data-mb-tool="babies"] .bb-fact--note::before { background: var(--mb-thread); top: .2rem; bottom: .2rem; }
  .mb-tool[data-mb-tool="babies"] .bb-fact--note small { color: var(--mb-plum); font-size: var(--mb-step--1); }

  /* principle seal (rosette) */
  .mb-tool[data-mb-tool="babies"] .bb-seal { display: flex; align-items: center; gap: 1rem; animation: bb-in var(--mb-dur-3) var(--mb-ease-out); }
  .mb-tool[data-mb-tool="babies"] .bb-seal__r { --size: 4.4rem; --rosette-bg: var(--mb-thread); flex: none; padding: 1.1rem; }
  .mb-tool[data-mb-tool="babies"] .bb-seal__r svg { width: 100%; height: auto; overflow: visible; }
  .mb-tool[data-mb-tool="babies"] .bb-seal__r path { fill: none; stroke: #fff; stroke-width: 2.4; stroke-linecap: round; }
  .mb-tool[data-mb-tool="babies"] .bb-seal p { margin: 0; display: grid; }
  .mb-tool[data-mb-tool="babies"] .bb-seal__k { font-size: var(--mb-step--1); font-weight: 600; color: var(--mb-muted); }
  .mb-tool[data-mb-tool="babies"] .bb-seal b { font: 900 var(--mb-step-2)/1 var(--mb-font-display); letter-spacing: -.03em; }

  /* gate */
  .mb-tool[data-mb-tool="babies"] .bb-gate { display: grid; justify-items: center; gap: .5rem; padding-top: 2rem; text-align: center; }
  .mb-tool[data-mb-tool="babies"] .bb-gate__knot { width: 120px; height: 56px; overflow: visible; }
  .mb-tool[data-mb-tool="babies"] .bb-gate__knot path { fill: none; stroke: var(--mb-thread); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 340; stroke-dashoffset: 170; transition: stroke-dashoffset var(--mb-dur-4) var(--mb-ease-silk); }
  .mb-tool[data-mb-tool="babies"] .bb-gate.is-tied .bb-gate__knot path { stroke-dashoffset: 0; }
  .mb-tool[data-mb-tool="babies"] .bb-gate__done { display: none; margin: 0; font-weight: 700; color: var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-gate.is-tied .bb-gate__done { display: block; }

  /* ---------- doors ---------- */
  .mb-tool[data-mb-tool="babies"] .bb-doors { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(.75rem, 3vw, 1.5rem); }
  .mb-tool[data-mb-tool="babies"] .bb-door { position: relative; display: grid; align-content: end; justify-items: start; gap: .3rem; aspect-ratio: 3 / 4; max-height: 340px; width: 100%;
    padding: 1rem; border: 0; border-radius: var(--mb-arch); background: var(--mb-lavender); color: var(--mb-plum); cursor: pointer; overflow: hidden; text-align: left;
    transition: transform var(--mb-dur-2) var(--mb-ease-spring), box-shadow var(--mb-dur-2); box-shadow: var(--mb-shadow); }
  .mb-tool[data-mb-tool="babies"] .bb-door--ua { background: var(--mb-pink); }
  .mb-tool[data-mb-tool="babies"] .bb-door:hover { transform: translateY(-3px); }
  .mb-tool[data-mb-tool="babies"] .bb-door__arch { position: absolute; inset: 14% 14% 0; border-radius: var(--mb-arch); background: var(--mb-plum); transform-origin: left center;
    transition: transform var(--mb-dur-4) var(--mb-ease-silk); }
  .mb-tool[data-mb-tool="babies"] .bb-door.is-open .bb-door__arch { transform: perspective(600px) rotateY(-62deg); }
  .mb-tool[data-mb-tool="babies"] .bb-door__name { position: relative; font: 900 var(--mb-step-2)/.95 var(--mb-font-display); letter-spacing: -.035em; background: var(--mb-paper); padding: .35em .5em; border-radius: .4em; }
  .mb-tool[data-mb-tool="babies"] .bb-door__mine { position: absolute; top: 4%; left: 50%; translate: -50% 0; white-space: nowrap; }
  .mb-tool[data-mb-tool="babies"] .bb-door.is-done::after { content: ""; position: absolute; top: 40%; left: 50%; width: 46px; height: 34px; translate: -50% -50%;
    background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 18'%3E%3Cpath d='M1 12 C6 12 7 5 11 5 C15 5 15 12 11 12 C8 12 9 8 12 8 C15 8 17 12 23 12' fill='none' stroke='%23D0021B' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E"); }
  .mb-tool[data-mb-tool="babies"] .bb-panels { display: grid; gap: 1.5rem; }
  .mb-tool[data-mb-tool="babies"] .bb-next { display: grid; justify-items: start; gap: .8rem; padding: 1.4rem; border-radius: var(--mb-radius-lg); background: var(--mb-butter); }
  .mb-tool[data-mb-tool="babies"] .bb-next p { margin: 0; font-weight: 700; }
  .mb-tool[data-mb-tool="babies"] .bb-panel { border-top: 3px dashed var(--mb-line); padding-top: 1.5rem; scroll-margin-top: var(--bb-nav-h); }
  .mb-tool[data-mb-tool="babies"] .bb-panel > * + * { margin-top: 1rem; }
  .mb-tool[data-mb-tool="babies"] .bb-panel > .mb-bubble { margin-block: 1.2rem 0; }
  .mb-tool[data-mb-tool="babies"] .bb-panel > .bb-panel__h + * { margin-top: 1.2rem; }
  .mb-tool[data-mb-tool="babies"] .bb-panel > .mb-bubble + .mb-bubble { margin-top: .6rem; }
  .mb-tool[data-mb-tool="babies"] .bb-panel__h { font-size: var(--mb-step-3); margin: 0; }

  /* checklist */
  .mb-tool[data-mb-tool="babies"] .bb-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
  .mb-tool[data-mb-tool="babies"] .bb-check { display: flex; align-items: center; gap: .8rem; width: 100%; min-height: 52px; padding: .6rem .9rem; border: 1.5px solid var(--mb-line); border-radius: var(--mb-radius); background: var(--mb-surface); color: var(--mb-plum); font: 600 1rem/1.3 var(--mb-font-text); text-align: left; cursor: pointer; }
  .mb-tool[data-mb-tool="babies"] .bb-check__box { flex: none; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; border: 2px solid var(--mb-plum); transition: background var(--mb-dur-2); }
  .mb-tool[data-mb-tool="babies"] .bb-check__box svg { width: 20px; opacity: 0; overflow: visible; }
  .mb-tool[data-mb-tool="babies"] .bb-check__box path { fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; }
  .mb-tool[data-mb-tool="babies"] .bb-check[aria-pressed="true"] { border-color: var(--mb-plum); }
  .mb-tool[data-mb-tool="babies"] .bb-check[aria-pressed="true"] .bb-check__box { background: var(--mb-thread); border-color: var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-check[aria-pressed="true"] .bb-check__box svg { opacity: 1; }
  .mb-tool[data-mb-tool="babies"] .bb-q.is-done .bb-check { cursor: default; }

  /* poster stat */
  .mb-tool[data-mb-tool="babies"] .bb-poster { border-radius: var(--mb-radius-lg); padding: clamp(1.25rem, 4vw, 2.2rem); color: var(--mb-plum); animation: bb-in var(--mb-dur-3) var(--mb-ease-out); }
  .mb-tool[data-mb-tool="babies"] .bb-poster .mb-stat__num { font-size: clamp(5rem, 24vw, 11rem); }
  .mb-tool[data-mb-tool="babies"] .bb-poster .mb-stat__text { color: var(--mb-plum); font-weight: 600; font-size: var(--mb-step-1); line-height: 1.3; max-width: 34ch; }
  .mb-tool[data-mb-tool="babies"] .bb-poster__you { margin: 1rem 0 0; display: inline-block; padding: .35em .8em; background: var(--mb-plum); color: #fff; border-radius: var(--mb-radius-pill); font-weight: 700; }

  /* stamps: what happened at the counter */
  .mb-tool[data-mb-tool="babies"] .bb-stamps { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .8rem .6rem; }
  .mb-tool[data-mb-tool="babies"] .bb-stamps li { padding: .55em 1em; border: 2.5px solid var(--mb-thread); border-radius: 1.1em; color: var(--mb-thread); background: var(--mb-surface);
    font: 700 var(--mb-step--1)/1.25 var(--mb-font-display); rotate: -.8deg; opacity: 0; }
  .mb-tool[data-mb-tool="babies"] .bb-stamps li:nth-child(even) { rotate: .8deg; }
  .mb-tool[data-mb-tool="babies"] .bb-stamps.is-in li { animation: bb-stamp var(--mb-dur-3) var(--mb-ease-spring) both; animation-delay: calc(var(--i) * 240ms); }
  @keyframes bb-stamp { from { opacity: 0; transform: scale(1.6); } to { opacity: 1; transform: none; } }

  /* tape */
  .mb-tool[data-mb-tool="babies"] .bb-tape { margin-bottom: 1rem; }
  .mb-tool[data-mb-tool="babies"] .bb-tape__out { font: 900 var(--mb-step-4)/1 var(--mb-font-display); letter-spacing: var(--mb-track-tight); color: var(--mb-thread); }

  /* ---------- Belgium timeline ---------- */
  .mb-tool[data-mb-tool="babies"] .bb-line { list-style: none; margin: 0 0 .5rem; padding: 1.4rem 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; position: relative; }
  .mb-tool[data-mb-tool="babies"] .bb-line::before { content: ""; position: absolute; left: 0; right: 0; top: .5rem; height: 3px; border-radius: 3px; background: var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-line li { position: relative; display: grid; gap: .2rem; font-size: var(--mb-step--1); }
  .mb-tool[data-mb-tool="babies"] .bb-line li::before { content: ""; position: absolute; top: -1.25rem; left: 0; width: 16px; height: 16px; border-radius: 50%; background: var(--mb-paper); border: 3px solid var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-line__k--1::before { background: var(--mb-hot) !important; }
  .mb-tool[data-mb-tool="babies"] .bb-line time { font: 800 var(--mb-step-0)/1.1 var(--mb-font-display); }

  /* ---------- EU cards ---------- */
  .mb-tool[data-mb-tool="babies"] .bb-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .8rem; }
  /* Both faces share one grid cell, so the card grows to fit the longer side instead of spilling over. */
  .mb-tool[data-mb-tool="babies"] .bb-card { position: relative; display: grid; min-height: 11rem; padding: 0; border: 0; background: none; color: var(--mb-plum); cursor: pointer; perspective: 900px; text-align: left; font: inherit; }
  .mb-tool[data-mb-tool="babies"] .bb-card > span { position: relative; grid-area: 1 / 1; display: grid; align-content: space-between; padding: 1.1rem 1.2rem; border-radius: var(--mb-radius-lg); backface-visibility: hidden; -webkit-backface-visibility: hidden;
    transition: transform var(--mb-dur-4) var(--mb-ease-silk); }
  .mb-tool[data-mb-tool="babies"] .bb-card__front { background: var(--mb-violet); color: #fff; font: 900 var(--mb-step-2)/1 var(--mb-font-display); letter-spacing: -.03em; }
  .mb-tool[data-mb-tool="babies"] .bb-card:nth-child(2) .bb-card__front { background: var(--mb-plum); }
  .mb-tool[data-mb-tool="babies"] .bb-card:nth-child(3) .bb-card__front { background: var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-card:nth-child(4) .bb-card__front { background: var(--mb-hot); color: var(--mb-plum); }
  .mb-tool[data-mb-tool="babies"] .bb-card__turn { justify-self: start; font: 700 .85rem/1 var(--mb-font-text); padding: .45em .9em; border-radius: var(--mb-radius-pill); background: rgba(255,255,255,.22); letter-spacing: 0; }
  .mb-tool[data-mb-tool="babies"] .bb-card__back { background: var(--mb-surface); transform: rotateY(180deg); font: 700 var(--mb-step-0)/1.3 var(--mb-font-display); letter-spacing: -.01em; box-shadow: var(--mb-shadow); align-content: start !important; gap: .6rem; }
  .mb-tool[data-mb-tool="babies"] .bb-card__ref { font: 600 var(--mb-step--1)/1.2 var(--mb-font-text); color: var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-card.is-turned .bb-card__front { transform: rotateY(-180deg); }
  .mb-tool[data-mb-tool="babies"] .bb-card.is-turned .bb-card__back { transform: rotateY(0); }

  /* ---------- appeal ---------- */
  .mb-tool[data-mb-tool="babies"] .bb-appeal { display: grid; grid-template-columns: auto 1fr; gap: .5rem 1rem; align-items: center; background: var(--mb-surface); padding: 1.1rem; border-radius: var(--mb-radius-lg); border: 2px solid var(--mb-plum); }
  .mb-tool[data-mb-tool="babies"] .bb-appeal__paper { grid-row: span 2; width: 64px; height: 84px; border-radius: 6px; border: 2px dashed var(--mb-muted); display: grid; align-content: center; gap: 8px; padding: 10px; }
  .mb-tool[data-mb-tool="babies"] .bb-appeal__paper span { height: 3px; border-radius: 3px; background: var(--mb-line); }
  .mb-tool[data-mb-tool="babies"] .bb-appeal__btn { justify-self: start; }
  .mb-tool[data-mb-tool="babies"] .bb-appeal__no { margin: 0; font: 800 var(--mb-step-0)/1.2 var(--mb-font-display); color: var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-appeal.is-blocked { border-color: var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-appeal.is-blocked .bb-appeal__btn { animation: bb-shake 420ms var(--mb-ease-out); opacity: .45; cursor: not-allowed; }
  @keyframes bb-shake { 20%, 60% { transform: translateX(-8px); } 40%, 80% { transform: translateX(8px); } }

  .mb-tool[data-mb-tool="babies"] .bb-costs { display: grid; gap: .8rem; }
  @media (min-width: 760px) { .mb-tool[data-mb-tool="babies"] .bb-costs { grid-template-columns: 1.3fr 1fr; } .mb-tool[data-mb-tool="babies"] .bb-cost--0 { grid-row: span 2; } }
  .mb-tool[data-mb-tool="babies"] .bb-cost { border-radius: var(--mb-radius-lg); padding: 1.3rem; background: var(--mb-lilac); }
  .mb-tool[data-mb-tool="babies"] .bb-cost--0 { background: var(--mb-hot); border-radius: var(--mb-arch); padding-top: 3.5rem; }
  .mb-tool[data-mb-tool="babies"] .bb-cost--2 { background: var(--mb-plum); color: #FFF1F6; }
  .mb-tool[data-mb-tool="babies"] .bb-cost h3 { font-size: var(--mb-step-2); margin-bottom: .4rem; }
  .mb-tool[data-mb-tool="babies"] .bb-cost p { margin: 0; }

  /* ---------- re-tie ---------- */
  .mb-tool[data-mb-tool="babies"] .bb-retie__fig { position: sticky; top: calc(var(--bb-nav-h) + .5rem); z-index: 5; background: var(--mb-pink); border-radius: var(--mb-radius-lg); padding: .6rem .8rem; display: grid; grid-template-columns: minmax(0, 15rem) auto; align-items: center; gap: 1rem; box-shadow: var(--mb-shadow); }
  .mb-tool[data-mb-tool="babies"] .bb-retie__fig .bb-family__tags { display: none; }
  .mb-tool[data-mb-tool="babies"] .bb-retie__count { margin: 0; font: 900 var(--mb-step-2)/1 var(--mb-font-display); letter-spacing: -.03em; }
  .mb-tool[data-mb-tool="babies"] .bb-recs__who { font-size: var(--mb-step-1); margin: 1.4rem 0 .6rem; }
  .mb-tool[data-mb-tool="babies"] .bb-recs__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
  .mb-tool[data-mb-tool="babies"] .bb-rec { display: grid; grid-template-columns: auto 1fr; gap: .4rem .9rem; align-items: start; width: 100%; padding: 1rem; border: 0; border-radius: var(--mb-radius); background: var(--mb-surface); color: var(--mb-plum); font: 500 1rem/1.4 var(--mb-font-text); text-align: left; cursor: pointer;
    transition: background var(--mb-dur-2), transform var(--mb-dur-2) var(--mb-ease-spring); }
  .mb-tool[data-mb-tool="babies"] .bb-rec:hover { transform: translateX(4px); }
  .mb-tool[data-mb-tool="babies"] .bb-rec__n { grid-row: span 2; font: 900 var(--mb-step-3)/.8 var(--mb-font-display); color: var(--mb-thread); min-width: 1.2em; }
  .mb-tool[data-mb-tool="babies"] .bb-rec__tie { justify-self: start; display: inline-flex; align-items: center; gap: .4em; padding: .35em .85em; border-radius: var(--mb-radius-pill); border: 2px solid var(--mb-plum); font: 700 .85rem/1 var(--mb-font-display); }
  .mb-tool[data-mb-tool="babies"] .bb-rec__tie svg { width: 1.2em; height: 1em; overflow: visible; }
  .mb-tool[data-mb-tool="babies"] .bb-rec__tie path { fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; }
  .mb-tool[data-mb-tool="babies"] .bb-rec.is-tied { background: var(--mb-plum); color: #FFF1F6; cursor: default; transform: none; }
  .mb-tool[data-mb-tool="babies"] .bb-rec.is-tied .bb-rec__n { color: var(--mb-pink); }
  .mb-tool[data-mb-tool="babies"] .bb-rec.is-tied .bb-rec__tie { background: var(--mb-thread); border-color: var(--mb-thread); color: #fff; }

  /* ---------- step map ---------- */
  .mb-tool[data-mb-tool="babies"] .bb-map { --at: 0; display: grid; gap: 1rem; }
  .mb-tool[data-mb-tool="babies"] .bb-map__rail { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; padding: .5rem 0 .25rem; position: relative; scroll-snap-type: x proximity; }
  .mb-tool[data-mb-tool="babies"] .bb-map__k { position: relative; flex: 0 0 7.2rem; display: grid; justify-items: start; gap: .5rem; padding: 0 .5rem 0 0; border: 0; background: none; color: var(--mb-muted); font: 700 .78rem/1.2 var(--mb-font-text); text-align: left; cursor: pointer; scroll-snap-align: center; min-height: 44px; }
  .mb-tool[data-mb-tool="babies"] .bb-map__k::before { content: ""; position: absolute; left: 0; right: 0; top: 9px; height: 3px; background: var(--mb-line); }
  .mb-tool[data-mb-tool="babies"] .bb-map__k.is-past::before, .mb-tool[data-mb-tool="babies"] .bb-map__k[aria-selected="true"]::before { background: var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-map__k[aria-selected="true"]::before { right: 50%; }
  .mb-tool[data-mb-tool="babies"] .bb-map__dot { position: relative; width: 21px; height: 21px; border-radius: 50%; background: var(--mb-paper); border: 3px solid var(--mb-muted); transition: transform var(--mb-dur-2) var(--mb-ease-spring), background var(--mb-dur-2); }
  .mb-tool[data-mb-tool="babies"] .bb-map__k.is-past .bb-map__dot { border-color: var(--mb-thread); background: var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-map__k[aria-selected="true"] { color: var(--mb-plum); }
  .mb-tool[data-mb-tool="babies"] .bb-map__k[aria-selected="true"] .bb-map__dot { border-color: var(--mb-thread); transform: scale(1.3); }
  .mb-tool[data-mb-tool="babies"] .bb-map__card { background: var(--mb-surface); border-radius: var(--mb-radius-lg); padding: 1.3rem 1.4rem; box-shadow: var(--mb-shadow); min-height: 12rem; border-left: 6px solid var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-map__card time { font: 700 var(--mb-step--1)/1.2 var(--mb-font-text); color: var(--mb-thread); }
  .mb-tool[data-mb-tool="babies"] .bb-map__card h3 { margin: .35rem 0 .5rem; }
  .mb-tool[data-mb-tool="babies"] .bb-map__card p { margin: 0; }
  .mb-tool[data-mb-tool="babies"] .bb-map__nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
  .mb-tool[data-mb-tool="babies"] .bb-map__pos { font: 800 var(--mb-step-1)/1 var(--mb-font-display); }

  .mb-tool[data-mb-tool="babies"] .bb-levels { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: .55rem; margin-bottom: 1rem; }
  .mb-tool[data-mb-tool="babies"] .bb-level { display: grid; gap: .3rem; align-content: start; padding: .9rem 1rem; border: 1.5px solid var(--mb-line); border-radius: var(--mb-radius); background: var(--mb-paper); color: var(--mb-plum); font: 400 .92rem/1.35 var(--mb-font-text); text-align: left; cursor: pointer; transition: background var(--mb-dur-2), border-color var(--mb-dur-2); }
  .mb-tool[data-mb-tool="babies"] .bb-level b { font: 800 var(--mb-step-0)/1.15 var(--mb-font-display); }
  .mb-tool[data-mb-tool="babies"] .bb-level[aria-pressed="true"] { background: var(--mb-lavender); border-color: var(--mb-plum); }
  .mb-tool[data-mb-tool="babies"] .bb-adapt.is-done .bb-level { cursor: default; }
  .mb-tool[data-mb-tool="babies"] .bb-adapt.is-done .bb-level[aria-pressed="false"] { opacity: .5; }

  /* ---------- end ---------- */
  .mb-tool[data-mb-tool="babies"] .bb-end { display: grid; gap: 1.5rem; align-items: start; }
  @media (min-width: 760px) { .mb-tool[data-mb-tool="babies"] .bb-end { grid-template-columns: minmax(0, 24rem) 1fr; } }
  .mb-tool[data-mb-tool="babies"] .bb-end__card { margin: 0; }
  .mb-tool[data-mb-tool="babies"] .bb-end__card canvas { display: block; width: 100%; height: auto; border-radius: var(--mb-radius); box-shadow: var(--mb-shadow-lift); rotate: -1.5deg; }
  .mb-tool[data-mb-tool="babies"] .bb-end__acts { display: grid; gap: .7rem; justify-items: start; }
  .mb-tool[data-mb-tool="babies"] .bb-end__full { margin: .3rem 0; }
  .mb-tool[data-mb-tool="babies"] .bb-sources { background: var(--mb-surface); border-radius: var(--mb-radius-lg); padding: 1.3rem 1.4rem; margin-top: 2rem !important; }
  .mb-tool[data-mb-tool="babies"] .bb-sources h3 { font-size: var(--mb-step-2); }
  .mb-tool[data-mb-tool="babies"] .bb-sources ul { padding-left: 1.1rem; margin: 0 0 1rem; display: grid; gap: .45rem; font-size: .95rem; }
  .mb-tool[data-mb-tool="babies"] .bb-cite { font-size: .95rem; }

  .mb-tool[data-mb-tool="babies"] .bb-foot { width: var(--bb-col); margin: 0 auto; padding: 2.5rem 0 3rem; font-size: var(--mb-step--1); color: var(--mb-muted); }
  .mb-tool[data-mb-tool="babies"] .bb-foot .mb-toggle { color: var(--mb-plum); font-size: .95rem; }

  @media (prefers-reduced-motion: reduce) {
    .mb-tool[data-mb-tool="babies"] .bb-stamps li { opacity: 1; }
    .mb-tool[data-mb-tool="babies"] .bb-card > span { transition: none; }
    .mb-tool[data-mb-tool="babies"] .bb-door__arch { transition: none; }
  }
}
