.elementor-15845 .elementor-element.elementor-element-712abf4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15845 .elementor-element.elementor-element-dbe38dc{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15845 .elementor-element.elementor-element-128a582{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-128a582.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-15845 .elementor-element.elementor-element-92430ba{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-e8a7444{--display:flex;--padding-top:40px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-15845 .elementor-element.elementor-element-4a0985d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-528aaf9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-ad2ba3b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-8ea3980{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-4c637f3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-0f9ba64{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-703eff7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-eb76ce5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-89c954f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-96fac36{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-e6b559b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-613d63f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-fbe2d0a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-f3e434e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-7fa3c0d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-c5eed22{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-82b079c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-0272c43{--display:flex;}.elementor-15845 .elementor-element.elementor-element-8395dc2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-b596f04{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-a9b2ae1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-d25f134{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-e61b873{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-5ed81f6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-be8c2e7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15845 .elementor-element.elementor-element-96e3ee8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15845 .elementor-element.elementor-element-ee3e1c9.wpr-stt-btn-align-fixed-right .wpr-stt-btn{right:30px;bottom:30px;}.elementor-15845 .elementor-element.elementor-element-ee3e1c9 .wpr-stt-content{color:#ffffff;}.elementor-15845 .elementor-element.elementor-element-ee3e1c9 .wpr-stt-icon{color:#ffffff;font-size:14px;}.elementor-15845 .elementor-element.elementor-element-ee3e1c9 .wpr-stt-icon svg{fill:#ffffff;width:14px;height:14px;}.elementor-15845 .elementor-element.elementor-element-ee3e1c9 .wpr-stt-btn{background-color:var( --e-global-color-primary );transition:all  0.3s ease-in-out 0s;padding:15px 15px 15px 15px;border-radius:2px 2px 2px 2px;}.elementor-15845 .elementor-element.elementor-element-ee3e1c9 .wpr-stt-btn:hover > .wpr-stt-icon{Color:#fff;}.elementor-15845 .elementor-element.elementor-element-ee3e1c9 .wpr-stt-btn:hover > .wpr-stt-icon svg{fill:#fff;}.elementor-15845 .elementor-element.elementor-element-ee3e1c9 .wpr-stt-btn:hover{background-color:var( --e-global-color-accent );}.elementor-15845 .elementor-element.elementor-element-ee3e1c9 .wpr-stt-btn svg{transition:all  0.3s ease-in-out 0s;}@media(min-width:768px){.elementor-15845 .elementor-element.elementor-element-128a582{--width:45.333%;}}@media(max-width:1024px){.elementor-15845 .elementor-element.elementor-element-e8a7444{--padding-top:32px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}}@media(max-width:767px){.elementor-15845 .elementor-element.elementor-element-e8a7444{--padding-top:20px;--padding-bottom:24px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS *//* Page-level layout only (calculator code untouched) */
.elementor-15845 .nb-calc { max-width: 75rem; }
.elementor-15845 .elementor-element-e8a7444 > .elementor-widget { width: 100%; flex: none; }

/* Supporting sections (native Elementor widgets; layout and type set here) */
.elementor-15845 .nbp-sec { width: 100%; padding: 56px 24px; box-sizing: border-box; background: #fff; }
.elementor-15845 .nbp-sec--tint { background: #FAFAFA; }
.elementor-15845 .nbp-in { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0; gap: 16px; align-items: stretch; }
.elementor-15845 .nbp-in > .elementor-widget { width: 100%; flex: none; margin: 0; }
.elementor-15845 .nbp-eyebrow .elementor-heading-title { font-family: Montserrat, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #8A5122; line-height: 1.3; margin: 0; }
.elementor-15845 .nbp-h2 .elementor-heading-title { font-family: Lora, serif; font-size: 36px; font-weight: 700; line-height: 1.2; color: #122348; margin: 0; }
.elementor-15845 .nbp-intro, .elementor-15845 .nbp-intro p { font-family: Montserrat, sans-serif; font-size: 18px; line-height: 1.6; color: #333; max-width: 46rem; margin: 0; }
.elementor-15845 .nbp-text, .elementor-15845 .nbp-text p { font-family: Montserrat, sans-serif; font-size: 16px; line-height: 1.6; color: #333; margin: 0; }
.elementor-15845 .nbp-h3 .elementor-heading-title { font-family: Montserrat, sans-serif; font-size: 20px; font-weight: 600; line-height: 1.3; color: #122348; margin: 0; }
.elementor-15845 .nbp-note, .elementor-15845 .nbp-note p { font-family: Montserrat, sans-serif; font-size: 16px; line-height: 1.6; color: #122348; font-weight: 600; max-width: 46rem; margin: 0; }
.elementor-15845 .nbp-note { margin-top: 8px !important; padding-left: 16px; border-left: 3px solid #B8743A; }
.elementor-15845 .nbp-grid { display: grid; grid-template-columns: 1fr; gap: 20px; width: 100%; padding: 0; margin-top: 8px; }
.elementor-15845 .nbp-card, .elementor-15845 .nbp-step { background: #fff; border: 1px solid #D3DBE6; border-radius: 0; padding: 24px; gap: 10px; min-width: 0; box-sizing: border-box; }
.elementor-15845 .nbp-sec--tint .nbp-card, .elementor-15845 .nbp-sec--tint .nbp-step { background: #fff; }
.elementor-15845 .nbp-sec--white .nbp-card { background: #FAFAFA; }
.elementor-15845 .nbp-card > .elementor-widget, .elementor-15845 .nbp-step > .elementor-widget { width: 100%; flex: none; margin: 0; }
.elementor-15845 .nbp-steps { counter-reset: nbpstep; }
.elementor-15845 .nbp-step { counter-increment: nbpstep; border-top: 3px solid #B8743A; }
.elementor-15845 .nbp-step .nbp-h3 .elementor-heading-title::before { content: counter(nbpstep); display: block; font-family: Lora, serif; font-size: 30px; font-weight: 700; line-height: 1; color: #B8743A; margin-bottom: 10px; }
.elementor-15845 .nbp-link, .elementor-15845 .nbp-link p { margin: 0; font-family: Montserrat, sans-serif; font-size: 16px; font-weight: 600; }
.elementor-15845 .nbp-link a { color: #8A5122; text-decoration: underline; text-underline-offset: 3px; }
.elementor-15845 .nbp-link a:hover, .elementor-15845 .nbp-link a:focus-visible { color: #122348; }
.elementor-15845 .nbp-acc { max-width: 52rem; }
.elementor-15845 .nbp-acc .elementor-accordion-item { border: 0; border-bottom: 1px solid #D3DBE6; background: #fff; }
.elementor-15845 .nbp-acc .elementor-tab-title { padding: 18px 20px; margin: 0; }
.elementor-15845 .nbp-acc .elementor-tab-title a { font-family: Montserrat, sans-serif; font-size: 18px; font-weight: 600; color: #122348; line-height: 1.4; }
.elementor-15845 .nbp-acc .elementor-tab-title.elementor-active a { color: #122348; }
/* FAQ icons: hairline plus (navy) that becomes a thin minus (copper) when open, matching the site's other FAQ accordions. */
.elementor-15845 .nbp-acc .elementor-accordion-icon { color: #1C244B; width: 20px; height: 20px; margin-top: 14px; margin-right: 22px !important; display: flex; align-items: center; justify-content: center; }
.elementor-15845 .nbp-acc .elementor-tab-title.elementor-active .elementor-accordion-icon { color: #B8743A; }
.elementor-15845 .nbp-acc .elementor-accordion-icon i, .elementor-15845 .nbp-acc .elementor-accordion-icon svg { display: none !important; }
.elementor-15845 .nbp-acc .elementor-accordion-icon span { width: 17px; height: 17px; display: block; background: linear-gradient(currentColor, currentColor) center / 17px 1px no-repeat, linear-gradient(currentColor, currentColor) center / 1px 17px no-repeat; }
.elementor-15845 .nbp-acc .elementor-accordion-icon .elementor-accordion-icon-opened { background: linear-gradient(currentColor, currentColor) center / 14px 1px no-repeat; }
.elementor-15845 .nbp-acc .elementor-tab-title.elementor-active .elementor-accordion-icon-closed { display: none !important; }
.elementor-15845 .nbp-acc .elementor-tab-title:not(.elementor-active) .elementor-accordion-icon-opened { display: none !important; }
@media (max-width: 767px) { .elementor-15845 .nbp-acc .elementor-tab-title { font-size: 18px !important; line-height: 1.45 !important; } .elementor-15845 .nbp-acc .elementor-accordion-icon { margin-top: 3px; } }
.elementor-15845 .nbp-acc .elementor-tab-content { padding: 0 20px 20px; border: 0; font-family: Montserrat, sans-serif; font-size: 16px; line-height: 1.65; color: #333; }
.elementor-15845 .nbp-acc .elementor-tab-content p { margin: 0; }
@media (min-width: 768px) { .elementor-15845 .nbp-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .elementor-15845 .nbp-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1025px) { .elementor-15845 .nbp-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .elementor-15845 .nbp-sec { padding: 64px 24px; } }
@media (max-width: 1024px) { .elementor-15845 .nbp-sec { padding: 48px 24px; } .elementor-15845 .nbp-h2 .elementor-heading-title { font-size: 32px; } }
@media (max-width: 767px) { .elementor-15845 .nbp-sec { padding: 40px 16px; } .elementor-15845 .nbp-h2 .elementor-heading-title { font-size: 28px; } .elementor-15845 .nbp-intro, .elementor-15845 .nbp-intro p { font-size: 16px; } .elementor-15845 .nbp-card, .elementor-15845 .nbp-step { padding: 20px; } .elementor-15845 .nbp-acc .elementor-tab-title a { font-size: 16px; } }

/* ===== Hero: edge-bleed split (copy left, photograph bleeds to the right edge). Native Elementor widgets; photo is an Image widget. ===== */
.elementor-15845 .nbi-sec { width: 100%; padding: 32px 0 0 !important; box-sizing: border-box; background: #fff; }
.elementor-15845 .nbi-in { width: 100%; max-width: none !important; margin: 0; display: flex; flex-direction: row; gap: 0 !important; align-items: stretch; min-height: 430px; padding-left: max(24px, calc((100% - 1200px) / 2)) !important; padding-right: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.elementor-15845 .nbi-left { flex: 0 0 min(580px, 48%) !important; max-width: none !important; display: flex; flex-direction: column; justify-content: center; gap: 16px; padding: 48px 64px 44px 0 !important; min-width: 0; }
.elementor-15845 .nbi-right { flex: 1 1 auto !important; position: relative; padding: 0 !important; min-width: 0; gap: 0; }
.elementor-15845 .nbi-left > .elementor-widget, .elementor-15845 .nbi-right > .elementor-widget { width: 100%; flex: none; margin: 0; }
.elementor-15845 .nbi-photo { position: absolute !important; inset: 0; width: 100% !important; height: 100%; margin: 0; }
.elementor-15845 .nbi-photo .elementor-widget-container { height: 100%; }
.elementor-15845 .nbi-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; display: block; border-radius: 0; }
.elementor-15845 .nbi-eyebrow .elementor-heading-title { font-family: Montserrat, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #8A5122; line-height: 1.3; margin: 0; }
.elementor-15845 .nbi-eyebrow .elementor-heading-title::before { content: ""; display: block; width: 48px; height: 3px; background: #B8743A; margin-bottom: 14px; }
.elementor-15845 .nbi-h1 .elementor-heading-title { font-family: Lora, serif; font-size: 46px !important; font-weight: 700; line-height: 1.08 !important; color: #122348; margin: 0; text-wrap: balance; }
.elementor-15845 .nbi-text, .elementor-15845 .nbi-text p { font-family: Montserrat, sans-serif; font-size: 17px !important; line-height: 1.65 !important; color: #333; margin: 0; max-width: 40rem; }
@media (max-width: 1024px) { .elementor-15845 .nbi-sec { padding-top: 28px !important; } .elementor-15845 .nbi-in { min-height: 420px; } .elementor-15845 .nbi-left { padding: 48px 40px 40px 0 !important; } .elementor-15845 .nbi-h1 .elementor-heading-title { font-size: 38px !important; } }
@media (max-width: 767px) { .elementor-15845 .nbi-sec { padding-top: 0 !important; } .elementor-15845 .nbi-in { flex-direction: column; min-height: 0; padding: 36px 0 0 !important; } .elementor-15845 .nbi-left { flex: none !important; width: 100%; padding: 0 24px 24px !important; } .elementor-15845 .nbi-h1 .elementor-heading-title { font-size: 32px !important; } .elementor-15845 .nbi-text, .elementor-15845 .nbi-text p { font-size: 16px !important; } .elementor-15845 .nbi-right { flex: none !important; height: 190px; width: 100%; } }

/* ===== Section 2: numbered editorial cost drivers with a scroll-activated copper progress line (all copy visible) ===== */
.elementor-15845 .nbp-drivers { display: block; position: relative; width: 100%; max-width: 980px; margin-top: 24px; padding: 0; counter-reset: nbpdrv; }
.elementor-15845 .nbp-drivers::before { content: ""; position: absolute; left: 11px; top: var(--nb-top, 58px); height: var(--nb-len, calc(100% - 116px)); width: 1px; background: #D3DBE6; }
.elementor-15845 .nbp-drivers::after { content: ""; position: absolute; left: 10px; top: var(--nb-top, 58px); width: 3px; height: var(--nb-fill, var(--nb-len, calc(100% - 116px))); background: #B8743A; }
.elementor-15845 .nbp-sec .nbp-drivers .nbp-card { position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr); column-gap: 0; row-gap: 8px; align-items: start; background: transparent; border: 0; border-bottom: 1px solid #E6EAF0; padding: 40px 0 40px 56px; counter-increment: nbpdrv; }
.elementor-15845 .nbp-sec .nbp-drivers .nbp-card:last-child { border-bottom: 0; }
.elementor-15845 .nbp-drivers .nbp-card::before { content: counter(nbpdrv, decimal-leading-zero); position: static; inset: auto; width: auto; height: auto; opacity: 1; background: none; margin: 0; grid-column: 1; grid-row: 1 / span 2; font-family: Lora, serif; font-size: 44px; font-weight: 400; line-height: 1; color: #B8743A; }
.elementor-15845 .nbp-drivers .nbp-card::after { content: ""; position: absolute; left: 5px; top: 52px; width: 13px; height: 13px; box-sizing: border-box; border-radius: 50%; background: #fff; border: 2px solid #B8743A; transition: background .25s, border-color .25s; }
.elementor-15845 .nbp-drivers.js .nbp-card::after { border-color: #C3CDDA; }
.elementor-15845 .nbp-drivers.js .nbp-card.is-lit::after { background: #B8743A; border-color: #B8743A; }
.elementor-15845 .nbp-drivers .nbp-card > .nbp-h3 { grid-column: 2; grid-row: 1; align-self: end; }
.elementor-15845 .nbp-drivers .nbp-card > .nbp-text { grid-column: 2; grid-row: 2; max-width: 44rem; }
.elementor-15845 .nbp-drivers .nbp-h3 .elementor-heading-title { font-family: Lora, serif; font-size: 28px; font-weight: 700; line-height: 1.2; }
.elementor-15845 .nbp-drivers .nbp-text, .elementor-15845 .nbp-drivers .nbp-text p { font-size: 17px; line-height: 1.7; }
@media (max-width: 767px) { .elementor-15845 .nbp-drivers::before { left: 7px; } .elementor-15845 .nbp-drivers::after { left: 6px; } .elementor-15845 .nbp-sec .nbp-drivers .nbp-card { grid-template-columns: minmax(0, 1fr); padding: 30px 0 30px 36px; row-gap: 8px; } .elementor-15845 .nbp-drivers .nbp-card::before { grid-row: 1; font-size: 32px; } .elementor-15845 .nbp-drivers .nbp-card > .nbp-h3 { grid-column: 1; grid-row: 2; } .elementor-15845 .nbp-drivers .nbp-card > .nbp-text { grid-column: 1; grid-row: 3; } .elementor-15845 .nbp-drivers .nbp-card::after { left: 1px; top: 38px; } .elementor-15845 .nbp-drivers .nbp-h3 .elementor-heading-title { font-size: 24px; } }

/* ===== Section 3: one continuous six-step timeline (navy numbered circles on a single copper rail; light reveal, no progress line) ===== */
.elementor-15845 .nbp-sec .nbp-steps { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; max-width: 760px; margin-top: 32px; padding: 0; counter-reset: nbpstep; }
.elementor-15845 .nbp-sec .nbp-steps .nbp-step { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 28px; row-gap: 8px; align-items: start; background: transparent; border: 0; padding: 0 0 52px; counter-increment: nbpstep; }
.elementor-15845 .nbp-sec .nbp-steps .nbp-step:last-child { padding-bottom: 0; }
.elementor-15845 .nbp-steps .nbp-step .nbp-h3 .elementor-heading-title::before { content: none; display: none; }
.elementor-15845 .nbp-steps .nbp-step::before { content: counter(nbpstep); grid-column: 1; grid-row: 1 / span 2; position: relative; inset: auto; opacity: 1; z-index: 1; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 0; border-radius: 50%; background: #122348; color: #fff; font-family: Lora, serif; font-size: 20px; font-weight: 700; line-height: 1; box-shadow: 0 0 0 6px #FAFAFA; }
.elementor-15845 .nbp-steps .nbp-step::after { content: ""; position: absolute; left: 23px; top: 54px; bottom: 0; width: 2px; background: linear-gradient(#B8743A, #D9B48F); }
.elementor-15845 .nbp-steps .nbp-step:last-child::after { display: none; }
.elementor-15845 .nbp-steps .nbp-step > .elementor-widget { grid-column: 2; }
.elementor-15845 .nbp-steps .nbp-step .nbp-h3 { padding-top: 10px; }
.elementor-15845 .nbp-steps .nbp-h3 .elementor-heading-title { font-size: 22px; }
.elementor-15845 .nbp-steps .nbp-text, .elementor-15845 .nbp-steps .nbp-text p { max-width: 38rem; font-size: 17px; line-height: 1.7; }
.elementor-15845 .nbp-steps.js .nbp-step { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
.elementor-15845 .nbp-steps.js .nbp-step.is-in { opacity: 1; transform: none; }
@media (max-width: 767px) {
  .elementor-15845 .nbp-sec .nbp-steps .nbp-step { grid-template-columns: 40px minmax(0, 1fr); column-gap: 20px; padding-bottom: 40px; }
  .elementor-15845 .nbp-steps .nbp-step::before { width: 40px; height: 40px; font-size: 18px; }
  .elementor-15845 .nbp-steps .nbp-step::after { left: 19px; top: 46px; }
  .elementor-15845 .nbp-steps .nbp-step .nbp-h3 { padding-top: 6px; }
  .elementor-15845 .nbp-steps .nbp-h3 .elementor-heading-title { font-size: 20px; }
}

/* Concluding notes: plain indented text (no bar) */
.elementor-15845 .nbp-note.nbp-note--plain { margin-top: 40px !important; padding-left: 0; border-left: 0; }
.elementor-15845 .nbp-sec--white .nbp-note--plain { margin-left: 56px; }
.elementor-15845 .nbp-sec--tint .nbp-note--plain { margin-left: 76px; }
@media (max-width: 767px) { .elementor-15845 .nbp-note.nbp-note--plain { margin-top: 28px !important; } .elementor-15845 .nbp-sec--white .nbp-note--plain { margin-left: 36px; } .elementor-15845 .nbp-sec--tint .nbp-note--plain { margin-left: 60px; } }

/* ===== Section 4: Continue Planning cards ===== */
.elementor-15845 .nbp-res { gap: 28px; margin-top: 16px; }
.elementor-15845 .nbp-sec .nbp-res .nbp-card--link { position: relative; background: #fff; border: 1px solid #D3DBE6; border-top: 3px solid #122348; padding: 40px 40px 36px; gap: 14px; transition: transform .2s ease, box-shadow .2s ease, border-top-color .2s ease; }
.elementor-15845 .nbp-res .nbp-card--link::before { content: ""; display: block; position: absolute; inset: auto; top: -3px; left: 0; width: 48px; height: 3px; opacity: 1; background: #B8743A; margin: 0; }
.elementor-15845 .nbp-res .nbp-card--link:hover, .elementor-15845 .nbp-res .nbp-card--link:focus-within { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(18, 35, 72, 0.10); border-top-color: #B8743A; }
.elementor-15845 .nbp-res .nbp-h3 .elementor-heading-title { font-family: Lora, serif; font-size: 26px; font-weight: 700; line-height: 1.25; text-wrap: balance; }
.elementor-15845 .nbp-res .nbp-text, .elementor-15845 .nbp-res .nbp-text p { font-size: 17px; line-height: 1.65; color: #444; }
.elementor-15845 .nbp-res .nbp-link { margin-top: auto !important; padding-top: 12px; position: static; }
.elementor-15845 .nbp-res .nbp-link .elementor-widget-container, .elementor-15845 .nbp-res .nbp-link p { position: static; }
.elementor-15845 .nbp-res .nbp-link a { position: static; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; color: #122348; padding-bottom: 4px; border-bottom: 2px solid #B8743A; }
.elementor-15845 .nbp-res .nbp-link a::after { content: ""; position: absolute; inset: 0; }
.elementor-15845 .nbp-res .nbp-link a:focus-visible { outline: 2px solid #B8743A; outline-offset: 4px; }
@media (max-width: 767px) { .elementor-15845 .nbp-sec .nbp-res .nbp-card--link { padding: 30px 24px 28px; } .elementor-15845 .nbp-res .nbp-h3 .elementor-heading-title { font-size: 23px; } }

/* ===== FAQ: keyboard focus ring (design unchanged) ===== */
.elementor-15845 .nbp-acc .elementor-tab-title:focus-visible, .elementor-15845 .nbp-acc .elementor-tab-title a:focus-visible { outline: 2px solid #B8743A; outline-offset: -2px; }

/* Reduced motion: no transitions */
@media (prefers-reduced-motion: reduce) { .elementor-15845 .nbp-steps.js .nbp-step, .elementor-15845 .nbp-drivers .nbp-card::after, .elementor-15845 .nbp-res .nbp-card--link { transition: none; } }


/* Section 3: timeline + photo split */
.elementor-15845 .nbp-split { display: grid !important; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 72px !important; align-items: start; width: 100%; padding: 0 !important; }
.elementor-15845 .nbp-sec .nbp-split .nbp-steps { max-width: none; }
.elementor-15845 .nbp-split-photo { position: sticky; top: 130px; margin-top: 32px; padding: 0 !important; gap: 0; }
.elementor-15845 .nbp-split-img, .elementor-15845 .nbp-split-img .elementor-widget-container, .elementor-15845 .nbp-split-img figure { margin: 0; width: 100%; }
.elementor-15845 .nbp-split-img img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 0; border-bottom: 4px solid #B8743A; }
.elementor-15845 .nbp-split-img .widget-image-caption { font-family: Montserrat, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; font-style: normal; color: #8A5122; margin-top: 14px; text-align: left; }
@media (max-width: 1024px) { .elementor-15845 .nbp-split { grid-template-columns: minmax(0,1fr); gap: 16px !important; }
 .elementor-15845 .nbp-split-photo { position: static; margin-top: 8px; }
 .elementor-15845 .nbp-split-img img { aspect-ratio: 16 / 9; } }
@media (max-width: 767px) { .elementor-15845 .nbp-split-img img { aspect-ratio: 4 / 3; } }

/* Cost-driver note sits close under step 04 */
.elementor-15845 .nbp-sec--white .nbp-note--plain { margin-top: -30px !important; }

/* Notes: indent without overflowing the column */
.elementor-15845 .nbp-note.nbp-note--plain { box-sizing: border-box; }
.elementor-15845 .nbp-sec--white .nbp-note.nbp-note--plain { width: calc(100% - 56px) !important; }
.elementor-15845 .nbp-sec--tint .nbp-note.nbp-note--plain { width: calc(100% - 76px) !important; }
@media (max-width: 767px) { .elementor-15845 .nbp-sec--white .nbp-note.nbp-note--plain { width: calc(100% - 36px) !important; }
 .elementor-15845 .nbp-sec--tint .nbp-note.nbp-note--plain { width: calc(100% - 60px) !important; } }/* End custom CSS */