/* Direct Rate — restrained alignment pass. Original theme, imagery and motion retained. */
/* Allow nested flex/grid columns to fit their allocated width. */
.dr-layout-polish .e-con,
.dr-layout-polish .elementor-widget,
.dr-layout-polish :is(#conventional-mortgage-premium, #mortgage-app-plug, [id^="dla-"]) :is(.card,.bento-item,.calc-grid > *, .grid-2 > *, .grid-3 > *, .grid-4 > *) {
  min-width: 0;
}
/* Keep the existing menu / central logo / contact arrangement, with breathing room. */
@media (min-width: 1200px) {
  .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .e-con:has(> .elementor-widget-pxl_menu):has(> .elementor-widget-pxl_logo) {
    position: relative;
    align-items: center;
    padding-inline: clamp(24px, 2.4vw, 40px);
    column-gap: 24px;
  }
  .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .e-con:has(> .elementor-widget-pxl_menu) > .elementor-widget-pxl_logo {
    position: static;
    inset-inline-start: auto;
    transform: none;
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    margin: 0;
  }
  .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .pxl-menu-primary > li {
    margin-inline-end: clamp(18px, 2vw, 32px);
  }
  .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .pxl-menu-primary > li:last-child {
    margin-inline-end: 0;
  }
  .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .elementor-widget-pxl_button {
    flex-shrink: 0;
  }
}
/* Logo images must stay inside their own column, including the sticky header. */
.dr-layout-polish #pxl-header-elementor .pxl-logo img {
  max-width: 100%;
  object-fit: contain;
}
.dr-layout-polish #pxl-header-elementor .elementor-widget-pxl_logo .pxl-logo a {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
}
/* Text wrapping is limited to copy and contact details, never animated headline spans. */
.dr-layout-polish :is(.pxl-text-editor, .elementor-widget-text-editor, .pxl-footer, [id^="dla-"]) a[href^="mailto:"] {
  overflow-wrap: anywhere;
}
.dr-layout-polish :is(.pxl-text-editor, .elementor-widget-text-editor) ul:not([class]) {
  padding-inline-start: 1.25em;
  list-style-position: outside;
}
.dr-layout-polish :is(.pxl-text-editor, .elementor-widget-text-editor) li + li {
  margin-block-start: .5em;
}
/* Align long FAQ questions with their expand icon, preserving existing interaction. */
.dr-layout-polish :is(#conventional-mortgage-premium, [id^="dla-"]) .faq-q {
  gap: 16px;
}
.dr-layout-polish :is(#conventional-mortgage-premium, [id^="dla-"]) .faq-q > :last-child {
  flex-shrink: 0;
}
/* Keep calculator labels and amounts on clear, aligned columns. */
.dr-layout-polish #mortgage-app-plug .res-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}
.dr-layout-polish #mortgage-app-plug .res-row > :last-child {
  flex-shrink: 0;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.dr-layout-polish #mortgage-app-plug :is(.res-total-num,.calc-big-val) {
  font-variant-numeric: tabular-nums;
}
/* Anchor sections land below the existing sticky navigation. */
.dr-layout-polish :is(#contact, #calculator, #mortgage-app-plug) { scroll-margin-top: 100px; }
@media (max-width: 767px) {
  /* These two-column contact blocks previously overflowed on agent profiles. */
  .dr-layout-polish [id^="dla-"] .grid-2 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }
  .dr-layout-polish [id^="dla-"] :is(.contact-value,.contact-link,.social-btn) {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .dr-layout-polish [id^="dla-"] :is(.contact-icon,.social-btn svg) { flex-shrink: 0; }
  .dr-layout-polish #mortgage-app-plug .res-card { padding-inline: 20px; }
  .dr-layout-polish #conventional-mortgage-premium .faq-q { gap: 12px; }
}
/* Mobile navigation: original white/blue identity, clearer touch targets and scrolling. */
.dr-menu-backdrop { position:fixed; inset:0; z-index:99998; background:rgba(0,0,0,.42); opacity:0; visibility:hidden; transition:opacity .2s ease,visibility .2s; }
.dr-menu-backdrop.active { opacity:1; visibility:visible; }
.dr-layout-polish .pxl-mobile-menu-hybrid { z-index:99999; display:flex; flex-direction:column; width:min(420px,100%); left:auto; height:100dvh; max-height:100dvh; box-shadow:-8px 0 40px #0002; transition:transform .25s ease,opacity .2s ease,visibility .2s; }
.dr-layout-polish .pxl-mobile-menu-hybrid.closed { transform:translateX(100%); }
.dr-layout-polish .pxl-mobile-menu-hybrid.active { transform:translateX(0); animation:none; }
.dr-layout-polish .pxl-mobile-menu-header { padding:calc(18px + env(safe-area-inset-top)) 22px 18px; gap:16px; }
.dr-layout-polish .pxl-mobile-logo img { max-width:180px; width:100%; }
.dr-layout-polish .pxl-mobile-close { width:44px; height:44px; padding:0; margin:0; }
.dr-layout-polish .pxl-mobile-close:hover { transform:none; }
.dr-layout-polish .pxl-mobile-menu-float-btn { animation:none; width:48px; height:48px; top:18px; right:18px; box-shadow:0 3px 12px #0002; }
.dr-layout-polish .pxl-mobile-nav { min-height:0; flex:1 1 auto; max-height:none; padding:8px 22px 20px; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.dr-layout-polish .pxl-mobile-nav .menu-item > a { min-height:52px; display:flex; align-items:center; line-height:1.4; padding:14px 48px 14px 0; color:#202124; }
.dr-layout-polish .pxl-mobile-nav .menu-item a:hover { padding-left:0; background:transparent; color:#4090f7; }
.dr-layout-polish .pxl-mobile-nav .menu-item-has-children > a::after { display:none; }
.dr-layout-polish .pxl-mobile-nav .sub-menu { padding:6px 14px; margin:0 0 10px; border-radius:8px; }
.dr-layout-polish .pxl-mobile-nav .sub-menu[hidden] { display:none !important; }
.dr-layout-polish .pxl-mobile-nav .sub-menu:not([hidden]) { display:block; }
.dr-layout-polish .pxl-mobile-nav .sub-menu .menu-item > a { font-size:15px; min-height:44px; opacity:1; padding-block:11px; }
.dr-layout-polish .dr-submenu-toggle { position:absolute; top:4px; right:0; width:44px; height:44px; padding:0; display:grid; place-items:center; border:0; border-radius:8px; background:transparent; color:#4090f7; font-size:24px; line-height:1; cursor:pointer; }
.dr-layout-polish .dr-menu-actions { flex-shrink:0; border-top:1px solid #ececec; padding:16px 22px calc(20px + env(safe-area-inset-bottom)); display:grid; gap:10px; background:#fff; }
.dr-layout-polish .dr-menu-actions a { min-height:46px; display:flex; align-items:center; justify-content:center; font-size:15px; font-weight:600; border-radius:6px; }
.dr-layout-polish .dr-menu-contact { background:#4090f7; color:#fff; }
.dr-layout-polish .dr-menu-realtors { color:#202124; }
.dr-layout-polish :is(.pxl-mobile-menu-hybrid,.pxl-mobile-menu-float-btn) :focus-visible,
.dr-layout-polish .pxl-mobile-menu-float-btn:focus-visible { outline:2px solid #4090f7; outline-offset:3px; }
@media (prefers-reduced-motion: reduce) { .dr-layout-polish .pxl-mobile-menu-hybrid,.dr-menu-backdrop { transition:none; } }

.dr-layout-polish .pxl-mobile-menu-float-btn { transition:opacity .2s ease,background-color .2s ease,box-shadow .2s ease; }

/* Lift the process photographs without changing the original card layout. */
.dr-layout-polish .pxl-process1 .pxl-item--photo img { filter:none; }

/* Process cards: light surfaces, uncropped step numbers and aligned photo/text. */
.dr-layout-polish .pxl-process1 .pxl-process-wrapper { gap:18px; align-items:stretch; }
.dr-layout-polish .pxl-process1 .pxl-process-item { display:grid; grid-template-columns:64px minmax(0,1fr); align-content:start; gap:24px; flex:0 0 100px; padding:32px 18px; background:#fff; border:1px solid #dce4ef; min-width:0; }
.dr-layout-polish .pxl-process1 .pxl-process-item.active { flex:1 1 0; padding:32px; background:#fff; }
.dr-layout-polish .pxl-process1 .pxl-item--count { font-size:48px; line-height:1.1; letter-spacing:-1px; text-align:center; }
.dr-layout-polish .pxl-process1 .pxl-process-item .pxl-item--inner { display:none; position:static; max-width:none; min-width:0; opacity:1; }
.dr-layout-polish .pxl-process1 .pxl-process-item.active .pxl-item--inner { display:block; }
.dr-layout-polish .pxl-process1 .pxl-item--title { color:#172332; line-height:1.2; margin-bottom:16px; }
.dr-layout-polish .pxl-process1 .pxl-item--description { color:#536173; margin-bottom:24px; }
.dr-layout-polish .pxl-process1 .pxl-item--photo img { width:100%; height:auto; aspect-ratio:2 / 1; object-fit:cover; max-height:360px; filter:none; }
/* Align section titles with their content instead of a narrow heading column. */
.dr-layout-polish :is(.elementor-element-3f09610,.elementor-element-8ebfb2e,.elementor-element-b641f84) { width:100% !important; max-width:100%; }
.dr-layout-polish :is(.elementor-element-3f09610,.elementor-element-8ebfb2e,.elementor-element-b641f84) .pxl-item--title { width:100% !important; max-width:1050px !important; }
/* Calculator shares its section's left/right edges and aligns both columns. */
.dr-layout-polish #mortgage-app-plug .calc-main-container { max-width:none; padding-inline:0; }
.dr-layout-polish #mortgage-app-plug .calc-grid { align-items:start; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:32px; }
.dr-layout-polish #mortgage-app-plug .calc-tabs { padding-inline:0; gap:24px; }
.dr-layout-polish #mortgage-app-plug .calc-tab-btn { min-height:48px; }
.dr-layout-polish #mortgage-app-plug .res-card { width:100%; margin:0; }
.dr-layout-polish #mortgage-app-plug .res-total-num { font-size:clamp(32px,3.6vw,54px); overflow:visible; white-space:normal; overflow-wrap:anywhere; }
.dr-layout-polish #mortgage-app-plug :is(label,.res-total-label) { color:#b5bbc5; }
/* Testimonial cards remain in the original moving carousel. */
.dr-layout-polish .pxl-marquee__style-3 .pxl-marquee__item { background:#fff; border:1px solid #cdd8e6; border-radius:14px; padding:28px; box-shadow:0 3px 12px #17233206; display:flex; flex-direction:column; justify-content:space-between; gap:28px; }
.dr-layout-polish .pxl-marquee__style-3 .pxl-item--desc { margin-bottom:0; }
.dr-layout-polish .pxl-marquee__style-3 .pxl-item--client { margin-top:auto; gap:20px; align-items:center; }
.dr-layout-polish .pxl-marquee__style-3 .pxl-name { margin:0; }
@media(max-width:991px) {
 .dr-layout-polish .pxl-process1 .pxl-process-item,.dr-layout-polish .pxl-process1 .pxl-process-item.active { flex:1 1 auto; padding:24px; grid-template-columns:48px minmax(0,1fr); gap:18px; }
 .dr-layout-polish .pxl-process1 .pxl-process-item .pxl-item--inner { display:block; }
 .dr-layout-polish .pxl-process1 .pxl-item--count { font-size:38px; }
}
@media(max-width:767px) {
 .dr-layout-polish #mortgage-app-plug .calc-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .dr-layout-polish #mortgage-app-plug .calc-tabs { gap:16px; }
 .dr-layout-polish .pxl-process1 .pxl-process-item,.dr-layout-polish .pxl-process1 .pxl-process-item.active { padding:20px; grid-template-columns:1fr; gap:14px; }
 .dr-layout-polish .pxl-process1 .pxl-item--count { text-align:left; }
 .dr-layout-polish .pxl-process1 .pxl-item--title { font-size:26px; }
 .dr-layout-polish .pxl-marquee__style-3 .pxl-marquee__item { padding:22px; }
}
.dr-layout-polish .elementor-element-b9c95c4 { padding:60px max(30px, calc((100% - 1300px) / 2)) !important; }
.dr-layout-polish .elementor-element-b9c95c4 > .elementor-widget { padding-inline:0 !important; width:100%; }
.dr-layout-polish .elementor-element-b9c95c4 > .elementor-widget > .elementor-widget-container { padding-inline:0 !important; margin-inline:0 !important; }
.dr-layout-polish .elementor-element-b641f84 .pxl-heading--inner { width:100%; }
@media(max-width:767px) { .dr-layout-polish .elementor-element-b9c95c4 { padding:40px 20px !important; } }
.dr-layout-polish .es-review-background-container { border:1px solid #cdd8e6 !important; border-radius:12px !important; }
@media(max-width:767px) { .dr-layout-polish .pxl-marquee__style-3 .pxl-marquee__item { width:calc(100vw - 40px) !important; max-width:420px; } }
/* New photographs retain their original exposure and color. */
.dr-layout-polish .pxl-process1 .pxl-item--photo img { filter:none; aspect-ratio:16 / 9; object-position:center 40%; }
/* One white form card, without a second gray frame behind it. */
.dr-layout-polish #conventional-mortgage-premium:has(> .form-container) { background:transparent !important; background-image:none !important; }
.dr-layout-polish .card:has(> .form-container > .hs-form-frame) { padding:0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
.dr-layout-polish .form-container:has(> .hs-form-frame) { background:#fff !important; border:1px solid #e0e6ed !important; border-radius:22px !important; box-shadow:none !important; }
.dr-layout-polish .hs-form-frame { background:transparent !important; }
/* Reserve a real column for the logo; absolute centering overlapped Locations. */
@media(min-width:1025px) {
 .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .e-con:has(> .elementor-widget-pxl_menu):has(> .elementor-widget-pxl_logo) { display:grid; grid-template-columns:minmax(0,1fr) clamp(180px,16vw,240px) auto auto; gap:clamp(18px,2vw,32px); align-items:center; padding-inline:24px; }
 .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .e-con > .elementor-widget-pxl_logo { position:static; inset:auto; transform:none; width:100%; max-width:100%; margin:0; }
 .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .e-con > .elementor-widget-pxl_menu { width:100%; min-width:0; margin:0; }
 .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .e-con > :is(.elementor-widget-pxl_link,.elementor-widget-pxl_button) { width:auto; margin:0; }
 .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .pxl-menu-primary { display:flex; flex-wrap:nowrap; gap:clamp(12px,1.4vw,24px); }
 .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .pxl-menu-primary > li { margin:0; white-space:nowrap; }
}

/* Original process photographs, with no tint, blend or reveal overlay. */
.dr-layout-polish .pxl-process1,.dr-layout-polish .pxl-process1 * { filter:none !important; backdrop-filter:none !important; mix-blend-mode:normal !important; }
.dr-layout-polish .pxl-process1 :is(.pxl-item--inner,.pxl-item--photo,img) { opacity:1 !important; }
.dr-layout-polish .pxl-process1 :is(.pxl-item--inner,.pxl-item--photo)::before,
.dr-layout-polish .pxl-process1 :is(.pxl-item--inner,.pxl-item--photo)::after { content:none !important; display:none !important; }
@media(min-width:1200px) {
 .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .e-con:has(> .elementor-widget-pxl_menu) > .elementor-widget-pxl_logo { position:relative !important; inset:auto !important; transform:none !important; width:100% !important; max-width:100% !important; margin:0 !important; }
}
.dr-layout-polish .pxl-process1,.dr-layout-polish .pxl-process1 * { opacity:1 !important; }
/* Symmetric header tracks keep the logo at the exact page center. */
@media(min-width:1201px) {
 .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .e-con:has(> .elementor-widget-pxl_menu):has(> .elementor-widget-pxl_logo) { grid-template-columns:minmax(0,1fr) 240px minmax(0,1fr); gap:24px; }
 .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .e-con:has(> .elementor-widget-pxl_menu) > .elementor-widget-pxl_menu { grid-column:1; grid-row:1; }
 .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .e-con:has(> .elementor-widget-pxl_menu) > .elementor-widget-pxl_logo { grid-column:2; grid-row:1; }
 .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .e-con:has(> .elementor-widget-pxl_menu) > .elementor-widget-pxl_link { grid-column:3; grid-row:1; justify-self:end; margin-right:184px; }
 .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .e-con:has(> .elementor-widget-pxl_menu) > .elementor-widget-pxl_button { grid-column:3; grid-row:1; justify-self:end; }
 .dr-layout-polish #pxl-header-elementor .pxl-header-elementor-main .pxl-menu-primary { gap:clamp(10px,1vw,18px); }
}
