.sbi-page { margin: 0; }
.sbi-page > * { margin-block-start: 0; margin-block-end: 0; }
.sbi-page :where(h1,h2,h3,p,ul,ol,figure) { overflow-wrap: break-word; }
.sbi-page h1 { max-width: 1060px; margin: 23px 0 30px; font-family: var(--sbi-heading); font-size: clamp(46px,5.1vw,72px); font-weight: 600; line-height: 1.14; letter-spacing: -.025em; text-wrap: balance; }
.sbi-page h2 { max-width: 1000px; margin-bottom: 30px; font-size: clamp(34px,3.2vw,46px); line-height: 1.18; }
.sbi-page h3 { margin: 0 0 20px; font-size: clamp(25px,2.2vw,32px); line-height: 1.25; }
.sbi-page h4 { font-family: var(--sbi-sans); font-size: 17px; font-weight: 600; }
.sbi-page-hero { padding-block: 84px 80px; }
.sbi-page-hero > .sbi-eyebrow { margin-bottom: 0; }
.sbi-page-lead { max-width: 800px; font-size: 21px; line-height: 1.65; margin-bottom: 28px; }
.sbi-page-hero--portrait { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(250px,.65fr); column-gap: clamp(42px,7vw,100px); align-items: center; }
.sbi-page-hero--portrait > .sbi-eyebrow,
.sbi-page-hero--portrait > h1,
.sbi-page-hero--portrait > .sbi-page-lead { grid-column: 1; }
.sbi-page-hero--portrait > .sbi-page-hero-image { grid-column: 2; grid-row: 1 / span 3; width: 100%; max-width: 330px; margin: 0 0 0 auto; padding: 14px; background: var(--sbi-ink); }
.sbi-page-hero-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.sbi-page-hero .wp-block-buttons { margin-top: 30px; }
.sbi-page-section { padding-block: 78px; border-top: 1px solid var(--sbi-taupe); }
.sbi-page-section > :last-child,
.sbi-page-aside > :last-child,
.sbi-page-cta > :last-child { margin-bottom: 0; }
.sbi-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 80px; margin: 0; align-items: start; }
.sbi-split > .wp-block-column { min-width: 0; }
.sbi-split p { font-size: 16px; line-height: 1.85; }
.sbi-split > .wp-block-column > :last-child { margin-bottom: 0; }
.sbi-page-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 42px; margin-block: 42px 0; }
.sbi-page-grid > .wp-block-column { min-width: 0; border-top: 1px solid var(--sbi-ink); padding-top: 24px; }
.sbi-page-grid p { font-size: 15px; line-height: 1.8; }
.sbi-page-grid h3 { font-size: 28px; }
.sbi-page .wp-block-image img { max-width: 100%; height: auto; display: block; }
.sbi-page .sbi-page-portrait { max-width: 350px; margin: 0 auto; padding: 20px; background: var(--sbi-ink); }
.sbi-page-portrait img { width: 100%; }
.sbi-page-caption { max-width: 350px; margin: 18px auto 0; font-size: 13px !important; line-height: 1.7 !important; }
.sbi-service-list { padding: 0; list-style: none; margin: 28px 0 0; }
.sbi-service-list > li { margin: 0; border-top: 1px solid var(--sbi-taupe); padding: 17px 0; font-size: 16px; line-height: 1.65; }
.sbi-service-list > li:last-child { border-bottom: 1px solid var(--sbi-taupe); }
.sbi-page-section > .sbi-service-list { columns: 2; column-gap: 70px; }
.sbi-page-section > .sbi-service-list > li { break-inside: avoid; }
.sbi-page-aside { padding: 30px 0 6px 34px; border-left: 1px solid var(--sbi-ink); }
.sbi-page-aside p { font-size: 15px; line-height: 1.8; }
.sbi-page-aside h2 { font-size: 34px; }
.sbi-page-aside h3 { font-size: 26px; }
.sbi-page-aside .sbi-service-list { margin-bottom: 25px; }
.sbi-page-aside .sbi-service-list li { font-size: 14px; padding-block: 13px; }
.sbi-consultation { padding: 36px 40px; background: var(--sbi-taupe); margin-top: 36px; }
.sbi-consultation h2 { font-size: 35px; }
.sbi-consultation h3 { font-size: 28px; }
.sbi-consultation p { max-width: 830px; }
.sbi-demo-notice { padding: 15px 18px; border-left: 2px solid var(--sbi-copper); font-size: 13px !important; line-height: 1.7 !important; margin-bottom: 28px; }
.sbi-tariff-note { font-size: 13px !important; line-height: 1.65 !important; }
.sbi-page-cta { padding-block: 65px 76px; border-top: 1px solid var(--sbi-taupe); }
.sbi-page-cta h2 { max-width: 850px; }
.sbi-page-cta p { max-width: 760px; }
.sbi-page-cta .wp-block-buttons { margin-top: 30px; }
.sbi-contact-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 80px; margin: 0; align-items: start; }
.sbi-contact-layout > .wp-block-column { min-width: 0; }
.sbi-form-panel h2 { font-size: 36px; }
.sbi-form-panel .sbi-eyebrow { margin-bottom: 14px; }
.sbi-form-panel > p { font-size: 15px; }
.sbi-form-panel .wp-block-shortcode { margin-top: 32px; }
.sbi-faq-list { max-width: 1000px; }
.sbi-faq-item { border-top: 1px solid var(--sbi-ink); padding: 26px 0; margin: 0 !important; }
.sbi-faq-item:last-child { border-bottom: 1px solid var(--sbi-ink); }
.sbi-faq-item summary { position: relative; padding-right: 45px; font-family: var(--sbi-heading); font-size: clamp(22px,2.2vw,28px); font-weight: 600; line-height: 1.45; cursor: pointer; list-style: none; }
.sbi-faq-item summary::-webkit-details-marker { display: none; }
.sbi-faq-item summary::after { content: '+'; position: absolute; right: 4px; top: 0; color: var(--sbi-copper); font-family: var(--sbi-sans); font-size: 28px; font-weight: 400; }
.sbi-faq-item[open] summary::after { content: '−'; }
.sbi-faq-item > :not(summary) { max-width: 890px; margin-top: 22px; font-size: 16px; line-height: 1.85; }
.sbi-faq-item summary:focus-visible { outline: 2px solid var(--sbi-copper); outline-offset: 6px; }
.sbi-legal .sbi-page-section { padding-block: 48px; }
.sbi-legal .sbi-page-section > p { max-width: 870px; font-size: 16px; }
.sbi-legal h2 { font-size: 31px; }
.sbi-value-icon { width: 34px; height: 34px; margin-bottom: 24px; color: var(--sbi-copper); }
.sbi-value-icon svg { width: 100%; height: 100%; display: block; }
.sbi-footer-links { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 50px; margin: 0 0 42px; padding-block: 32px 0; border-top: 1px solid var(--sbi-taupe); }
.sbi-footer-links .sbi-eyebrow { font-size: 9px; margin-bottom: 13px; }
.sbi-footer-links p:not(.sbi-eyebrow) { font-size: 13px; line-height: 2.15; margin: 0; }
.sbi-footer-links a:hover,
.sbi-footer-bottom a:hover { color: var(--sbi-copper); text-decoration: underline; }
.sbi-header { gap: 26px; }
.sbi-navigation .wp-block-navigation__container { gap: 23px; }
.sbi-navigation .wp-block-navigation-item__content { font-size: 13px; }
.sbi-navigation .sbi-nav-cta .wp-block-navigation-item__content { padding: 12px 18px; }
.sbi-form-panel .fluentform,
.sbi-form-panel .fluentform form { font-family: var(--sbi-sans); color: var(--sbi-ink); }
.sbi-form-panel .fluentform .ff-el-group { margin-bottom: 25px; }
.sbi-form-panel .fluentform .ff-el-input--label { margin-bottom: 9px; }
.sbi-form-panel .fluentform .ff-el-input--label label { font-size: 14px; font-weight: 600; line-height: 1.5; }
.sbi-form-panel .fluentform .ff-el-form-control { width: 100%; min-height: 49px; border: 1px solid var(--sbi-ink); border-radius: 0; background: var(--sbi-ivory); color: var(--sbi-ink); padding: 12px 14px; font: inherit; font-size: 15px; box-shadow: none; }
.sbi-form-panel .fluentform .ff-el-form-control::placeholder { color: var(--sbi-ink); opacity: .75; }
.sbi-form-panel .fluentform textarea.ff-el-form-control { min-height: 145px; resize: vertical; }
.sbi-form-panel .fluentform input[type=radio],
.sbi-form-panel .fluentform input[type=checkbox] { accent-color: var(--sbi-ink); width: 16px; height: 16px; margin: 0 9px 0 0; flex: 0 0 auto; }
.sbi-form-panel .fluentform .ff-el-form-check { margin-bottom: 11px; }
.sbi-form-panel .fluentform .ff-el-form-check-label { font-size: 14px; line-height: 1.65; cursor: pointer; }
.sbi-form-panel .fluentform .ff-el-form-check-label p { display: inline; font-size: inherit; line-height: inherit; }
.sbi-form-panel .fluentform .ff-el-form-control:focus { border-color: var(--sbi-copper); outline: 2px solid var(--sbi-copper); outline-offset: 3px; box-shadow: none; }
.sbi-form-panel .fluentform .ff-btn-submit { border: 1px solid var(--sbi-ink); border-radius: 0; background: var(--sbi-ink); color: var(--sbi-ivory); font: inherit; font-size: 14px; font-weight: 500; line-height: 1.5; padding: 17px 27px; box-shadow: none; cursor: pointer; }
.sbi-form-panel .fluentform .ff-btn-submit:hover { border-color: var(--sbi-copper); background: var(--sbi-copper); color: var(--sbi-ivory); }
.sbi-form-panel .fluentform .error,
.sbi-form-panel .fluentform .text-danger,
.sbi-form-panel .fluentform .ff-el-is-error .ff-el-input--label,
.sbi-form-panel .fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after { color: var(--sbi-copper); }
.sbi-form-panel .fluentform .ff-el-is-error .ff-el-form-control { border-color: var(--sbi-copper); }
.sbi-form-panel .fluentform .ff-message-success { border: 1px solid var(--sbi-ink); border-radius: 0; background: var(--sbi-taupe); color: var(--sbi-ink); box-shadow: none; padding: 24px; font-size: 16px; line-height: 1.7; }
.sbi-form-panel .fluentform .ff-errors-in-stack { border: 1px solid var(--sbi-copper); border-radius: 0; color: var(--sbi-copper); padding: 18px; }
.sbi-form-panel .fluentform .ff-el-form-check-label a { text-decoration: underline; }
.sbi-form-panel .fluentform .ff-el-tooltip,
.sbi-form-panel .fluentform .ff-el-tooltip:hover,
.sbi-form-panel .fluentform .ff-el-tooltip svg,
.sbi-form-panel .fluentform .ff-el-tooltip svg path { color: var(--sbi-ink); fill: var(--sbi-ink); }
body .ff-el-pop-content { background: var(--sbi-ink); color: var(--sbi-ivory); border-color: var(--sbi-ink); border-radius: 0; box-shadow: none; }
.sbi-form-panel .fluentform .ff-el-help-message { color: var(--sbi-ink); font-size: 12px; line-height: 1.6; }
@media (max-width: 1100px) {
	.sbi-page-hero--portrait { grid-template-columns: minmax(0,1.35fr) minmax(210px,.65fr); column-gap: 35px; }
	.sbi-page-hero--portrait > .sbi-page-hero-image { max-width: 290px; }
	.sbi-navigation .wp-block-navigation__container { gap: 16px; }
	.sbi-navigation .wp-block-navigation-item__content { font-size: 12px; }
	.sbi-split, .sbi-contact-layout { gap: 42px; }
	.sbi-page-grid { gap: 28px; }
}
@media (max-width: 1000px) {
	.sbi-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.sbi-navigation .wp-block-navigation__responsive-container-open { display: flex !important; }
	.wp-block-navigation.sbi-navigation .wp-block-navigation__responsive-container.is-menu-open { background-color: var(--sbi-ivory) !important; color: var(--sbi-ink) !important; padding: 30px 40px; }
	.sbi-navigation .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 55px; }
	.sbi-navigation .is-menu-open .wp-block-navigation__container { align-items: flex-start; width: 100%; gap: 17px; }
	.sbi-navigation .is-menu-open .wp-block-navigation-item { width: 100%; }
	.sbi-navigation .is-menu-open .wp-block-navigation-item__content { font-family: var(--sbi-heading); font-size: 27px; line-height: 1.4; padding-block: 4px; }
	.sbi-navigation .is-menu-open .sbi-nav-cta { margin-top: 12px; }
	.sbi-navigation .is-menu-open .sbi-nav-cta .wp-block-navigation-item__content { font-family: var(--sbi-sans); font-size: 14px; padding: 15px 20px; margin-left: 0; }
	.sbi-page-grid { grid-template-columns: 1fr; gap: 28px; }
	.sbi-page-grid h3 { font-size: 30px; }
}
@media (max-width: 800px) {
	.sbi-page-hero--portrait { grid-template-columns: minmax(0,1fr) minmax(150px,.6fr); column-gap: 24px; }
	.sbi-page-hero--portrait > .sbi-page-hero-image { max-width: none; padding: 9px; }
	.sbi-page-hero { padding-block: 54px 48px; }
	.sbi-page h1 { font-size: 47px; }
	.sbi-page-lead { font-size: 18px; }
	.sbi-page-section { padding-block: 52px; }
	.sbi-split, .sbi-contact-layout { grid-template-columns: 1fr; gap: 36px; }
	.sbi-page-aside { padding: 27px 0 0; border-left: 0; border-top: 1px solid var(--sbi-ink); }
	.sbi-page-section > .sbi-service-list { columns: 1; }
	.sbi-page-cta { padding-block: 48px 56px; }
	.sbi-footer-links { gap: 28px; }
}
@media (max-width: 599px) {
	.sbi-page-hero--portrait { grid-template-columns: minmax(0,1fr) 104px; column-gap: 14px; }
	.sbi-page-hero--portrait > .sbi-page-hero-image { grid-row: 1 / span 2; padding: 6px; margin-top: 6px; }
	.sbi-page .sbi-page-hero--portrait > h1 { font-size: clamp(34px,8.5vw,43px); }
	.sbi-page-hero--portrait > .sbi-page-lead { grid-column: 1 / -1; font-size: 15px; line-height: 1.65; }
	.sbi-page-hero { padding-block: 42px 42px; }
	.sbi-page h1 { margin-top: 19px; font-size: clamp(36px,10vw,44px); line-height: 1.18; }
	.sbi-page h2 { font-size: 31px; line-height: 1.23; margin-bottom: 25px; }
	.sbi-page h3 { font-size: 26px; }
	.sbi-page-lead { font-size: 17px; line-height: 1.75; }
	.sbi-page-section { padding-block: 45px; }
	.sbi-split { gap: 25px; }
	.sbi-split p { font-size: 14px; }
	.sbi-service-list > li { font-size: 14px; padding-block: 15px; }
	.sbi-page-grid { margin-top: 30px; }
	.sbi-page-grid p { font-size: 14px; }
	.sbi-page-grid h3 { font-size: 25px; }
	.sbi-page-aside p { font-size: 14px; }
	.sbi-consultation { padding: 28px 24px; margin-top: 28px; }
	.sbi-consultation h2 { font-size: 29px; }
	.sbi-consultation h3 { font-size: 25px; }
	.sbi-contact-layout { gap: 39px; }
	.sbi-faq-item { padding-block: 23px; }
	.sbi-faq-item summary { font-size: 23px; padding-right: 35px; }
	.sbi-faq-item > :not(summary) { font-size: 14px; }
	.sbi-form-panel h2 { font-size: 29px; }
	.sbi-form-panel .fluentform .ff-el-group { margin-bottom: 22px; }
	.sbi-form-panel .fluentform .ff-t-container { display: block; }
	.sbi-form-panel .fluentform .ff-t-cell { display: block; width: 100%; padding-inline: 0; }
	.sbi-form-panel .fluentform .ff-btn-submit { width: 100%; }
	.sbi-legal h2 { font-size: 28px; }
	.sbi-legal .sbi-page-section > p { font-size: 14px; }
	.sbi-footer-links { grid-template-columns: 1fr 1fr; gap: 28px 20px; margin-bottom: 30px; padding-top: 27px; }
	.sbi-footer-links > .wp-block-column:last-child { grid-column: 1 / -1; }
	.sbi-footer-links p:not(.sbi-eyebrow) { font-size: 12px; }
	.sbi-footer-bottom p { font-size: 10px; }
	.wp-block-navigation.sbi-navigation .wp-block-navigation__responsive-container.is-menu-open { padding: 30px 24px; }
	.sbi-value-icon { width: 30px; height: 30px; margin-bottom: 18px; }
}
