.spbb-builder { --navy:#122b42; --blue:#1d5a7a; --aqua:#69d2c0; --mist:#eef4f6; --line:#cfdae0; --orange:#c65f2c; box-sizing:border-box; width:100%; color:#193044; font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; }
.spbb-builder *, .spbb-builder *::before, .spbb-builder *::after { box-sizing:inherit; }
.spbb-shell { position:relative; left:50%; width:min(1080px,calc(100vw - 48px)); max-width:none; margin:0; padding:40px 0 80px; transform:translateX(-50%); }
.spbb-hero { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(340px,.97fr); gap:clamp(34px,5vw,68px); align-items:center; padding:clamp(38px,5vw,68px); border-radius:22px; background:#f2f0eb; overflow:hidden; }
.spbb-hero__copy { padding:10px 0; }
.spbb-hero h1 { margin:0 0 26px; color:var(--blue); font-family:Georgia,serif; font-size:clamp(2.75rem,5.5vw,4.8rem); line-height:1; }
.spbb-hero p { max-width:620px; margin:0 0 18px; color:#344e60; font-size:1.08rem; line-height:1.72; }
.spbb-hero p:last-child { margin-bottom:0; }
.spbb-hero__visual { min-height:390px; align-self:stretch; border-radius:18px 18px 90px 18px; overflow:hidden; }
.spbb-hero__visual[hidden] { display:none; }
.spbb-hero__visual img { display:block; width:100%; height:100%; min-height:390px; object-fit:cover; object-position:center; }
.spbb-eyebrow { color:#d9865d; font-size:.75rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.spbb-progress { display:grid; grid-template-columns:repeat(var(--spbb-step-count,7),1fr); gap:8px; margin:28px 0; overflow-x:auto; padding-bottom:4px; }
.spbb-progress button { min-width:120px; padding:12px 10px; border:0; border-bottom:3px solid var(--line); background:transparent; color:#6a7c89; text-align:left; cursor:pointer; }
.spbb-progress button span { display:block; font-size:.7rem; letter-spacing:.1em; }
.spbb-progress button strong { font-size:.78rem; }
.spbb-progress button.is-active { border-color:var(--orange); color:var(--navy); }
.spbb-progress button.is-complete { border-color:var(--blue); }
.spbb-grid { display:block; margin-top:32px; }
.spbb-grid main { display:flex; flex-direction:column; gap:28px; }
.spbb-card { padding:clamp(28px,4vw,48px); border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(18,43,66,.07); }
.spbb-card label { display:block; margin:0 0 10px; color:var(--navy); font-size:1rem; font-weight:750; }
.spbb-card select { width:100%; min-height:56px; margin:0 0 30px; padding:15px 46px 15px 16px; border:1px solid #9eb1bc; border-radius:9px; background:#fff; color:var(--navy); font:inherit; font-size:1.05rem; }
.spbb-card select:last-child { margin-bottom:0; }
.spbb-card select:focus { outline:3px solid rgba(29,90,122,.2); border-color:var(--blue); }
.spbb-card input:not([type="checkbox"]):not([type="radio"]), .spbb-card textarea { width:100%; min-height:54px; padding:14px 16px; border:1px solid #9eb1bc; border-radius:9px; color:var(--navy); font:inherit; }
.spbb-card textarea { min-height:130px; resize:vertical; }
.spbb-card h2 { margin:8px 0 16px; color:var(--navy); font:700 clamp(2rem,4vw,3.15rem)/1.08 Georgia,serif; }
.spbb-card h3 { margin:36px 0 10px; color:var(--navy); font:700 1.45rem/1.2 Georgia,serif; }
.spbb-section-heading { display:flex; gap:16px; margin-bottom:34px; }
.spbb-section-heading>span { display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:50%; background:var(--navy); color:#fff; font-weight:800; }
.spbb-section-heading h2 { margin:0; font-size:1.75rem; }
.spbb-section-heading p { margin:6px 0 0; color:#667b89; }
.spbb-step-heading { padding:8px 4px 0; }
.spbb-step-heading .spbb-section-heading { margin:0; }
.spbb-step-heading h2 { margin:0; color:var(--navy); font:700 2.25rem/1.08 Georgia,serif; }
.spbb-overview { display:grid; grid-template-columns:minmax(0,58fr) minmax(300px,42fr); gap:42px; align-items:center; }
.spbb-overview--no-image { grid-template-columns:1fr; }
.spbb-overview--no-image .spbb-overview__copy { max-width:680px; }
.spbb-overview__visual .spbb-model-image { height:360px; max-height:none; margin:0; }
.spbb-overview__copy h2 { margin-bottom:8px; }
.spbb-overview__copy dl { display:grid; gap:10px; margin:26px 0 0; }
.spbb-overview__copy dl div { display:flex; justify-content:space-between; gap:18px; padding:11px 0; border-bottom:1px solid var(--line); }
.spbb-overview__copy dt { color:#71828c; font-size:.75rem; font-weight:800; text-transform:uppercase; }
.spbb-overview__copy dd { margin:0; color:var(--navy); font-weight:750; text-align:right; }
.spbb-start-details { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:start; }
.spbb-start-details .spbb-card { height:100%; }
.spbb-start-details h3 { margin-top:0; }
.spbb-package-includes .spbb-components { margin-top:18px; }
.spbb-package-includes hr { height:1px; margin:24px 0 0; border:0; background:var(--line); }
.spbb-package-supporting-copy { color:#526a79; font-size:1rem; line-height:1.65; }
.spbb-rich-text p:first-child, .spbb-rich-text ul:first-child, .spbb-rich-text ol:first-child { margin-top:0; }
.spbb-rich-text p:last-child, .spbb-rich-text ul:last-child, .spbb-rich-text ol:last-child { margin-bottom:0; }
.spbb-rich-text ul, .spbb-rich-text ol { padding-left:1.35rem; }
.spbb-pdf-tools { display:flex; align-items:center; justify-content:flex-end; gap:14px; }
.spbb-review .spbb-sheet-document { max-width:850px; margin:0 auto; }
.spbb-package-price { margin:8px 0 26px; color:var(--blue); font:700 clamp(2rem,4vw,3.35rem)/1 Georgia,serif; }
.spbb-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 22px; }
.spbb-field { min-width:0; }
.spbb-fieldset, .spbb-option-group { margin:12px 0 28px; padding:0; border:0; }
.spbb-fieldset legend, .spbb-option-group legend { margin-bottom:12px; color:var(--navy); font-weight:800; }
.spbb-color-picker { position:relative; margin-bottom:8px; }
.spbb-color-picker summary { display:flex; align-items:center; gap:12px; min-height:56px; padding:11px 44px 11px 14px; border:1px solid #9eb1bc; border-radius:9px; background:#fff; color:var(--navy); cursor:pointer; list-style:none; }
.spbb-color-picker summary::-webkit-details-marker { display:none; }
.spbb-color-picker summary::after { content:"⌄"; position:absolute; right:17px; font-size:1.25rem; }
.spbb-color-options { position:absolute; z-index:5; top:calc(100% + 6px); width:100%; padding:6px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 14px 34px rgba(18,43,66,.16); }
.spbb-color-options label { display:flex; align-items:center; gap:12px; margin:0; padding:9px; border-radius:7px; cursor:pointer; }
.spbb-color-options label:hover, .spbb-color-options label:has(input:checked) { background:var(--mist); }
.spbb-color-options input { position:absolute; opacity:0; pointer-events:none; }
.spbb-color-chip { display:inline-block; flex:0 0 30px; width:30px; height:30px; border:1px solid rgba(18,43,66,.2); border-radius:6px; background-position:center; background-size:cover; }
.spbb-color-chip--empty { background:linear-gradient(135deg,#fff 0 45%,var(--line) 45% 55%,#fff 55%); }
.spbb-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.spbb-check-grid label, .spbb-option-group>label { display:flex; align-items:flex-start; gap:10px; padding:13px; border:1px solid var(--line); border-radius:9px; cursor:pointer; }
.spbb-check-grid input, .spbb-option-group input { width:20px; height:20px; flex:0 0 auto; accent-color:var(--blue); }
.spbb-summary { position:static; }
.spbb-model-image { display:block; width:100%; max-height:330px; margin:0 0 28px; border-radius:13px; object-fit:cover; }
.spbb-summary-package { margin:0 0 16px; color:#526a79; font-size:1.15rem; }
.spbb-package-description { max-width:760px; color:#526a79; font-size:1.05rem; line-height:1.7; }
.spbb-summary dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:25px 0; }
.spbb-summary dl div { padding:12px; border-radius:9px; background:var(--mist); }
.spbb-summary dt { color:#71828c; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.spbb-summary dd { margin:5px 0 0; font-weight:700; }
.spbb-model-details { margin:18px 0 8px; border-top:1px solid var(--line); }
.spbb-model-disclosure { border-bottom:1px solid var(--line); }
.spbb-model-disclosure>button { position:relative; width:100%; padding:15px 36px 15px 0; border:0; background:transparent; color:var(--navy); font:800 .95rem/1.3 inherit; text-align:left; cursor:pointer; }
.spbb-model-disclosure>button::after { content:"+"; position:absolute; right:8px; color:var(--blue); font-size:1.25rem; line-height:1; }
.spbb-model-disclosure>button[aria-expanded="true"]::after { content:"–"; }
.spbb-model-disclosure>button:focus-visible { outline:3px solid rgba(29,90,122,.22); outline-offset:3px; }
.spbb-model-details .spbb-rich-text { padding:0 0 16px; color:#526a79; font-size:.84rem; line-height:1.48; }
.spbb-model-details .spbb-rich-text li { margin:.18rem 0; }
.spbb-complete { text-align:center; }
.spbb-complete>p { max-width:680px; margin:0 auto; color:#526a79; font-size:1.05rem; line-height:1.65; }
.spbb-complete-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:28px; }
.spbb-submitted-sheet[hidden] { display:none; }
.spbb-components--compact { max-height:360px; overflow:auto; }
.spbb-actions { display:flex; justify-content:space-between; gap:16px; margin-top:20px; }
.spbb-button { min-height:52px; padding:13px 24px; border:1px solid var(--navy); border-radius:999px; background:var(--navy); color:#fff; font-family:inherit; font-size:1rem; font-weight:700; cursor:pointer; }
.spbb-button--secondary { background:#fff; color:var(--navy); }
.spbb-button:disabled { cursor:not-allowed; opacity:.55; }
.spbb-build-sheet__head { display:flex; gap:26px; align-items:center; padding-bottom:26px; border-bottom:1px solid var(--line); }
.spbb-build-sheet__head img { width:220px; max-height:160px; border-radius:12px; object-fit:cover; }
.spbb-build-sheet section { padding:20px 0; border-bottom:1px solid var(--line); }
.spbb-build-sheet ul { columns:2; padding-left:20px; }
.spbb-note { margin:20px 0 0; padding:14px 16px; border-left:4px solid var(--orange); background:#fff8f4; font-size:.9rem; }
.spbb-components { list-style:none; margin:10px 0 0; padding:0; border-top:1px solid var(--line); }
.spbb-components li { display:flex; justify-content:space-between; gap:18px; padding:12px 0; border-bottom:1px solid var(--line); }
.spbb-components small { display:block; color:#667b89; margin-top:2px; }
.spbb-muted { color:#667b89; }
.spbb-empty { min-height:440px; display:grid; place-items:center; color:#667b89; text-align:left; }
.spbb-empty>div { max-width:560px; }
.spbb-error { padding:14px; border-radius:8px; background:#fff0ef; color:#8a2720; }
.spbb-submission-message { margin:18px 0 0; padding:16px 18px; border-left:4px solid var(--aqua); border-radius:6px; background:#eefaf8; color:var(--navy); font-weight:700; }
@media (max-width:860px) { .spbb-shell{width:calc(100vw - 24px);padding:24px 0 56px}.spbb-hero{grid-template-columns:1fr;gap:28px;padding:36px 24px}.spbb-hero__visual{min-height:260px;border-radius:14px 14px 58px 14px}.spbb-hero__visual img{min-height:260px;max-height:360px}.spbb-grid{grid-template-columns:1fr;gap:20px}.spbb-summary{position:static}.spbb-empty{min-height:280px}.spbb-card{padding:28px 22px}.spbb-field-grid,.spbb-check-grid{grid-template-columns:1fr}.spbb-summary dl{grid-template-columns:1fr}.spbb-overview,.spbb-start-details{grid-template-columns:1fr}.spbb-overview{gap:24px}.spbb-overview__visual .spbb-model-image{height:auto;min-height:220px}.spbb-pdf-tools{align-items:stretch;flex-direction:column}.spbb-build-sheet__head{align-items:flex-start;flex-direction:column}.spbb-build-sheet__head img{width:100%;max-height:240px}.spbb-build-sheet ul{columns:1} }
.spbb-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
@media print {
  body * { visibility:hidden !important; }
  .spbb-submitted-sheet, .spbb-submitted-sheet * { visibility:visible !important; }
  .spbb-submitted-sheet { display:block !important; position:absolute; inset:0; width:100%; padding:0; border:0; box-shadow:none; }
  .spbb-progress, .spbb-hero, .spbb-complete, .spbb-error { display:none !important; }
}
