.bmwc {
  --bmwc-navy: var(--bmw-navy, #0b315d);
  --bmwc-navy-deep: var(--bmw-navy-deep, #081f3a);
  --bmwc-orange: var(--bmw-orange, #ff6b00);
  --bmwc-blue: var(--bmw-blue, #168bd2);
  --bmwc-blue-soft: var(--bmw-blue-soft, #eff8ff);
  --bmwc-text: var(--bmw-text, #0f172a);
  --bmwc-text-2: var(--bmw-text-2, #334155);
  --bmwc-muted: var(--bmw-muted, #64748b);
  --bmwc-bg: var(--bmw-bg, #f8fafc);
  --bmwc-border: var(--bmw-border, #e2e8f0);
  --bmwc-border-strong: var(--bmw-border-strong, #cbd5e1);
  --bmwc-success: var(--bmw-success, #16a34a);
  --bmwc-warning: var(--bmw-warning, #f59e0b);
  --bmwc-danger: var(--bmw-danger, #dc2626);
  --bmwc-shadow: var(--bmw-shadow-sm, 0 4px 18px rgba(15, 23, 42, .06));
  color: var(--bmwc-text-2);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin: 30px 0 42px;
}
.bmwc *, .bmwc *::before, .bmwc *::after { box-sizing: border-box; }
.bmwc [hidden] { display: none !important; }
.bmwc-topbar { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:20px; }
.bmwc-eyebrow { margin:0 0 7px; color:var(--bmwc-orange); font-size:.75rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.bmwc-title { margin:0 0 7px; color:var(--bmwc-text); font-size:clamp(1.7rem,3vw,2.2rem); line-height:1.1; }
.bmwc-lead { max-width:760px; margin:0; color:var(--bmwc-muted); }
.bmwc-unit-toggle { display:inline-flex; flex:0 0 auto; padding:4px; border:1px solid var(--bmwc-border); border-radius:12px; background:#fff; box-shadow:var(--bmwc-shadow); }
.bmwc-unit-btn { min-width:72px; min-height:40px; border:0; border-radius:9px; background:transparent; color:var(--bmwc-muted); font-weight:900; cursor:pointer; }
.bmwc-unit-btn.is-active { background:var(--bmwc-navy); color:#fff; }
.bmwc-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; align-items:start; }
.bmwc-panel { min-width:0; padding:26px; border:1px solid var(--bmwc-border); border-radius:18px; background:#fff; box-shadow:var(--bmwc-shadow); }
.bmwc-results-panel { position:sticky; top:96px; }
.bmwc-panel-heading { display:flex; gap:13px; align-items:flex-start; padding-bottom:19px; margin-bottom:20px; border-bottom:1px solid var(--bmwc-border); }
.bmwc-panel-heading h3 { margin:1px 0 4px; color:var(--bmwc-text); font-size:1.22rem; }
.bmwc-panel-heading p { margin:0; color:var(--bmwc-muted); font-size:.91rem; line-height:1.5; }
.bmwc-step { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border-radius:9px; background:var(--bmwc-navy); color:#fff; font-size:.82rem; font-weight:900; }
.bmwc-fieldset { min-width:0; margin:0 0 18px; padding:0; border:0; }
.bmwc-fieldset legend { width:100%; margin-bottom:5px; padding:0; color:var(--bmwc-text); font-size:.93rem; font-weight:900; }
.bmwc-help { margin:0 0 10px; color:var(--bmwc-muted); font-size:.82rem; line-height:1.45; }
.bmwc-optional { color:var(--bmwc-muted); font-size:.72rem; font-weight:700; }
.bmwc-measure-pair { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.bmwc-measure-pair label > span { display:block; margin:0 0 5px; color:var(--bmwc-muted); font-size:.76rem; font-weight:800; }
.bmwc-input { width:100%; min-height:50px; padding:10px 12px; border:1px solid var(--bmwc-border-strong); border-radius:9px; background:#fff; color:var(--bmwc-text); font:inherit; font-weight:700; transition:border-color .18s ease, box-shadow .18s ease; }
.bmwc-input:focus { outline:0; border-color:var(--bmwc-blue); box-shadow:0 0 0 4px rgba(22,139,210,.13); }
.bmwc-field-inline { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; }
.bmwc-field-inline > span { min-width:44px; color:var(--bmwc-muted); font-weight:900; }
.bmwc-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:4px; }
.bmwc-button { min-height:46px; padding:11px 17px; border:1px solid transparent; border-radius:10px; font:inherit; font-size:.92rem; font-weight:900; line-height:1.2; cursor:pointer; transition:transform .15s ease,background .15s ease,border-color .15s ease; }
.bmwc-button:hover { transform:translateY(-1px); }
.bmwc-button-primary { background:var(--bmwc-orange); color:#fff; box-shadow:0 8px 20px rgba(255,107,0,.18); }
.bmwc-button-primary:hover { background:#e85f00; }
.bmwc-button-secondary { background:#fff; color:var(--bmwc-navy); border-color:var(--bmwc-border); }
.bmwc-button-secondary:hover { border-color:var(--bmwc-navy); }
.bmwc-error { margin:2px 0 14px; padding:12px 14px; border:1px solid #fecaca; border-radius:10px; background:#fef2f2; color:#991b1b; font-size:.88rem; font-weight:700; }
.bmwc-reference-note { margin-top:18px; padding:13px 14px; border-left:3px solid var(--bmwc-blue); border-radius:0 9px 9px 0; background:#f8fbff; color:#526275; font-size:.8rem; line-height:1.55; }
.bmwc-empty-result { display:grid; min-height:420px; align-content:center; justify-items:center; gap:8px; padding:34px; text-align:center; border:1px dashed #cbd5e1; border-radius:15px; background:linear-gradient(180deg,#f8fbff,#fff); }
.bmwc-empty-result strong { color:var(--bmwc-text); font-size:1.06rem; }
.bmwc-empty-result span { max-width:380px; color:var(--bmwc-muted); font-size:.88rem; }
.bmwc-empty-icon { display:grid; width:60px; height:60px; place-items:center; margin-bottom:4px; border-radius:16px; background:var(--bmwc-blue-soft); color:var(--bmwc-blue); font-size:2rem; font-weight:900; }
.bmwc-result-hero { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px; margin-bottom:14px; border-radius:14px; background:var(--bmwc-navy); color:#fff; }
.bmwc-result-hero div > span { display:block; color:#bcd0e4; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.bmwc-result-hero div > strong { display:block; margin-top:3px; color:#fff; font-size:clamp(1.25rem,2.6vw,1.7rem); }
.bmwc-result-badge { max-width:190px; padding:7px 9px; border-radius:999px; background:rgba(255,255,255,.12); color:#fff; font-size:.7rem; font-weight:900; line-height:1.25; text-align:center; }
.bmwc-result-badge.is-ok { background:rgba(22,163,74,.22); }
.bmwc-result-badge.is-review { background:rgba(245,158,11,.24); }
.bmwc-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.bmwc-result-item { min-width:0; padding:13px; border:1px solid var(--bmwc-border); border-radius:11px; background:#fff; }
.bmwc-result-item span { display:block; color:var(--bmwc-muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.bmwc-result-item strong { display:block; margin-top:4px; color:var(--bmwc-text); font-size:1rem; overflow-wrap:anywhere; }
.bmwc-space-check { margin-top:13px; padding:12px 14px; border-radius:10px; font-size:.85rem; }
.bmwc-space-check.is-ok { border:1px solid #bbf7d0; background:#f0fdf4; color:#166534; }
.bmwc-space-check.is-warning { border:1px solid #fde68a; background:#fffbeb; color:#92400e; }
.bmwc-diagram-wrap { margin-top:16px; overflow:hidden; border:1px solid var(--bmwc-border); border-radius:14px; background:#f8fbff; }
.bmwc-diagram-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; padding:14px 15px 0; }
.bmwc-diagram-heading strong { color:var(--bmwc-text); }
.bmwc-diagram-heading span { color:var(--bmwc-muted); font-size:.76rem; }
.bmwc-stair-diagram { display:block; width:100%; height:auto; min-height:250px; }
.bmwc-result-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }
.bmwc-method { margin-top:22px; padding:26px; border:1px solid var(--bmwc-border); border-radius:18px; background:linear-gradient(135deg,#f8fbff,#fff); }
.bmwc-method-head { max-width:760px; }
.bmwc-method h3 { margin:0 0 7px; color:var(--bmwc-text); font-size:1.3rem; }
.bmwc-method-head > p:last-child { margin:0; color:var(--bmwc-muted); font-size:.91rem; }
.bmwc-formula-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:18px; }
.bmwc-formula-grid > div { min-width:0; padding:13px; border:1px solid var(--bmwc-border); border-radius:11px; background:#fff; }
.bmwc-formula-grid span { display:inline-grid; width:25px; height:25px; place-items:center; margin-right:5px; border-radius:7px; background:var(--bmwc-blue-soft); color:var(--bmwc-blue); font-size:.7rem; font-weight:900; }
.bmwc-formula-grid strong { color:var(--bmwc-text); font-size:.84rem; }
.bmwc-formula-grid code { display:block; margin-top:8px; color:#475569; font-size:.78rem; white-space:normal; overflow-wrap:anywhere; }
.bmwc-method-note { margin:15px 0 0; color:var(--bmwc-muted); font-size:.8rem; line-height:1.55; }
@media(max-width:900px){.bmwc-shell{grid-template-columns:1fr}.bmwc-results-panel{position:static}.bmwc-formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bmwc-empty-result{min-height:300px}}
@media(max-width:620px){.bmwc{margin-top:20px}.bmwc-topbar{display:block}.bmwc-unit-toggle{margin-top:14px}.bmwc-panel{padding:18px}.bmwc-measure-pair,.bmwc-result-grid,.bmwc-formula-grid{grid-template-columns:1fr}.bmwc-result-hero{align-items:flex-start;flex-direction:column}.bmwc-diagram-heading{align-items:flex-start;flex-direction:column}.bmwc-actions .bmwc-button{flex:1 1 140px}.bmwc-result-actions .bmwc-button{flex:1}.bmwc-stair-diagram{min-height:210px}}
@media print{.bmwc-input-panel,.bmwc-topbar,.bmwc-method,.bmwc-result-actions{display:none!important}.bmwc-shell{display:block}.bmwc-results-panel{box-shadow:none;border:0;padding:0}.bmwc{margin:0}}

/* v1.1 — Stair Calculator editorial/resource layer */
.bmwc-select { appearance:auto; cursor:pointer; }
.bmwc-result-sub { display:block; margin-top:4px; color:var(--bmwc-muted); font-size:.72rem; font-weight:700; }
.bmwc-resource { margin-top:34px; }
.bmwc-onpage { display:flex; flex-wrap:wrap; align-items:center; gap:9px 16px; padding:16px 18px; margin-bottom:20px; border:1px solid var(--bmwc-border); border-radius:14px; background:#fff; box-shadow:var(--bmwc-shadow); }
.bmwc-onpage strong { color:var(--bmwc-text); font-size:.85rem; }
.bmwc-onpage a { color:var(--bmwc-blue); font-size:.82rem; font-weight:800; text-decoration:none; }
.bmwc-onpage a:hover { text-decoration:underline; }
.bmwc-content-section { padding:34px 0; border-bottom:1px solid var(--bmwc-border); scroll-margin-top:100px; }
.bmwc-content-section:last-child { border-bottom:0; }
.bmwc-content-section > h2,.bmwc-content-section > div > h2 { margin:0 0 12px; color:var(--bmwc-text); font-size:clamp(1.45rem,2.8vw,2rem); line-height:1.15; }
.bmwc-content-section > p,.bmwc-content-section li,.bmwc-content-section details p,.bmwc-resource-links p { color:#475569; font-size:.97rem; line-height:1.75; }
.bmwc-content-section a { color:var(--bmwc-blue); font-weight:800; }
.bmwc-soft-section { margin:10px 0; padding:30px; border:1px solid #dbeafe; border-radius:18px; background:linear-gradient(135deg,#f8fbff,#fff); }
.bmwc-steps-list { display:grid; gap:12px; margin:18px 0; padding-left:24px; }
.bmwc-definition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
.bmwc-definition-grid > div { padding:18px; border:1px solid var(--bmwc-border); border-radius:13px; background:#fff; }
.bmwc-definition-grid h3 { margin:0 0 6px; color:var(--bmwc-text); font-size:1rem; }
.bmwc-definition-grid p { margin:0; color:#526275; font-size:.87rem; line-height:1.65; }
.bmwc-example-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:20px 0; }
.bmwc-example-grid > div { padding:16px; border:1px solid var(--bmwc-border); border-radius:12px; background:#fff; }
.bmwc-example-grid span { display:grid; width:27px; height:27px; place-items:center; margin-bottom:10px; border-radius:8px; background:var(--bmwc-navy); color:#fff; font-size:.72rem; font-weight:900; }
.bmwc-example-grid strong { display:block; margin-bottom:7px; color:var(--bmwc-text); font-size:.9rem; }
.bmwc-example-grid code { color:#475569; font-size:.78rem; white-space:normal; }
.bmwc-two-col { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr); gap:26px; align-items:start; }
.bmwc-check-list { display:grid; gap:9px; margin:17px 0 0; padding-left:21px; }
.bmwc-callout { padding:22px; border:1px solid #bae6fd; border-radius:16px; background:#eff8ff; }
.bmwc-callout strong { display:block; margin-bottom:7px; color:var(--bmwc-navy); font-size:1.03rem; }
.bmwc-callout p { margin:0 0 12px; color:#526275; font-size:.87rem; line-height:1.6; }
.bmwc-text-link,.bmwc-source-link { display:inline-flex; align-items:center; gap:6px; text-decoration:none; }
.bmwc-source-link { margin-top:5px; }
.bmwc-faq-list { display:grid; gap:9px; margin-top:18px; }
.bmwc-faq-list details { border:1px solid var(--bmwc-border); border-radius:12px; background:#fff; overflow:hidden; }
.bmwc-faq-list summary { padding:15px 17px; color:var(--bmwc-text); font-size:.92rem; font-weight:900; cursor:pointer; list-style:none; }
.bmwc-faq-list summary::-webkit-details-marker { display:none; }
.bmwc-faq-list summary::after { content:'+'; float:right; color:var(--bmwc-blue); font-size:1.15rem; }
.bmwc-faq-list details[open] summary::after { content:'−'; }
.bmwc-faq-list details p { margin:0; padding:0 17px 17px; font-size:.88rem; }
.bmwc-related-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin-top:18px; }
.bmwc-related-grid a { display:block; min-width:0; padding:18px; border:1px solid var(--bmwc-border); border-radius:13px; background:#fff; text-decoration:none; box-shadow:0 2px 9px rgba(15,23,42,.03); transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.bmwc-related-grid a:hover { transform:translateY(-2px); border-color:#93c5fd; box-shadow:var(--bmwc-shadow); }
.bmwc-related-grid span { display:block; margin-bottom:5px; color:var(--bmwc-orange); font-size:.67rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.bmwc-related-grid strong { display:block; color:var(--bmwc-text); font-size:.92rem; }
.bmwc-related-grid small { display:block; margin-top:6px; color:var(--bmwc-muted); font-size:.76rem; line-height:1.45; }
.bmwc-related-foot { margin-top:15px; }
.bmwc-resource-links { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.bmwc-resource-links > div { padding:22px; border:1px solid var(--bmwc-border); border-radius:15px; background:#fff; }
.bmwc-resource-links h2 { font-size:1.25rem!important; }
.bmwc-resource-links p { margin:7px 0; }
@media(max-width:900px){.bmwc-definition-grid{grid-template-columns:1fr}.bmwc-example-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bmwc-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bmwc-two-col,.bmwc-resource-links{grid-template-columns:1fr}}
@media(max-width:620px){.bmwc-resource{margin-top:24px}.bmwc-content-section{padding:26px 0}.bmwc-soft-section{padding:22px 18px}.bmwc-example-grid,.bmwc-related-grid{grid-template-columns:1fr}.bmwc-onpage{align-items:flex-start;flex-direction:column}.bmwc-resource-links>div{padding:18px}}
@media print{.bmwc-resource{display:none!important}}

/* v1.2 — Stair topical hub + Stair Stringer Calculator */
.bmw-calculator-hub { margin-top: 8px; }
.bmw-hub-hero { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:28px; align-items:center; padding:34px; border:1px solid var(--bmwc-border); border-radius:22px; background:linear-gradient(135deg,#fff 0%,#f8fbff 58%,#eff8ff 100%); box-shadow:var(--bmwc-shadow); }
.bmw-hub-copy h2 { margin:0 0 14px; color:var(--bmwc-text); font-size:clamp(2rem,4vw,3.25rem); line-height:1.03; letter-spacing:-.035em; }
.bmw-hub-copy > p:not(.bmwc-eyebrow) { max-width:760px; margin:0; color:#526275; font-size:1rem; line-height:1.75; }
.bmw-hub-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.bmw-hub-visual { min-width:0; }
.bmw-hub-visual svg { display:block; width:100%; height:auto; }
.bmw-hub-tool-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:20px; }
.bmw-hub-tool { display:block; min-width:0; padding:22px; border:1px solid var(--bmwc-border); border-radius:15px; background:#fff; text-decoration:none; box-shadow:0 3px 12px rgba(15,23,42,.04); transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.bmw-hub-tool:hover { transform:translateY(-2px); border-color:#93c5fd; box-shadow:var(--bmwc-shadow); }
.bmw-hub-tool.is-featured { grid-column:span 2; background:linear-gradient(135deg,#0b315d,#103e70); border-color:#0b315d; }
.bmw-hub-tool > span { display:block; margin-bottom:7px; color:var(--bmwc-orange); font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.bmw-hub-tool > strong { display:block; color:var(--bmwc-text); font-size:1.08rem; }
.bmw-hub-tool > p { margin:8px 0 13px; color:#64748b; font-size:.87rem; line-height:1.6; }
.bmw-hub-tool > b { color:var(--bmwc-blue); font-size:.82rem; }
.bmw-hub-tool.is-featured > strong,.bmw-hub-tool.is-featured > p,.bmw-hub-tool.is-featured > b { color:#fff; }
.bmw-hub-tool.is-featured > p { color:#d5e3f1; }
.bmw-hub-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:20px; }
.bmw-hub-process-grid > div { padding:20px; border:1px solid var(--bmwc-border); border-radius:14px; background:#fff; }
.bmw-hub-process-grid span { display:grid; width:30px; height:30px; place-items:center; margin-bottom:11px; border-radius:9px; background:var(--bmwc-navy); color:#fff; font-size:.76rem; font-weight:900; }
.bmw-hub-process-grid strong { display:block; color:var(--bmwc-text); font-size:.95rem; }
.bmw-hub-process-grid p { margin:7px 0 0; color:#64748b; font-size:.84rem; line-height:1.55; }
.bmwc-stringer-diagram { min-height:250px; }

@media(max-width:900px){
  .bmw-hub-hero{grid-template-columns:1fr;padding:26px}
  .bmw-hub-visual{max-width:620px}
  .bmw-hub-process-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .bmw-hub-hero{padding:22px 18px;border-radius:17px}
  .bmw-hub-tool-grid{grid-template-columns:1fr}
  .bmw-hub-tool.is-featured{grid-column:auto}
  .bmw-hub-actions .bmwc-button{width:100%}
}

/* v1.3 — Rise & Run, Stair Angle, and Deck Stair calculators */
.bmwc-mode-toggle { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; padding:5px; border:1px solid var(--bmwc-border); border-radius:12px; background:#f8fafc; }
.bmwc-mode-btn { min-height:42px; padding:9px 12px; border:0; border-radius:9px; background:transparent; color:#526275; font:inherit; font-size:.84rem; font-weight:850; cursor:pointer; }
.bmwc-mode-btn:hover { color:var(--bmwc-navy); }
.bmwc-mode-btn.is-active { background:var(--bmwc-navy); color:#fff; box-shadow:0 5px 14px rgba(11,49,93,.16); }
.bmwc-rise-run-diagram,.bmwc-angle-diagram,.bmwc-deck-stair-diagram { display:block; width:100%; height:auto; min-height:250px; }
.bmw-angle-calculator .bmwc-formula-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:900px){.bmw-angle-calculator .bmwc-formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.bmwc-mode-toggle{grid-template-columns:1fr}.bmw-angle-calculator .bmwc-formula-grid{grid-template-columns:1fr}.bmwc-rise-run-diagram,.bmwc-angle-diagram,.bmwc-deck-stair-diagram{min-height:210px}}

/* v1.4 — Roof Pitch Calculator */
.bmwc-mode-toggle-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.bmwc-roof-pitch-diagram { display:block; width:100%; height:auto; min-height:250px; }
.bmw-roof-pitch-calculator .bmwc-formula-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:900px){
  .bmwc-mode-toggle-four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bmw-roof-pitch-calculator .bmwc-formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .bmwc-mode-toggle-four{grid-template-columns:1fr 1fr}
  .bmw-roof-pitch-calculator .bmwc-formula-grid{grid-template-columns:1fr}
  .bmwc-roof-pitch-diagram{min-height:210px}
}

/* v1.5 — Rafter Length Calculator + Roofing hub */
.bmwc-rafter-diagram { display:block; width:100%; height:auto; min-height:250px; }
.bmw-rafter-length-calculator .bmwc-formula-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:900px){.bmw-rafter-length-calculator .bmwc-formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.bmw-rafter-length-calculator .bmwc-formula-grid{grid-template-columns:1fr}.bmwc-rafter-diagram{min-height:210px}}

/* v1.6 Roofing calculators */
.bmwc-roof-area-diagram,.bmwc-shingle-diagram,.bmwc-shed-roof-diagram{display:block;width:100%;height:auto;min-height:240px}
.bmw-shingle-calculator .bmwc-result-hero strong{font-variant-numeric:tabular-nums}
@media(max-width:620px){.bmwc-roof-area-diagram,.bmwc-shingle-diagram,.bmwc-shed-roof-diagram{min-height:205px}}

/* v2.1 — Flagship Deck Calculator */
.bmwc-deck-diagram{display:block;width:100%;height:auto;min-height:270px}
.bmw-deck-calculator .bmwc-formula-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.bmwc-prefix{display:inline-grid;place-items:center;min-width:30px;color:#64748b;font-weight:800}
@media(max-width:900px){.bmw-deck-calculator .bmwc-formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.bmw-deck-calculator .bmwc-formula-grid{grid-template-columns:1fr}.bmwc-deck-diagram{min-height:220px}}

/* v2.2 — Deck Material Calculator + Deck hub */
.bmwc-deck-material-diagram{display:block;width:100%;height:auto;min-height:270px}
.bmw-deck-material-calculator .bmwc-formula-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.bmw-deck-material-calculator .bmwc-formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.bmw-deck-material-calculator .bmwc-formula-grid{grid-template-columns:1fr}.bmwc-deck-material-diagram{min-height:220px}}

/* Deck railing calculator */
.bmwc-deck-railing-diagram{display:block;width:100%;height:auto;min-height:250px}
@media(max-width:620px){.bmw-deck-railing-calculator .bmwc-formula-grid{grid-template-columns:1fr}.bmwc-deck-railing-diagram{min-height:210px}}
