.os-bmw { --pill-h: 44px; --pill-gap: 8px; --fig-h: calc(7 * var(--pill-h) + 6 * var(--pill-gap)); display: flex; flex-direction: column; align-items: center; gap: 1.25rem; width: 100%; }
.os-bmw-main { display: grid; grid-template-columns: auto auto; gap: 1.25rem; align-items: start; }
.os-bmw-fig { position: relative; width: fit-content; }
.os-bmw-fig img { display: block; width: auto; height: var(--fig-h); opacity: .92; user-select: none; -webkit-user-drag: none; }
.os-bmw-marks { position: absolute; inset: 0; }
.os-bmw-hot { position: absolute; display: block; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; transform: translate(-50%, -50%); transition: transform .18s; }
.os-bmw-hot::before { content: ""; position: absolute; inset: -9px; border-radius: 50%; background: radial-gradient(circle, rgba(37, 99, 235, .5) 0%, rgba(37, 99, 235, .24) 36%, rgba(37, 99, 235, 0) 70%); transition: .18s; }
.os-bmw-hot::after { content: ""; position: absolute; inset: 0; width: 10px; height: 10px; margin: auto; border-radius: 50%; background: var(--wp--preset--color--action-hover); box-shadow: 0 0 0 2px rgba(255, 255, 255, .9); transition: .18s; }
.os-bmw-hot.is-lit { transform: translate(-50%, -50%) scale(1.2); }
.os-bmw-hot.is-lit::before { inset: -7px; background: radial-gradient(circle, rgba(217, 45, 32, .85) 0%, rgba(217, 45, 32, .42) 38%, rgba(217, 45, 32, 0) 70%); }
.os-bmw-hot.is-lit::after { background: #fff; box-shadow: 0 0 0 3px var(--wp--preset--color--danger); }
.os-bmw-hot:focus-visible { outline: 3px solid var(--wp--preset--color--action-on-dark); outline-offset: 6px; }
.os-bmw-pills { display: flex; flex-direction: column; gap: var(--pill-gap); }
.os-bmw-fill { align-items: stretch; }
.os-bmw-fill .os-bmw-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .4rem; width: 100%; }
.os-bmw-fill .os-bmw-fig { justify-self: center; }
.os-bmw-fill .os-bmw-beyond { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.os-bmw-fill .os-bmw-beyond > :first-child { grid-column: 1 / -1; }
.os-bmw-beyond { align-self: stretch; display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; padding-top: 1rem; border-top: 1px solid var(--wp--preset--color--line); }
.os-bmw-pill { display: flex; align-items: center; justify-content: center; gap: .6rem; height: var(--pill-h); padding: 0 1rem; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; background: #fff; color: var(--wp--preset--color--ink-strong); font: inherit; font-size: .9063rem; font-weight: 600; white-space: nowrap; cursor: pointer; transition: .15s; }
.os-bmw-pill.is-lit { border-color: var(--wp--preset--color--action); background: var(--wp--preset--color--action); color: #fff; }
.os-bmw-pill[aria-pressed="true"] { border-color: var(--wp--preset--color--ink-strong); background: var(--wp--preset--color--ink-strong); color: #fff; }
.os-bmw-pill:focus-visible { outline: 3px solid var(--wp--preset--color--action-on-dark); outline-offset: 2px; }
.os-bm { box-sizing: border-box; padding: 2.25rem 2.5rem 2.5rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius-hero); background: linear-gradient(160deg, #fff, #f2f6fd); }
.os-bm [hidden] { display: none !important; }
.os-bmhead { margin-bottom: 2rem; text-align: center; }
.os-eyebrow { display: block; margin: 0; color: var(--wp--preset--color--action-hover); font-size: var(--wp--preset--font-size--micro); font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.os-big { margin: .4rem 0 0; color: var(--wp--preset--color--ink-strong); font-size: var(--wp--preset--font-size--heading-2); font-weight: 800; letter-spacing: -.03em; line-height: 1.05; }
.os-bmlead { display: none; max-width: 58ch; margin: .6rem auto 0; color: var(--wp--preset--color--ink-muted); line-height: 1.5; }
.os-bmgrid { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2.5rem; align-items: start; }
.os-bmpick { display: flex; justify-content: center; }
.os-bmpick .os-bmw { --pill-h: 50px; --pill-gap: 10px; }
.os-bmpanel { box-sizing: border-box; display: flex; flex-direction: column; min-height: 400px; padding: 1.75rem 2rem; scroll-margin-top: 96px; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius-large); background: #fff; box-shadow: var(--wp--custom--shadow-tile); }
.os-bmpanel:not(.is-filled) { align-self: stretch; }
.os-bmempty { flex: 1; display: flex; flex-direction: column; }
.os-bmempty h3, .os-bmcard h3 { margin: .3rem 0 1.1rem; color: var(--wp--preset--color--ink-strong); font-size: 1.75rem; }
.os-bmcard h3 { margin-bottom: .4rem; }
.os-bmsteps { display: flex; flex-direction: column; gap: .8rem; max-width: 52ch; margin: 0; padding: 0; list-style: none; }
.os-bmsteps li { display: flex; align-items: baseline; gap: .85rem; color: var(--wp--preset--color--ink); }
.os-bmsteps b { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--wp--preset--color--action-wash); color: var(--wp--preset--color--action-hover); font-size: .875rem; font-weight: 800; transform: translateY(-1px); }
.os-bmcta { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.4rem; padding-top: 1.15rem; border-top: 1px solid var(--wp--preset--color--line); }
.os-bmcta.os-bmnotsure { align-items: center; justify-content: space-between; margin-top: auto; }
.os-bmnotsure p { max-width: 38ch; margin: 0; color: var(--wp--preset--color--ink-muted); font-size: var(--wp--preset--font-size--small); }
.os-e-s { display: none; }
.os-bmcard { animation: os-bmfade .3s ease; }
@keyframes os-bmfade { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
.os-bmcard > p:not(.os-bmsub) { max-width: 56ch; margin: 0; color: var(--wp--preset--color--ink-muted); }
.os-bmsub { margin: 1.15rem 0 .55rem; color: var(--wp--preset--color--ink-muted); font-size: var(--wp--preset--font-size--micro); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.os-bmchips { display: flex; flex-wrap: wrap; gap: .5rem; }
.os-bmchips span { padding: .4rem .85rem; border-radius: 999px; background: var(--wp--preset--color--action-wash); color: var(--wp--preset--color--action-hover); font-size: .875rem; font-weight: 600; }
.os-bmdocs { display: flex; flex-wrap: wrap; gap: .45rem; }
.os-bmdoc { display: inline-flex; align-items: center; gap: .5rem; padding: .25rem .8rem .25rem .25rem; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; background: #fff; color: inherit; text-decoration: none; transition: .15s; }
.os-bmdoc:hover { border-color: var(--wp--preset--color--action); box-shadow: 0 8px 20px -14px rgba(22, 41, 79, .4); }
.os-bmdoc img { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; object-fit: cover; }
.os-bmdoc b { display: block; color: var(--wp--preset--color--ink-strong); font-size: .8125rem; font-weight: 700; line-height: 1.2; }
.os-bmdoc:not(:has(img)) { padding-left: .8rem; min-height: 30px; }
.os-bmlocs { display: flex; flex-wrap: wrap; gap: .4rem; }
.os-bmlocs a { padding: .3rem .6rem; border: 1px solid var(--wp--preset--color--line); border-radius: 8px; background: #fff; color: var(--wp--preset--color--ink); font-size: .8125rem; font-weight: 600; text-decoration: none; transition: .15s; }
.os-bmlocs a:hover { border-color: var(--wp--preset--color--action); color: var(--wp--preset--color--action-hover); }
.os-bm .os-dir { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .85em 1.5em; border: 2px solid var(--wp--preset--color--ink-strong); border-radius: 12px; color: var(--wp--preset--color--ink-strong); font-size: var(--wp--preset--font-size--small); font-weight: 700; line-height: 1.2; text-decoration: none; transition: .18s; }
.os-bm .os-dir:hover { background: var(--wp--preset--color--ink-strong); color: #fff; }
@media (max-width: 1180px) { .os-bmgrid { grid-template-columns: 1fr; } .os-bmpick { justify-content: center; } .os-e-d { display: none; } .os-e-s { display: inline; } }
@media (max-width: 640px) {
	.os-bmw { --pill-h: 38px !important; --pill-gap: 6px !important; gap: .75rem; }
	.os-bmw-main { gap: .75rem; }
	.os-bmw-hot { width: 18px; height: 18px; }
	.os-bmw-hot::before, .os-bmw-hot.is-lit::before { inset: -6px; }
	.os-bmw-hot::after { width: 8px; height: 8px; }
	.os-bmw-pill { padding: 0 .7rem; font-size: .8125rem; }
	.os-bmw-beyond { gap: .35rem; }
	.os-bmw-fill .os-bmw-main { gap: .35rem; }
	.os-bmw-beyond .os-bmw-pill { padding: 0 .55rem; }
	.os-bmw-beyond:has(> :nth-child(3)) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.os-bmw-beyond:has(> :nth-child(3)) > :first-child { grid-column: 1 / -1; }
	.os-bm { padding: 1.75rem 1.25rem 2rem; }
	.os-bmpanel { min-height: 0; padding: 1.5rem 1.25rem; }
	.os-bmpanel:not(.is-filled) { display: none; }
	.os-bmlead { display: block; font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .os-bmw-hot, .os-bmw-hot::before, .os-bmw-hot::after, .os-bmw-pill { transition: none; } }
