/* BMW Garage English V2 2.2.1. All component rules are opt-in.
Use .bmwg-v2 on an outer Gutenberg Group; nest .bmwg-v2__section and .bmwg-v2__inner.
BUTTONS: crimson=primary; blue is its backwards-compatible alias; white=primary on dark; outline=secondary on light;
outline-light=secondary on dark; dark=primary on light. Never copy page-level button CSS.
No Elementor content dependency. Existing theme header/footer are retained. */
.bmwg-v2{--bmw-blue:#B42336;--bmw-sky:#879CAC;--bmw-navy:#171A20;--bmw-ink:#171A20;--bmw-muted:#565D68;--bmw-line:#E0E2E5;--bmw-paper:#F5F5F2;--bmw-radius:8px;--bmw-width:1200px;color:var(--bmw-ink);background:#fff;font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.75;isolation:isolate;overflow-wrap:break-word}
.bmwg-v2 .wp-block-group__inner-container{display:contents}
.bmwg-v2 .wp-block-group__inner-container>*{margin-block-start:0}
.bmwg-v2,.bmwg-v2 *,.bmwg-v2 *:before,.bmwg-v2 *:after{box-sizing:border-box}
.bmwg-v2 :where(h1,h2,h3,h4,p,ul,ol,figure){margin:0 0 22px}
.bmwg-v2 :where(h1,h2,h3,h4){font-family:Montserrat,Arial,sans-serif;font-weight:600;color:inherit;text-transform:none;letter-spacing:-.035em}
.bmwg-v2 h1{font-size:clamp(38px,5.1vw,68px);line-height:1.07;max-width:14ch}
.bmwg-v2 h2{font-size:clamp(30px,3.7vw,48px);line-height:1.16;max-width:24ch}
.bmwg-v2 h3{font-size:clamp(21px,2vw,26px);line-height:1.3}
.bmwg-v2 p,.bmwg-v2 li{font-size:16px;line-height:1.8;color:inherit}
.bmwg-v2 a{color:#315A80;text-underline-offset:4px}
.bmwg-v2 a:hover{color:#244563}
.bmwg-v2 :where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #171A20;outline-offset:5px}
.bmwg-v2 :where(img,svg){max-width:100%;height:auto}
.bmwg-v2 .bmwg-v2__inner{width:min(var(--bmw-width),calc(100% - 64px));max-width:var(--bmw-width);margin-inline:auto}
.bmwg-v2 .bmwg-v2__section{padding:88px 0;margin:0}
.bmwg-v2 .bmwg-v2__section--soft{background:var(--bmw-paper);color:var(--bmw-ink)}
.bmwg-v2 .bmwg-v2__section--dark,.bmwg-v2 .bmwg-v2__hero{background:radial-gradient(ellipse at 85% 15%,#343941 0,transparent 55%),linear-gradient(130deg,#101216,#20242B);color:#fff}
.bmwg-v2 .bmwg-v2__section--dark :where(h1,h2,h3,h4,p,li,summary),.bmwg-v2 .bmwg-v2__hero :where(h1,h2,h3,h4,p,li){color:inherit}
.bmwg-v2 .bmwg-v2__section--dark a:not(.wp-block-button__link),.bmwg-v2 .bmwg-v2__hero a:not(.wp-block-button__link){color:#D9DDE2}
.bmwg-v2 .bmwg-v2__hero{padding:90px 0 74px;position:relative;margin:0}
.bmwg-v2 .bmwg-v2__hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#879CAC 0 33%,#315A80 33% 66%,#B42336 66% 100%)}
.bmwg-v2 .bmwg-v2__eyebrow{font-size:12px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:#B42336;margin-bottom:22px}
.bmwg-v2 .bmwg-v2__hero .bmwg-v2__eyebrow,.bmwg-v2 .bmwg-v2__section--dark .bmwg-v2__eyebrow{color:#D9DDE2}
.bmwg-v2 .bmwg-v2__lead{font-size:18px;line-height:1.8;max-width:58ch;color:var(--bmw-muted)}
.bmwg-v2 .bmwg-v2__hero .bmwg-v2__lead,.bmwg-v2 .bmwg-v2__section--dark .bmwg-v2__lead{color:#D0D4DB}
.bmwg-v2 .bmwg-v2__split{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;margin-block:0}
.bmwg-v2 .bmwg-v2__split>*{min-width:0;margin:0}
.bmwg-v2 .bmwg-v2__visual{border-radius:var(--bmw-radius);border:1px solid #737B87;background:linear-gradient(145deg,#343941,#171A20);padding:40px;box-shadow:0 28px 70px #0005;position:relative}
.bmwg-v2 .bmwg-v2__visual h2{font-size:34px;line-height:1.2}
.bmwg-v2 .bmwg-v2__visual p{color:#D0D4DB}
.bmwg-v2 .bmwg-v2__visual .bmwg-v2__eyebrow{color:#D9DDE2}
.bmwg-v2 .bmwg-v2__rule{border:0;border-top:1px solid #ffffff30;margin:28px 0}
.bmwg-v2 .bmwg-v2__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0 0}
.bmwg-v2 .bmwg-v2__card{padding:32px;border:1px solid var(--bmw-line);border-radius:var(--bmw-radius);background:#fff;color:var(--bmw-ink);margin:0;transition:transform .2s,border-color .2s,box-shadow .2s}
.bmwg-v2 .bmwg-v2__card:hover{transform:translateY(-4px);border-color:#A6ADB7;box-shadow:0 16px 40px #1229410d}
.bmwg-v2 .bmwg-v2__card p{color:var(--bmw-muted)}
.bmwg-v2 .bmwg-v2__number{font-size:13px;color:#B42336;font-weight:700;letter-spacing:.1em;margin-bottom:24px}
.bmwg-v2 .bmwg-v2__card>:last-child,.bmwg-v2 .bmwg-v2__visual>:last-child{margin-bottom:0}
.bmwg-v2 .wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 0;align-items:center}
.bmwg-v2 .wp-block-button{margin:0}
.bmwg-v2 .wp-block-button__link{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 25px;border-radius:7px;border:1px solid transparent;background:#B42336;color:#fff;font:600 14px/1.45 Montserrat,Arial,sans-serif;letter-spacing:.01em;text-decoration:none!important;overflow:hidden;isolation:isolate;box-shadow:inset 0 1px 0 #ffffff25,0 4px 12px #0000000a;transition:background .2s,transform .2s,border-color .2s,box-shadow .2s}
.bmwg-v2 .wp-block-button__link:before{content:"";position:absolute;inset:0;transform:translateX(-140%) skewX(-20deg);background:linear-gradient(90deg,transparent,#ffffff15,transparent);pointer-events:none;transition:transform .65s}
.bmwg-v2 .wp-block-button__link:hover:before{transform:translateX(140%) skewX(-20deg)}
.bmwg-v2 .wp-block-button__link:hover{color:#fff;background:#8F1B2B;transform:translateY(-2px)}
.bmwg-v2 .bmwg-v2__button--white .wp-block-button__link{background:#fff;color:#242830;border-color:#fff}
.bmwg-v2 .bmwg-v2__button--white .wp-block-button__link:hover{background:#E3E5E2;color:#242830;border-color:#E3E5E2}
.bmwg-v2 .bmwg-v2__button--dark .wp-block-button__link{background:#171A20;color:#fff}
.bmwg-v2 .bmwg-v2__button--dark .wp-block-button__link:hover{background:#292D35}
.bmwg-v2 .bmwg-v2__button--outline .wp-block-button__link{background:transparent;color:#315A80;border-color:#737B87}
.bmwg-v2 .bmwg-v2__button--outline .wp-block-button__link:hover{background:#E3E5E2;color:#244563}
.bmwg-v2 .bmwg-v2__button--outline-light .wp-block-button__link{background:transparent;color:#fff;border-color:#A6ADB7}
.bmwg-v2 .bmwg-v2__button--outline-light .wp-block-button__link:hover{background:#ffffff15;color:#fff;border-color:#fff}
.bmwg-v2 .bmwg-v2__table{overflow-x:auto;margin:32px 0 0;border:1px solid var(--bmw-line);border-radius:8px}
.bmwg-v2 .bmwg-v2__table table{width:100%;border-collapse:collapse;margin:0;font-size:15px;line-height:1.6}
.bmwg-v2 .bmwg-v2__table :where(th,td){padding:20px 24px;border:0;border-bottom:1px solid var(--bmw-line);text-align:left;color:#242830;vertical-align:top}
.bmwg-v2 .bmwg-v2__table th{background:#171A20;color:#fff;font-weight:600}
.bmwg-v2 .bmwg-v2__table tr:nth-child(even) td{background:#F5F5F2}
.bmwg-v2 .bmwg-v2__table tr:last-child td{border-bottom:0}
.bmwg-v2 .bmwg-v2__faq{padding:23px 0;border-bottom:1px solid var(--bmw-line);margin:0}
.bmwg-v2 .bmwg-v2__faq summary{cursor:pointer;font-size:18px;font-weight:600;line-height:1.55;color:inherit;min-height:32px;padding-right:20px}
.bmwg-v2 .bmwg-v2__faq p{margin:18px 0 0;max-width:76ch;color:inherit}
.bmwg-v2 .bmwg-v2__note{padding:26px 30px;background:#ECEDEA;color:#242830;border-left:3px solid #B42336;margin:30px 0 0}
.bmwg-v2 .bmwg-v2__note p:last-child{margin:0}
.bmwg-v2 .bmwg-v2__steps{list-style:none;counter-reset:bmwg-step;padding:0;margin:30px 0}
.bmwg-v2 .bmwg-v2__steps li{counter-increment:bmwg-step;position:relative;padding:0 0 28px 54px;border-left:1px solid #C5CBD3;margin-left:16px}
.bmwg-v2 .bmwg-v2__steps li:before{content:counter(bmwg-step,decimal-leading-zero);position:absolute;left:-17px;top:0;background:#fff;color:#B42336;font-size:13px;font-weight:700;padding:3px}
.bmwg-v2 .bmwg-v2__steps li:last-child{border:0;padding-bottom:0}
.bmwg-v2 label{display:block;font-weight:600;margin:15px 0 6px}
.bmwg-v2 :where(input:not([type=checkbox]):not([type=radio]),textarea,select){width:100%;min-height:48px;padding:12px;border:1px solid #737B87;border-radius:4px;background:#fff;color:#171A20;font:inherit}
.bmwg-v2 .bmwg-v2__section--dark .bmwg-v2__faq{border-color:#ffffff30}
.bmwg-v2 .bmwg-v2__image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.bmwg-v2 .bmwg-v2__image figcaption{font-size:13px;color:#565D68;margin-top:12px}
.bmwg-v2 .bmwg-v2__center{text-align:center}.bmwg-v2 .bmwg-v2__center :where(h2,p){margin-inline:auto}
.bmwg-v2>p:empty,.bmwg-v2__inner>p:empty,.bmwg-v2__section>p:empty{display:none}
body.bmwg-v2-page #pxl-main{padding:0}
body.bmwg-v2-page #pxl-content-main{width:100%;padding:0;margin:0;max-width:none}
body.bmwg-v2-page #pxl-page-title{display:none}
body.bmwg-v2-page .bmwg-v2-main{display:block;padding:0;margin:0}
@media(max-width:900px){.bmwg-v2 .bmwg-v2__split{grid-template-columns:1fr;gap:36px}.bmwg-v2 .bmwg-v2__grid{grid-template-columns:1fr 1fr}.bmwg-v2 .bmwg-v2__hero{padding:60px 0}.bmwg-v2 .bmwg-v2__section{padding:64px 0}.bmwg-v2 h1{max-width:20ch}}
@media(max-width:600px){.bmwg-v2 .bmwg-v2__inner{width:calc(100% - 40px)}.bmwg-v2 .bmwg-v2__grid{grid-template-columns:1fr}.bmwg-v2 .bmwg-v2__hero{padding:48px 0}.bmwg-v2 .bmwg-v2__section{padding:48px 0}.bmwg-v2 .bmwg-v2__visual,.bmwg-v2 .bmwg-v2__card{padding:26px}.bmwg-v2 .bmwg-v2__visual h2{font-size:28px}.bmwg-v2 .bmwg-v2__lead{font-size:17px}.bmwg-v2 .wp-block-button{width:100%}.bmwg-v2 .wp-block-button__link{width:100%}.bmwg-v2 .bmwg-v2__table :where(th,td){padding:14px;min-width:145px}.bmwg-v2 .bmwg-v2__table table{min-width:520px}.bmwg-v2 .bmwg-v2__eyebrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){.bmwg-v2 *,.bmwg-v2 *:before{transition:none!important;animation:none!important;scroll-behavior:auto!important}}


/* BMW Garage V2 Library 2.2.1
 * CONTRACT: .bmwg-v2 > section Group (.bmwg-v2__design + .bmwg-v2__sXX + surface)
 * > .bmwg-v2__inner > documented structure. Copy registered pattern markup.
 * Surfaces set foreground, muted text and links together. Nested panels reset tokens.
 * S01-S50 are structural designs, B01-B10 are Button block modifiers.
 * Read AI-GUIDELINES.md and manifest.json before authoring. No page-level overrides.
 */
.bmwg-v2 .bmwg-v2__surface--light{--v2-fg:#171A20;--v2-muted:#565D68;--v2-link:#315A80;--v2-line:#E0E2E5;--v2-bg:#fff;background:#fff;color:var(--v2-fg)}
.bmwg-v2 .bmwg-v2__surface--soft{--v2-fg:#171A20;--v2-muted:#565D68;--v2-link:#315A80;--v2-line:#C5CBD3;--v2-bg:#F5F5F2;background:#F5F5F2;color:var(--v2-fg)}
.bmwg-v2 .bmwg-v2__surface--dark{--v2-fg:#fff;--v2-muted:#D0D4DB;--v2-link:#D9DDE2;--v2-line:#737B87;--v2-bg:#171A20;background:radial-gradient(ellipse at 90% 0,#343941,transparent 65%),#171A20;color:var(--v2-fg)}
.bmwg-v2 .bmwg-v2__surface--blue,.bmwg-v2 .bmwg-v2__surface--accent{--v2-fg:#fff;--v2-muted:#F2F2EF;--v2-link:#fff;--v2-line:#A6ADB7;--v2-bg:#292D35;background:linear-gradient(120deg,#20242B,#292D35);color:var(--v2-fg)}
.bmwg-v2 .bmwg-v2__design :where(h1,h2,h3,h4,p,li,summary,blockquote,cite){color:var(--v2-fg)}
.bmwg-v2 .bmwg-v2__design :where(.bmwg-v2__lead,.bmwg-v2__caption){color:var(--v2-muted)}
.bmwg-v2 .bmwg-v2__design a:not(.wp-block-button__link){color:var(--v2-link)}
.bmwg-v2 .bmwg-v2__design a:not(.wp-block-button__link):hover{text-decoration-thickness:2px}
.bmwg-v2 .bmwg-v2__design .bmwg-v2__eyebrow,.bmwg-v2 .bmwg-v2__design .bmwg-v2__number{color:var(--v2-link)}
.bmwg-v2 .bmwg-v2__design{position:relative;scroll-margin-top:100px}
.bmwg-v2 .bmwg-v2__design .wp-block-group__inner-container{display:contents}
.bmwg-v2 .bmwg-v2__design :where(.bmwg-v2__card,.bmwg-v2__comparison-panel,.bmwg-v2__contact-choice,.bmwg-v2__document,.bmwg-v2__image-card,.bmwg-v2__faq-card){--v2-fg:#171A20;--v2-muted:#565D68;--v2-link:#315A80;--v2-line:#E0E2E5;--v2-bg:#fff;background:#fff;color:var(--v2-fg)}
.bmwg-v2 .bmwg-v2__design .bmwg-v2__card p{color:var(--v2-muted)}
.bmwg-v2 .bmwg-v2__heading{margin-bottom:34px}
.bmwg-v2 .bmwg-v2__heading>:last-child{margin-bottom:0}
.bmwg-v2 .bmwg-v2__design .bmwg-v2__split{gap:clamp(28px,5vw,64px);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.bmwg-v2 .bmwg-v2__design .bmwg-v2__split>*{min-width:0}
.bmwg-v2 .bmwg-v2__grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.bmwg-v2 .bmwg-v2__grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.bmwg-v2 .bmwg-v2__stack{display:grid;gap:22px}
.bmwg-v2 .bmwg-v2__stack>*{margin:0}
.bmwg-v2 .bmwg-v2__media{--v2-fg:#F2F2EF;--v2-muted:#D0D4DB;--v2-link:#D9DDE2;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;padding:32px;border:1px solid #737B87;border-radius:8px;background:linear-gradient(140deg,#343941,#171A20);color:var(--v2-fg);isolation:isolate}
.bmwg-v2 .bmwg-v2__media:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 70px,#ffffff05 71px 72px);z-index:-1;pointer-events:none}
.bmwg-v2 .bmwg-v2__media p{color:var(--v2-muted);font-size:13px;max-width:32ch;margin-bottom:0}
.bmwg-v2 .bmwg-v2__media h3{font-size:26px;max-width:20ch;margin:22px 0 12px}
.bmwg-v2 .bmwg-v2__media .bmwg-v2__media-kicker{font-size:10px;letter-spacing:.2em;color:#D9DDE2}
.bmwg-v2 .bmwg-v2__media--wide{min-height:340px;margin:30px 0}
.bmwg-v2 .bmwg-v2__media--portrait{min-height:350px}
.bmwg-v2 .bmwg-v2__hero-signature:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#879CAC 0 33%,#B42336 33% 66%,#B42336 66%)}
.bmwg-v2 .bmwg-v2__hero-editorial .bmwg-v2__split{grid-template-columns:minmax(0,1.7fr) minmax(240px,.8fr)}
.bmwg-v2 .bmwg-v2__aside{border-left:1px solid var(--v2-line);padding-left:32px}
.bmwg-v2 .bmwg-v2__feature-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0;align-items:center}
.bmwg-v2 .bmwg-v2__feature-layout>.bmwg-v2__media,.bmwg-v2 .bmwg-v2__feature-layout>.wp-block-group__inner-container>.bmwg-v2__media{min-height:520px}
.bmwg-v2 .bmwg-v2__feature-copy{background:#F5F5F2;padding:42px;margin-left:-36px;position:relative;border-radius:8px;box-shadow:0 12px 40px #10203a0d}
.bmwg-v2 .bmwg-v2__feature-copy h1{font-size:clamp(36px,4vw,54px)}
.bmwg-v2 .bmwg-v2__answer-hero h1{max-width:20ch}
.bmwg-v2 .bmwg-v2__inset{padding:32px;border:1px solid var(--v2-line);border-radius:8px;background:color-mix(in srgb,var(--v2-bg) 96%,var(--v2-fg))}
.bmwg-v2 .bmwg-v2__compact{padding:48px 0}
.bmwg-v2 .bmwg-v2__ribbon{display:flex;align-items:center;justify-content:space-between;gap:32px}
.bmwg-v2 .bmwg-v2__ribbon h1{font-size:clamp(34px,4vw,52px);max-width:20ch}
.bmwg-v2 .bmwg-v2__ribbon h2{font-size:32px}
.bmwg-v2 .bmwg-v2__ribbon .wp-block-buttons{flex-shrink:0;margin:0}
.bmwg-v2 .bmwg-v2__design blockquote{padding:28px 0 28px 32px;border:0;border-left:3px solid var(--v2-link);margin:26px 0;font-style:normal;background:none}
.bmwg-v2 .bmwg-v2__design blockquote p{font-size:clamp(22px,2.2vw,30px);line-height:1.55;letter-spacing:-.02em}
.bmwg-v2 .bmwg-v2__design cite{font-size:13px;font-style:normal;color:var(--v2-muted)}
.bmwg-v2 .bmwg-v2__story-rows{display:grid;gap:44px}
.bmwg-v2 .bmwg-v2__design .bmwg-v2__note{--v2-fg:#242830;--v2-muted:#565D68;--v2-link:#315A80}
.bmwg-v2 .bmwg-v2__checklist{list-style:none;padding:0;margin:24px 0}
.bmwg-v2 .bmwg-v2__checklist li{padding:10px 0 10px 28px;position:relative;border-bottom:1px solid var(--v2-line)}
.bmwg-v2 .bmwg-v2__checklist li:before{content:"✓";position:absolute;left:0;color:var(--v2-link);font-weight:700}
.bmwg-v2 .bmwg-v2__plain-list{padding-left:20px}.bmwg-v2 .bmwg-v2__plain-list li{margin-bottom:12px}
.bmwg-v2 .bmwg-v2__directory-row{display:grid;grid-template-columns:40px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--v2-line)}
.bmwg-v2 .bmwg-v2__directory-row h3{margin-bottom:10px}.bmwg-v2 .bmwg-v2__directory-row p{margin-bottom:0}
.bmwg-v2 .bmwg-v2__mosaic{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}
.bmwg-v2 .bmwg-v2__tile{padding:34px;background:#fff;border:1px solid #E0E2E5;border-radius:8px}
.bmwg-v2 .bmwg-v2__tile--feature{grid-row:span 2;display:flex;flex-direction:column;justify-content:center;background:#171A20;--v2-fg:#fff;--v2-muted:#D0D4DB;--v2-link:#D9DDE2}
.bmwg-v2 .bmwg-v2__tile--feature h2{font-size:38px}
.bmwg-v2 .bmwg-v2__system-map{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:24px;align-items:center}
.bmwg-v2 .bmwg-v2__system-map .bmwg-v2__card{padding:24px}
.bmwg-v2 .bmwg-v2__system-core{padding:40px 28px;border:1px solid #737B87;border-radius:50% 50% 12px 12px;text-align:center;background:#292D35}
.bmwg-v2 .bmwg-v2__image-card{border:1px solid #E0E2E5;border-radius:8px;overflow:hidden}
.bmwg-v2 .bmwg-v2__image-card .bmwg-v2__media{border:0;border-radius:0;min-height:220px}
.bmwg-v2 .bmwg-v2__tile-copy{padding:28px}
.bmwg-v2 .bmwg-v2__stage-rail .bmwg-v2__card{position:relative;border-top:3px solid #B42336;padding:26px}
.bmwg-v2 .bmwg-v2__stage-rail h3{font-size:23px}
.bmwg-v2 .bmwg-v2__decision{max-width:900px;margin:auto}
.bmwg-v2 .bmwg-v2__decision-root{max-width:620px;margin:auto;padding:28px;text-align:center;border:1px solid #A6ADB7;border-radius:8px;background:#ECEDEA}
.bmwg-v2 .bmwg-v2__decision .bmwg-v2__grid{position:relative;padding-top:25px;margin-top:0}
.bmwg-v2 .bmwg-v2__decision .bmwg-v2__grid:before{content:"";position:absolute;top:0;left:50%;height:25px;border-left:1px solid #A6ADB7}
.bmwg-v2 .bmwg-v2__ledger-row{display:grid;grid-template-columns:60px minmax(150px,.7fr) minmax(0,1.3fr);gap:24px;padding:25px 0;border-bottom:1px solid var(--v2-line);align-items:baseline}
.bmwg-v2 .bmwg-v2__ledger-row :where(h3,p){margin:0}
.bmwg-v2 .bmwg-v2__stage-card{display:grid;grid-template-columns:160px 1fr;gap:28px;padding:32px;border:1px solid var(--v2-line);background:#fff;border-radius:8px}
.bmwg-v2 .bmwg-v2__stage-card h3{margin-bottom:12px}
.bmwg-v2 .bmwg-v2__swimlanes{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--v2-line);border-radius:8px;overflow:hidden}
.bmwg-v2 .bmwg-v2__lane{padding:32px}.bmwg-v2 .bmwg-v2__lane:first-child{background:#F5F5F2}
.bmwg-v2 .bmwg-v2__comparison-panel{border:1px solid #C5CBD3;border-top:3px solid #B42336;border-radius:8px;padding:34px}
.bmwg-v2 .bmwg-v2__comparison-panel:nth-child(2){border-top-color:#171A20}
.bmwg-v2 .bmwg-v2__cost-ladder{display:grid;gap:14px;max-width:1000px}
.bmwg-v2 .bmwg-v2__cost-rung{padding:24px 30px;border-left:3px solid #B42336;background:#F5F5F2;display:grid;grid-template-columns:40px 1fr;gap:0 20px}
.bmwg-v2 .bmwg-v2__cost-rung p:last-child{grid-column:2}.bmwg-v2 .bmwg-v2__cost-rung:nth-child(2){margin-left:32px}.bmwg-v2 .bmwg-v2__cost-rung:nth-child(3){margin-left:64px}
.bmwg-v2 .bmwg-v2__design .bmwg-v2__table{background:#fff;--v2-fg:#242830;--v2-muted:#565D68;--v2-link:#315A80}
.bmwg-v2 .bmwg-v2__caption{font-size:13px;line-height:1.65;margin-top:20px}
.bmwg-v2 .bmwg-v2__design .bmwg-v2__faq{border-color:var(--v2-line)}
.bmwg-v2 .bmwg-v2__design .bmwg-v2__faq summary{min-height:44px;align-content:center}
.bmwg-v2 .bmwg-v2__faq[open] summary{color:var(--v2-link)}
.bmwg-v2 .bmwg-v2__faq-card{padding:12px 28px;border:1px solid #E0E2E5;border-radius:8px}
.bmwg-v2 .bmwg-v2__faq-card .bmwg-v2__faq{border-bottom:0}
.bmwg-v2 .bmwg-v2__faq-topics{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.bmwg-v2 .bmwg-v2__faq-topic>h3{padding-bottom:20px;border-bottom:3px solid #B42336}
.bmwg-v2 .bmwg-v2__contact-choice{padding:34px;border:1px solid #E0E2E5;border-radius:8px}
.bmwg-v2 .bmwg-v2__gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
.bmwg-v2 .bmwg-v2__gallery .bmwg-v2__media{min-height:220px}
.bmwg-v2 .bmwg-v2__gallery-main{grid-row:span 2}
.bmwg-v2 .bmwg-v2__profile{display:grid;grid-template-columns:minmax(200px,.6fr) minmax(0,1.4fr);align-items:center;gap:54px;max-width:1050px;margin:auto}
.bmwg-v2 .bmwg-v2__document{padding:32px;border:1px solid #E0E2E5;border-radius:2px 24px 2px 2px;border-top:5px solid #B42336}
.bmwg-v2 .bmwg-v2__chapter-list{padding:0;list-style:none;counter-reset:chapter}
.bmwg-v2 .bmwg-v2__chapter-list li{counter-increment:chapter;border-bottom:1px solid var(--v2-line);padding:18px 0}
.bmwg-v2 .bmwg-v2__chapter-list li:before{content:counter(chapter,decimal-leading-zero);margin-right:20px;color:var(--v2-link);font-size:12px}
.bmwg-v2 .bmwg-v2__reading{padding:24px 0;border-top:2px solid #B42336}
.bmwg-v2 .bmwg-v2__narrow{max-width:820px;margin:auto}
.bmwg-v2 .bmwg-v2__takeaways{list-style:none;padding:0;counter-reset:takeaway}
.bmwg-v2 .bmwg-v2__takeaways li{counter-increment:takeaway;padding:20px 0 20px 48px;position:relative;border-bottom:1px solid var(--v2-line)}
.bmwg-v2 .bmwg-v2__takeaways li:before{content:counter(takeaway,decimal-leading-zero);position:absolute;left:0;color:var(--v2-link)}
.bmwg-v2 .bmwg-v2__center :where(h1,h2,p){margin-inline:auto}.bmwg-v2 .bmwg-v2__center .wp-block-buttons{justify-content:center}
/* Ten button tokens. Use on the core/button wrapper. B07/B08 on light only. */
.bmwg-v2 .bmwg-v2__button--blue,.bmwg-v2 .bmwg-v2__button--crimson{--b-bg:#B42336;--b-fg:#fff;--b-border:#B42336;--b-hover:#8F1B2B;--b-hover-fg:#fff}
.bmwg-v2 .bmwg-v2__button--dark{--b-bg:#171A20;--b-fg:#fff;--b-border:#171A20;--b-hover:#292D35;--b-hover-fg:#fff}
.bmwg-v2 .bmwg-v2__button--white{--b-bg:#fff;--b-fg:#242830;--b-border:#fff;--b-hover:#E3E5E2;--b-hover-fg:#242830}
.bmwg-v2 .bmwg-v2__button--outline{--b-bg:transparent;--b-fg:#315A80;--b-border:#737B87;--b-hover:#E3E5E2;--b-hover-fg:#244563}
.bmwg-v2 .bmwg-v2__button--outline-light{--b-bg:transparent;--b-fg:#fff;--b-border:#A6ADB7;--b-hover:#292D35;--b-hover-fg:#fff}
.bmwg-v2 .bmwg-v2__button--soft{--b-bg:#ECEDEA;--b-fg:#315A80;--b-border:#C5CBD3;--b-hover:#E3E5E2;--b-hover-fg:#244563}
.bmwg-v2 .bmwg-v2__button--text{--b-bg:transparent;--b-fg:#315A80;--b-border:transparent;--b-hover:#ECEDEA;--b-hover-fg:#244563}
.bmwg-v2 .bmwg-v2__button--arrow{--b-bg:transparent;--b-fg:#315A80;--b-border:#737B87;--b-hover:#E3E5E2;--b-hover-fg:#244563}
.bmwg-v2 .bmwg-v2__button--phone{--b-bg:#171A20;--b-fg:#fff;--b-border:#737B87;--b-hover:#292D35;--b-hover-fg:#fff}
.bmwg-v2 .bmwg-v2__button--whatsapp{--b-bg:#fff;--b-fg:#242830;--b-border:#737B87;--b-hover:#ECEDEA;--b-hover-fg:#242830}
.bmwg-v2 :is(.bmwg-v2__design,.bmwg-v2__button-context) .wp-block-button__link{background:var(--b-bg,#B42336);color:var(--b-fg,#fff);border-color:var(--b-border,#B42336);gap:12px}
.bmwg-v2 :is(.bmwg-v2__design,.bmwg-v2__button-context) .wp-block-button__link:is(:hover,.is-hover){background:var(--b-hover,#8F1B2B);color:var(--b-hover-fg,#fff);border-color:var(--b-border,#B42336)}
.bmwg-v2 :is(.bmwg-v2__design,.bmwg-v2__button-context) .wp-block-button__link:is(:focus-visible,.is-focus){outline:3px solid #171A20;outline-offset:4px;box-shadow:0 0 0 2px #fff,0 0 0 7px #fff}
.bmwg-v2 :is(.bmwg-v2__design,.bmwg-v2__button-context) .wp-block-button__link:is(:active,.is-active){transform:translateY(1px);box-shadow:inset 0 2px 5px #0003}
.bmwg-v2 :is(.bmwg-v2__design,.bmwg-v2__button-context) .wp-block-button__link:is(:disabled,[aria-disabled=true]){background:#E6E7E5;color:#565D68;border-color:#A6ADB7;cursor:not-allowed;transform:none;box-shadow:none}
.bmwg-v2 .wp-block-button__link[aria-disabled=true]:before{display:none}
.bmwg-v2 .bmwg-v2__button--text .wp-block-button__link{text-decoration:underline!important;text-underline-offset:5px;padding-inline:12px}
.bmwg-v2 .bmwg-v2__button--arrow .wp-block-button__link:after{content:"→";font-size:20px;line-height:1}
.bmwg-v2 .bmwg-v2__button--phone .wp-block-button__link:after{content:"☎";font-size:19px;line-height:1}
.bmwg-v2 .bmwg-v2__button--whatsapp .wp-block-button__link:after{content:"";width:17px;height:14px;border:1.5px solid currentColor;border-radius:5px 5px 5px 0}
/* Catalog chrome is isolated and never copied into customer pages. */
.bmwg-v2 .bmwg-v2__catalog-head{padding:65px 0;background:#171A20;color:#fff}
.bmwg-v2 .bmwg-v2__catalog-head h1{font-size:clamp(38px,5vw,64px);max-width:22ch;color:#fff}
.bmwg-v2 .bmwg-v2__catalog-head p{color:#D0D4DB;max-width:70ch}
.bmwg-v2 .bmwg-v2__catalog-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.bmwg-v2 .bmwg-v2__catalog-nav a{display:inline-flex;align-items:center;min-height:44px;padding:9px 15px;border:1px solid #737B87;border-radius:4px;color:#fff;text-decoration:none;font-size:13px}
.bmwg-v2 .bmwg-v2__catalog-nav a:hover,.bmwg-v2 .bmwg-v2__catalog-nav a[aria-current=page]{background:#B42336;color:#fff}
.bmwg-v2 .bmwg-v2__catalog-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:48px 0}
.bmwg-v2 .bmwg-v2__catalog-card{display:block;border:1px solid #E0E2E5;border-radius:8px;overflow:hidden;text-decoration:none;color:#171A20;transition:transform .2s,box-shadow .2s}
.bmwg-v2 .bmwg-v2__catalog-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #07142615;color:#171A20}
.bmwg-v2 .bmwg-v2__catalog-card h2{font-size:20px;margin:6px 0}.bmwg-v2 .bmwg-v2__catalog-card p{font-size:12px;margin:0;color:#565D68}
.bmwg-v2 .bmwg-v2__catalog-card-copy{padding:22px}
.bmwg-v2 .bmwg-v2__thumb{height:150px;padding:24px;background:#F5F5F2;display:grid;grid-template-columns:1.1fr 1fr;gap:12px;align-content:center}
.bmwg-v2 .bmwg-v2__thumb i{display:block;background:#315A80;border-radius:3px;min-height:70px}
.bmwg-v2 .bmwg-v2__thumb i:nth-child(2){background:#C5CBD3}.bmwg-v2 .bmwg-v2__thumb i:nth-child(3){background:#fff;border:1px solid #C5CBD3}
.bmwg-v2 .bmwg-v2__thumb--Heroes{background:#171A20}.bmwg-v2 .bmwg-v2__thumb--Heroes i:first-child{height:10px;min-height:10px;align-self:center;background:#fff;box-shadow:0 20px #737B87,0 -20px #737B87}
.bmwg-v2 .bmwg-v2__thumb--Services,.bmwg-v2 .bmwg-v2__thumb--Evidence{grid-template-columns:repeat(3,1fr)}
.bmwg-v2 .bmwg-v2__thumb--Process{grid-template-columns:1fr;gap:7px}.bmwg-v2 .bmwg-v2__thumb--Process i{min-height:22px}
.bmwg-v2 .bmwg-v2__thumb--Comparisons{grid-template-columns:1fr 1fr 1fr;gap:3px}
.bmwg-v2 .bmwg-v2__thumb--FAQs{grid-template-columns:1fr;gap:7px}.bmwg-v2 .bmwg-v2__thumb--FAQs i{min-height:20px;background:#fff;border-left:3px solid #B42336}
.bmwg-v2 .bmwg-v2__thumb--Actions{background:#292D35;grid-template-columns:2fr 1fr}.bmwg-v2 .bmwg-v2__thumb--Actions i{min-height:30px;background:#fff;align-self:center}
.bmwg-v2 .bmwg-v2__catalog-label{padding:22px 0;background:#ECEDEA;border-top:1px solid #C5CBD3;border-bottom:1px solid #C5CBD3}
.bmwg-v2 .bmwg-v2__catalog-label p{font-size:13px;margin:0;color:#565D68}
.bmwg-v2 .bmwg-v2__button-context{padding:34px;border-radius:8px;margin:24px 0}
.bmwg-v2 .bmwg-v2__button-context h3{font-size:23px;color:inherit}
.bmwg-v2 .bmwg-v2__button-context .wp-block-buttons{gap:22px}
.bmwg-v2 .bmwg-v2__catalog-footer{padding:38px 0;border-top:1px solid #E0E2E5}
.bmwg-v2 .bmwg-v2__guidelines{max-width:850px;padding:48px 0}.bmwg-v2 .bmwg-v2__guidelines h2{font-size:30px;margin-top:38px}
@media(max-width:950px){.bmwg-v2 .bmwg-v2__grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.bmwg-v2 .bmwg-v2__system-map{grid-template-columns:1fr}.bmwg-v2 .bmwg-v2__system-core{border-radius:8px}.bmwg-v2 .bmwg-v2__catalog-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.bmwg-v2 .bmwg-v2__design .bmwg-v2__split,.bmwg-v2 .bmwg-v2__feature-layout,.bmwg-v2 .bmwg-v2__profile{grid-template-columns:1fr}.bmwg-v2 .bmwg-v2__feature-copy{margin:0;padding:30px}.bmwg-v2 .bmwg-v2__feature-layout>.wp-block-group__inner-container>.bmwg-v2__media{min-height:320px}.bmwg-v2 .bmwg-v2__ribbon{flex-direction:column;align-items:flex-start}.bmwg-v2 .bmwg-v2__aside{padding-left:22px}.bmwg-v2 .bmwg-v2__profile{gap:28px}}
@media(max-width:600px){.bmwg-v2 .bmwg-v2__grid--two,.bmwg-v2 .bmwg-v2__grid--four,.bmwg-v2 .bmwg-v2__mosaic,.bmwg-v2 .bmwg-v2__swimlanes,.bmwg-v2 .bmwg-v2__faq-topics,.bmwg-v2 .bmwg-v2__gallery,.bmwg-v2 .bmwg-v2__catalog-index{grid-template-columns:1fr}.bmwg-v2 .bmwg-v2__media{min-height:250px;padding:26px}.bmwg-v2 .bmwg-v2__media--wide{min-height:260px}.bmwg-v2 .bmwg-v2__stage-card{grid-template-columns:1fr;gap:8px;padding:25px}.bmwg-v2 .bmwg-v2__ledger-row{grid-template-columns:32px 1fr;gap:12px}.bmwg-v2 .bmwg-v2__ledger-row p:last-child{grid-column:2}.bmwg-v2 .bmwg-v2__cost-rung:nth-child(n){margin-left:0;padding:22px;gap:0 10px}.bmwg-v2 .bmwg-v2__cost-rung h3{font-size:21px}.bmwg-v2 .bmwg-v2__inset,.bmwg-v2 .bmwg-v2__tile,.bmwg-v2 .bmwg-v2__comparison-panel,.bmwg-v2 .bmwg-v2__contact-choice{padding:26px}.bmwg-v2 .bmwg-v2__ribbon .wp-block-buttons{width:100%}.bmwg-v2 .bmwg-v2__button-context{padding:26px}.bmwg-v2 .bmwg-v2__tile--feature h2{font-size:32px}.bmwg-v2 .bmwg-v2__catalog-head{padding:44px 0}.bmwg-v2 .bmwg-v2__catalog-nav a{font-size:12px;padding:8px 12px}}

/* Grid descendants must shrink through the theme-inserted inner container. */
.bmwg-v2 .bmwg-v2__design .wp-block-group{min-width:0}
.bmwg-v2 .bmwg-v2__design .bmwg-v2__hero-title{font-size:clamp(38px,5.1vw,68px);line-height:1.07;max-width:14ch}
.bmwg-v2 .bmwg-v2__feature-copy .bmwg-v2__hero-title{font-size:clamp(36px,4vw,54px)}
.bmwg-v2 .bmwg-v2__ribbon .bmwg-v2__hero-title{font-size:clamp(34px,4vw,52px);max-width:20ch}
.bmwg-v2 .bmwg-v2__answer-hero .bmwg-v2__hero-title{max-width:20ch}
@media(max-width:900px){.bmwg-v2 .bmwg-v2__design .bmwg-v2__hero-title{max-width:20ch}}


/* 2.2 background contract: keep a surface class, choose at most ONE bg modifier.
   pearl / silk / silver: light or soft only. graphite / crimson / technical: dark or accent only.
   Patterns ship with defaults. Existing Sxx instances inherit the same defaults.
   Use bg--plain to opt out. No animated backgrounds, overlays over text, filters or extra DOM. */
.bmwg-v2 .bmwg-v2__design:is(.bmwg-v2__s02,.bmwg-v2__s07,.bmwg-v2__s18,.bmwg-v2__s37,.bmwg-v2__s42,.bmwg-v2__s45):not([class*="bmwg-v2__bg--"]),.bmwg-v2 .bmwg-v2__design.bmwg-v2__bg--pearl{background-image:radial-gradient(ellipse at 100% 0,#C5CBD338,transparent 58%),linear-gradient(135deg,#fff,#F5F5F2)}
.bmwg-v2 .bmwg-v2__design:is(.bmwg-v2__s03,.bmwg-v2__s08,.bmwg-v2__s11,.bmwg-v2__s15,.bmwg-v2__s41,.bmwg-v2__s44):not([class*="bmwg-v2__bg--"]),.bmwg-v2 .bmwg-v2__design.bmwg-v2__bg--silk{background-image:radial-gradient(ellipse at 0 100%,#C5CBD347,transparent 56%),linear-gradient(115deg,#F5F5F2 15%,#fff 54%,#F5F5F2 88%)}
.bmwg-v2 .bmwg-v2__design:is(.bmwg-v2__s06,.bmwg-v2__s13,.bmwg-v2__s36,.bmwg-v2__s39,.bmwg-v2__s46,.bmwg-v2__s48):not([class*="bmwg-v2__bg--"]),.bmwg-v2 .bmwg-v2__design.bmwg-v2__bg--silver{background-image:linear-gradient(175deg,#fff9,transparent 50%),repeating-linear-gradient(0deg,#171A2003 0 1px,transparent 1px 5px);border-block:1px solid #171A2010}
.bmwg-v2 .bmwg-v2__design:is(.bmwg-v2__s29,.bmwg-v2__s33,.bmwg-v2__s43,.bmwg-v2__s50):not([class*="bmwg-v2__bg--"]),.bmwg-v2 .bmwg-v2__design.bmwg-v2__bg--graphite{background-image:radial-gradient(ellipse at 95% 0,#C5CBD312,transparent 65%),linear-gradient(140deg,#20242B,#171A20)}
.bmwg-v2 .bmwg-v2__design:is(.bmwg-v2__s01,.bmwg-v2__s05,.bmwg-v2__s35,.bmwg-v2__s38):not([class*="bmwg-v2__bg--"]),.bmwg-v2 .bmwg-v2__design.bmwg-v2__bg--crimson{background-image:radial-gradient(ellipse at 100% 0,#B4233638,transparent 62%),radial-gradient(ellipse at 0 100%,#C5CBD30D,transparent 60%),linear-gradient(130deg,#171A20,#20242B)}
.bmwg-v2 .bmwg-v2__design:is(.bmwg-v2__s17,.bmwg-v2__s20):not([class*="bmwg-v2__bg--"]),.bmwg-v2 .bmwg-v2__design.bmwg-v2__bg--technical{background-image:repeating-linear-gradient(120deg,transparent 0 119px,#C5CBD309 119px 120px),radial-gradient(ellipse at 100% 0,#C5CBD310,transparent 65%),linear-gradient(140deg,#20242B,#171A20)}
.bmwg-v2 .bmwg-v2__design.bmwg-v2__bg--plain{background-image:none}
.bmwg-v2 .bmwg-v2__hero:after,.bmwg-v2 .bmwg-v2__hero-signature:after{height:2px;background:linear-gradient(90deg,#315A80 0 8%,#C5CBD3 8% 16%,#B42336 16% 24%,transparent 24%)}
.bmwg-v2 .bmwg-v2__catalog-head{background:radial-gradient(ellipse at 100% 0,#B4233626,transparent 62%),linear-gradient(130deg,#171A20,#20242B)}
.bmwg-v2 .bmwg-v2__button-context{border:1px solid var(--v2-line)}
.bmwg-v2 .bmwg-v2__button-context :where(h2,p){color:var(--v2-fg)}
.bmwg-v2 .bmwg-v2__button--text .wp-block-button__link{box-shadow:none}
.bmwg-v2 .wp-block-button__link:is(.is-hover):before{transform:translateX(140%) skewX(-20deg)}
.bmwg-v2 .wp-block-button__link:is(:disabled,[aria-disabled=true]):before{display:none}
/* Nested evidence and comparison panels remain opaque. Never lighten dark-section text by opacity. */

.bmwg-v2 :is(.bmwg-v2__surface--dark,.bmwg-v2__surface--accent,.bmwg-v2__surface--blue) :is(.bmwg-v2__button--crimson,.bmwg-v2__button--blue){--b-border:#C5CBD3}

/* Small screens retain whole heading words instead of isolated trailing letters. */
@media(max-width:380px){.bmwg-v2 h1,.bmwg-v2 .bmwg-v2__design .bmwg-v2__hero-title{font-size:32px;line-height:1.12}.bmwg-v2 h2{font-size:28px}}
