/* Divi AI Site Builder front-end design system (v0.7.1) */

/* ---------- Generated global header ---------- */
.daib-has-custom-header #main-header,
.daib-has-custom-header #top-header,
.daib-has-custom-header .et-l--header {
    display: none !important;
}

.daib-has-custom-header #page-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.daib-site-header {
    position: relative;
    z-index: 999;
    background: #fff;
    border-bottom: 1px solid rgb(20 48 77 / 8%);
    box-shadow: 0 4px 18px rgb(20 48 77 / 4%);
}

.daib-header-inner {
    width: min(90%, 1240px);
    min-height: 76px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 30px;
}

.daib-site-brand {
    flex: 0 0 auto;
    min-width: 150px;
}

.daib-site-brand .custom-logo-link {
    display: inline-flex;
    align-items: center;
}

.daib-site-brand .custom-logo {
    max-height: 46px;
    width: auto;
}

.daib-footer-logo .custom-logo-link {
    display: inline-flex;
    align-items: center;
}

.daib-footer-logo .custom-logo {
    max-height: 54px;
    width: auto;
}

.daib-brand-text {
    color: var(--daib-site-primary, #1d3553);
    font-weight: 750;
    font-size: 21px;
    line-height: 1.2;
}

.daib-primary-nav {
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-end;
}

.daib-nav-list {
    list-style: none !important;
    display: flex;
    align-items: center;
    gap: 26px;
    padding: 0 !important;
    margin: 0 !important;
}

.daib-nav-list li {
    margin: 0;
    padding: 0;
}

.daib-nav-list a {
    display: block;
    color: #31445b;
    font-size: 14.5px;
    line-height: 1.3;
    font-weight: 600;
    padding: 28px 0;
}

.daib-nav-list .current-menu-item > a,
.daib-nav-list a:hover {
    color: var(--daib-site-primary, #0f69c7);
}

.daib-header-cta {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 8px;
    background: var(--daib-site-accent, #f59e0b);
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 8px 20px rgb(23 54 93 / 15%);
}

.daib-header-cta:hover {
    transform: translateY(-1px);
    color: #fff !important;
}

.daib-nav-toggle {
    display: none;
    width: 42px;
    height: 42px;
    padding: 10px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.daib-nav-toggle > span:not(.screen-reader-text) {
    display: block;
    width: 22px;
    height: 2px;
    margin: 4px auto;
    background: #263b52;
    border-radius: 99px;
}

/* ---------- Hero system ---------- */
.et_pb_section.daib-hero {
    position: relative;
    overflow: hidden;
}

.et_pb_section.daib-hero-centered {
    background-position: center center;
    background-size: cover;
}

.et_pb_section.daib-hero-centered.daib-focus-left { background-position: left center; }
.et_pb_section.daib-hero-centered.daib-focus-right { background-position: right center; }

.et_pb_section.daib-hero.daib-hero-has-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgb(7 23 41 / 25%);
    pointer-events: none;
    z-index: 0;
}

.et_pb_section.daib-hero > .et_pb_row {
    position: relative;
    z-index: 1;
}

/* Keep centered-hero text readable over locally bright areas without darkening the full image. */
.et_pb_section.daib-hero-centered .daib-hero-panel {
    width: min(92%, 900px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 28px 34px 30px !important;
    border-radius: 18px;
    background: rgb(7 23 41 / 24%);
    box-shadow: 0 18px 50px rgb(0 0 0 / 12%);
    backdrop-filter: blur(1.5px);
    -webkit-backdrop-filter: blur(1.5px);
}

.et_pb_section.daib-hero-centered .daib-hero-copy h1,
.et_pb_section.daib-hero-centered .daib-hero-copy p {
    text-shadow: 0 2px 14px rgb(0 0 0 / 45%);
}

/* Hero text alignment and content-width controls (v1.0.7). */
.et_pb_section.daib-hero-centered.daib-hero-width-narrow .daib-hero-panel { width: min(92%, 620px) !important; }
.et_pb_section.daib-hero-centered.daib-hero-width-standard .daib-hero-panel { width: min(92%, 760px) !important; }
.et_pb_section.daib-hero-centered.daib-hero-width-wide .daib-hero-panel { width: min(94%, 900px) !important; }

.et_pb_section.daib-hero-centered.daib-hero-align-left .daib-hero-panel { margin-left: 0 !important; margin-right: auto !important; }
.et_pb_section.daib-hero-centered.daib-hero-align-right .daib-hero-panel { margin-left: auto !important; margin-right: 0 !important; }
.et_pb_section.daib-hero-centered.daib-hero-align-center .daib-hero-panel { margin-left: auto !important; margin-right: auto !important; }

.daib-hero-align-left .daib-hero-copy,
.daib-hero-align-left .daib-hero-panel,
.daib-hero-align-left .daib-hero-split-copy.et_pb_column,
.daib-hero-align-left.daib-hero-simple .et_pb_column { text-align: left; }
.daib-hero-align-right .daib-hero-copy,
.daib-hero-align-right .daib-hero-panel,
.daib-hero-align-right .daib-hero-split-copy.et_pb_column,
.daib-hero-align-right.daib-hero-simple .et_pb_column { text-align: right; }
.daib-hero-align-center .daib-hero-copy,
.daib-hero-align-center .daib-hero-panel,
.daib-hero-align-center .daib-hero-split-copy.et_pb_column,
.daib-hero-align-center.daib-hero-simple .et_pb_column { text-align: center; }

.daib-hero-centered.daib-hero-align-left .daib-hero-subheadline,
.daib-hero-simple.daib-hero-align-left .daib-hero-subheadline,
.daib-hero-split.daib-hero-align-left .daib-hero-subheadline { margin-left: 0; margin-right: auto; }
.daib-hero-centered.daib-hero-align-right .daib-hero-subheadline,
.daib-hero-simple.daib-hero-align-right .daib-hero-subheadline,
.daib-hero-split.daib-hero-align-right .daib-hero-subheadline { margin-left: auto; margin-right: 0; }

.daib-hero-width-narrow .daib-hero-copy { max-width: 560px; }
.daib-hero-width-standard .daib-hero-copy { max-width: 720px; }
.daib-hero-width-wide .daib-hero-copy { max-width: 900px; }
.daib-hero-align-left .daib-hero-copy { margin-left: 0; margin-right: auto; }
.daib-hero-align-right .daib-hero-copy { margin-left: auto; margin-right: 0; }
.daib-hero-align-center .daib-hero-copy { margin-left: auto; margin-right: auto; }

.daib-hero-centered.daib-hero-align-left .et_pb_column,
.daib-hero-simple.daib-hero-align-left .et_pb_column { text-align: left; }
.daib-hero-centered.daib-hero-align-right .et_pb_column,
.daib-hero-simple.daib-hero-align-right .et_pb_column { text-align: right; }
.daib-hero-centered.daib-hero-align-center .et_pb_column,
.daib-hero-simple.daib-hero-align-center .et_pb_column { text-align: center; }

.et_pb_section.daib-hero.daib-overlay-0::before { background: transparent; }
.et_pb_section.daib-hero.daib-overlay-5::before { background: rgb(7 23 41 / 5%); }
.et_pb_section.daib-hero.daib-overlay-10::before { background: rgb(7 23 41 / 10%); }
.et_pb_section.daib-hero.daib-overlay-15::before { background: rgb(7 23 41 / 15%); }
.et_pb_section.daib-hero.daib-overlay-20::before { background: rgb(7 23 41 / 20%); }
.et_pb_section.daib-hero.daib-overlay-25::before { background: rgb(7 23 41 / 25%); }
.et_pb_section.daib-hero.daib-overlay-30::before { background: rgb(7 23 41 / 30%); }
.et_pb_section.daib-hero.daib-overlay-35::before { background: rgb(7 23 41 / 35%); }
.et_pb_section.daib-hero.daib-overlay-40::before { background: rgb(7 23 41 / 40%); }
.et_pb_section.daib-hero.daib-overlay-45::before { background: rgb(7 23 41 / 45%); }
.et_pb_section.daib-hero.daib-overlay-50::before { background: rgb(7 23 41 / 50%); }
.et_pb_section.daib-hero.daib-overlay-55::before { background: rgb(7 23 41 / 55%); }
.et_pb_section.daib-hero.daib-overlay-60::before { background: rgb(7 23 41 / 60%); }

.daib-hero-copy h1 {
    font-size: clamp(38px, 5vw, 60px) !important;
    line-height: 1.07em !important;
    letter-spacing: -0.025em;
    margin-bottom: 0;
}

.daib-hero-copy-dark h1,
.daib-hero-copy-dark p {
    color: #263b52 !important;
}

.daib-hero-subheadline {
    max-width: 820px;
    margin: 18px auto 0;
    font-size: clamp(17px, 1.8vw, 20px);
    line-height: 1.65em;
}

.daib-hero-split-row,
.daib-split-row {
    display: flex;
    align-items: center;
    gap: 4%;
}

.daib-hero-split-copy .daib-hero-subheadline {
    margin-left: 0;
    margin-right: 0;
}

.daib-hero-split-media,
.daib-split-media {
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 22px 60px rgb(22 48 76 / 14%);
}

.daib-hero-split-media .et_pb_image_wrap,
.daib-split-media .et_pb_image_wrap {
    display: block;
    width: 100%;
}

.daib-hero-split-media img,
.daib-split-media img {
    display: block;
    width: 100%;
    min-height: 430px;
    object-fit: cover;
}

.daib-split-media img {
    min-height: 390px;
}

.daib-hero-split-media.daib-focus-left img { object-position: left center; }
.daib-hero-split-media.daib-focus-right img { object-position: right center; }

.daib-button-pair {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 27px;
}

.daib-hero-split-copy .daib-button-pair {
    justify-content: flex-start;
}

.daib-action-button,
.daib-inline-cta,
.daib-form-submit,
.daib-footer-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 11px 20px;
    border-radius: 8px;
    font-weight: 700;
    line-height: 1.2;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.daib-action-primary,
.daib-inline-cta {
    background: var(--daib-accent, #f59e0b);
    color: #fff !important;
    box-shadow: 0 10px 24px rgb(0 0 0 / 12%);
}

.daib-action-secondary {
    border: 1px solid var(--daib-secondary, #263b52);
    color: var(--daib-secondary, #263b52) !important;
    background: transparent;
}

.daib-action-secondary-light {
    --daib-secondary: #fff;
}

.daib-action-button:hover,
.daib-inline-cta:hover,
.daib-form-submit:hover,
.daib-footer-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 13px 28px rgb(0 0 0 / 15%);
}

/* ---------- Typography & generic sections ---------- */
.daib-copy h2,
.daib-section-heading h2,
.daib-cta-copy h2 {
    font-size: clamp(30px, 3.2vw, 42px);
    line-height: 1.17em;
    letter-spacing: -0.018em;
    margin-bottom: 16px;
}

.daib-copy h3,
.daib-card-module .et_pb_module_header,
.daib-feature-item h3,
.daib-process-card h3,
.daib-pricing-card h3,
.daib-faq-card h3 {
    font-size: 20px;
    line-height: 1.35em;
    margin-bottom: 9px;
}

.daib-copy p,
.daib-section-heading p,
.daib-card-module p,
.daib-feature-item p,
.daib-process-card p,
.daib-pricing-card p,
.daib-faq-card p,
.daib-cta-copy p,
.daib-comparison-row {
    font-size: 16.5px;
    line-height: 1.72em;
}

.daib-section-heading {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.daib-section-heading + * {
    margin-top: 24px;
}


/* ---------- Alignment polish ---------- */
.daib-card-row,
.daib-feature-row,
.daib-process-row,
.daib-pricing-row,
.daib-testimonial-row,
.daib-trust-row,
.daib-stats-row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.daib-card-row > .et_pb_column,
.daib-feature-row > .et_pb_column,
.daib-process-row > .et_pb_column,
.daib-pricing-row > .et_pb_column,
.daib-testimonial-row > .et_pb_column,
.daib-trust-row > .et_pb_column,
.daib-stats-row > .et_pb_column {
    display: flex;
    flex-direction: column;
}

.daib-card-row > .et_pb_column > .et_pb_module,
.daib-feature-row > .et_pb_column > .et_pb_module,
.daib-process-row > .et_pb_column > .et_pb_module,
.daib-pricing-row > .et_pb_column > .et_pb_module,
.daib-testimonial-row > .et_pb_column > .et_pb_module,
.daib-trust-row > .et_pb_column > .et_pb_module,
.daib-stats-row > .et_pb_column > .et_pb_module {
    width: 100%;
}

.daib-card-module .et_pb_blurb_content,
.daib-trust-blurb .et_pb_blurb_content,
.daib-feature-item,
.daib-process-card,
.daib-pricing-card,
.daib-testimonial-card,
.daib-stat {
    height: 100%;
}

.daib-card-module .et_pb_blurb_content,
.daib-trust-blurb .et_pb_blurb_content {
    display: flex;
    flex-direction: column;
}

.daib-card-module .et_pb_module_header,
.daib-trust-blurb .et_pb_module_header {
    min-height: 2.6em;
}

.daib-feature-item {
    box-sizing: border-box;
    justify-content: flex-start;
}

.daib-comparison-row {
    align-items: start;
}

.daib-hero-panel,
.daib-copy,
.daib-section-heading,
.daib-cta-copy,
.daib-contact-form-wrap,
.daib-comparison-table {
    position: relative;
    z-index: 1;
}

.daib-split-row > .et_pb_column,
.daib-hero-split-row > .et_pb_column {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.daib-split-copy .daib-copy,
.daib-hero-split-copy .daib-hero-copy {
    max-width: 560px;
}

.daib-hero-centered .daib-hero-copy,
.daib-hero-centered .daib-hero-copy h1,
.daib-hero-centered .daib-hero-copy h2,
.daib-hero-centered .daib-hero-copy h3,
.daib-hero-centered .daib-hero-copy p {
    margin-left: auto;
    margin-right: auto;
}

.daib-split-copy .daib-copy p:last-child,
.daib-hero-copy p:last-child,
.daib-cta-copy p:last-child,
.daib-process-card p:last-child,
.daib-pricing-card p:last-child,
.daib-testimonial-card p:last-child,
.daib-card-module p:last-child,
.daib-trust-blurb p:last-child {
    margin-bottom: 0;
}

.daib-card-row,
.daib-feature-row,
.daib-process-row,
.daib-pricing-row,
.daib-faq-grid {
    margin-top: 24px;
}

/* ---------- Cards ---------- */
.daib-card-module,
.daib-process-card,
.daib-pricing-card,
.daib-faq-card {
    height: 100%;
    border: 1px solid rgb(20 48 77 / 9%);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 30px rgb(21 44 71 / 7%);
    transition: transform .18s ease, box-shadow .18s ease;
}

.daib-blurb-icon .et_pb_blurb_content {
    position: relative;
    padding-top: 62px;
}

.daib-blurb-icon .et_pb_blurb_content::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 10px;
    z-index: 2;
    width: 24px;
    height: 24px;
    background: var(--daib-site-primary, #17365D);
    -webkit-mask: var(--daib-icon-mask) center / contain no-repeat;
    mask: var(--daib-icon-mask) center / contain no-repeat;
}

.daib-blurb-icon .et_pb_blurb_content::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(245, 158, 11, .14);
}

.daib-icon-mail { --daib-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3V5zm2 2v.4l7 5.1 7-5.1V7H5zm14 10V9.9l-7 5.1-7-5.1V17h14z'/%3E%3C/svg%3E"); }
.daib-icon-shield { --daib-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5.1 3.4 9.8 8 11 4.6-1.2 8-5.9 8-11V5l-8-3zm0 2.2L18 6.5V11c0 4-2.5 7.8-6 8.9C8.5 18.8 6 15 6 11V6.5l6-2.3zm-1.1 10.6-3-3 1.4-1.4 1.6 1.6 3.8-3.8 1.4 1.4-5.2 5.2z'/%3E%3C/svg%3E"); }
.daib-icon-globe { --daib-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm6.9 6h-3.1a15 15 0 0 0-1.3-3 8.1 8.1 0 0 1 4.4 3zM12 4c.9 1.1 1.6 2.4 1.9 4h-3.8c.3-1.6 1-2.9 1.9-4zM4.3 14a8 8 0 0 1 0-4h3.5a16 16 0 0 0 0 4H4.3zm.8 2h3.1c.3 1.1.8 2.1 1.3 3a8.1 8.1 0 0 1-4.4-3zM8.2 8H5.1a8.1 8.1 0 0 1 4.4-3 15 15 0 0 0-1.3 3zM12 20c-.9-1.1-1.6-2.4-1.9-4h3.8c-.3 1.6-1 2.9-1.9 4zm2.3-6H9.7a14 14 0 0 1 0-4h4.6a14 14 0 0 1 0 4zm.2 5c.5-.9 1-1.9 1.3-3h3.1a8.1 8.1 0 0 1-4.4 3zm1.7-5a16 16 0 0 0 0-4h3.5a8 8 0 0 1 0 4h-3.5z'/%3E%3C/svg%3E"); }
.daib-icon-device { --daib-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h13v10H4V4zm2 2v6h9V6H6zm12 2h3v12h-7v-5h2v3h3v-8h-1V8zM2 16h11v2H2v-2z'/%3E%3C/svg%3E"); }
.daib-icon-settings { --daib-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.4 13a7.8 7.8 0 0 0 0-2l2-1.6-2-3.4-2.4 1a8 8 0 0 0-1.7-1l-.3-2.6h-4L10.7 6a8 8 0 0 0-1.7 1L6.6 6 4.6 9.4l2 1.6a7.8 7.8 0 0 0 0 2l-2 1.6 2 3.4 2.4-1a8 8 0 0 0 1.7 1l.3 2.6h4l.3-2.6a8 8 0 0 0 1.7-1l2.4 1 2-3.4-2-1.6zM13 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z'/%3E%3C/svg%3E"); }
.daib-icon-support { --daib-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a8 8 0 0 0-8 8v6a3 3 0 0 0 3 3h2v-7H6v-2a6 6 0 0 1 12 0v2h-3v7h3a3 3 0 0 0 3-3v-6a9 9 0 0 0-9-8zm-5 12h0v3H7a1 1 0 0 1-1-1v-2h1zm11 3h-1v-3h2v2a1 1 0 0 1-1 1z'/%3E%3C/svg%3E"); }

.daib-card-module:hover,
.daib-process-card:hover,
.daib-pricing-card:hover,
.daib-faq-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 38px rgb(21 44 71 / 11%);
}

.daib-process-card,
.daib-pricing-card,
.daib-faq-card {
    padding: 30px;
}

.daib-feature-item {
    display: flex;
    gap: 17px;
    align-items: flex-start;
    padding: 24px 26px;
    border-bottom: 1px solid rgb(20 48 77 / 8%);
}

.daib-feature-check {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--daib-accent, #f59e0b) 14%, white);
    color: var(--daib-accent, #f59e0b);
    font-weight: 800;
}

.daib-feature-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 26px 0 0 !important;
}

.daib-feature-list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 18px;
}

.daib-feature-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 800;
    color: var(--daib-site-primary, #0f69c7);
}

.daib-feature-list strong,
.daib-feature-list span {
    display: block;
}

.daib-feature-list span {
    margin-top: 4px;
    color: #627083;
}

/* ---------- Process, stats, pricing, comparison ---------- */
.daib-step-number {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: 50%;
    background: var(--daib-accent, #f59e0b);
    color: #fff;
    font-size: 17px;
    font-weight: 800;
}

.daib-light-copy p {
    opacity: .9;
}

.daib-stat strong,
.daib-stat span {
    display: block;
}

.daib-stat strong {
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.1;
    margin-bottom: 9px;
}

.daib-stat span {
    opacity: .86;
    font-size: 14px;
    line-height: 1.5;
}

.daib-pricing-card .daib-inline-cta {
    margin-top: 14px;
}

.daib-pricing-informational .daib-pricing-card {
    border-top: 3px solid rgb(245 158 11 / 65%);
}

.daib-pricing-cta-row {
    margin-top: 16px;
    text-align: center;
}

.et_pb_button_module_wrapper.daib-pricing-main-cta {
    text-align: center;
}

.daib-comparison-table {
    overflow: hidden;
    border: 1px solid rgb(20 48 77 / 10%);
    border-radius: 14px;
    background: #fff;
}

.daib-comparison-row {
    display: grid;
    grid-template-columns: minmax(180px, 32%) 1fr;
    gap: 30px;
    padding: 20px 24px;
    border-bottom: 1px solid rgb(20 48 77 / 8%);
}

.daib-comparison-row:last-child {
    border-bottom: 0;
}

.daib-comparison-row strong {
    color: #203b5b;
}

/* ---------- FAQ ---------- */
.daib-accordion .et_pb_toggle {
    border-radius: 10px;
    border-color: rgb(20 48 77 / 10%);
    margin-bottom: 12px;
}

/* ---------- CTA ---------- */
.daib-cta-copy {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.daib-cta-copy p {
    font-size: 18px;
    opacity: .92;
}

/* ---------- Contact form ---------- */
.daib-contact-form-wrap {
    padding: 34px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgb(20 48 77 / 9%);
    box-shadow: 0 14px 38px rgb(21 44 71 / 8%);
}

.daib-form-grid-front {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.daib-form-grid-front label {
    display: block;
}

.daib-form-grid-front label > span {
    display: block;
    margin-bottom: 7px;
    color: #31445b;
    font-size: 14px;
    font-weight: 700;
}

.daib-form-grid-front em {
    color: #b42318;
    font-style: normal;
}

.daib-form-grid-front input,
.daib-form-grid-front textarea {
    width: 100%;
    border: 1px solid #d7dee7;
    border-radius: 8px;
    background: #fff;
    padding: 12px 13px;
    font: inherit;
    color: #24364b;
    outline: none;
}

.daib-form-grid-front input:focus,
.daib-form-grid-front textarea:focus {
    border-color: #7aa9d8;
    box-shadow: 0 0 0 3px rgb(52 126 199 / 10%);
}

.daib-form-full {
    grid-column: 1 / -1;
}

.daib-honeypot {
    position: absolute !important;
    left: -99999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.daib-form-privacy {
    margin: 15px 0;
    color: #6d7887;
    font-size: 13px;
}

.daib-form-submit {
    border: 0;
    background: var(--daib-site-primary, #17365d);
    color: #fff;
    cursor: pointer;
}

.daib-form-notice {
    margin-bottom: 20px;
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 14px;
}

.daib-form-notice.success {
    background: #edf8f0;
    color: #176b31;
}

.daib-form-notice.error {
    background: #fff0ee;
    color: #9d2720;
}

/* ---------- Generated global footer ---------- */
.daib-has-custom-footer #main-footer,
.daib-has-custom-footer .et-l--footer {
    display: none !important;
}

.daib-global-footer {
    position: relative;
    z-index: 2;
    background: #171c24;
    color: #c6d0db;
    padding: 58px 0 24px;
}

.daib-footer-grid {
    width: min(90%, 1240px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 46px;
}

.daib-global-footer h2,
.daib-global-footer h3 {
    color: #fff;
}

.daib-global-footer h2 {
    font-size: 25px;
    margin-bottom: 12px;
}

.daib-global-footer h3 {
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 14px;
}

.daib-global-footer p,
.daib-global-footer li,
.daib-global-footer a {
    font-size: 14px;
    line-height: 1.7;
}

.daib-global-footer a {
    color: #dbe4ee;
}

.daib-global-footer a:hover {
    color: #fff;
}

.daib-global-footer ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.daib-global-footer li {
    margin-bottom: 6px;
}

.daib-footer-brand-column p {
    max-width: 430px;
    margin-bottom: 20px;
}

.daib-footer-primary {
    background: var(--daib-site-accent, #f59e0b);
    color: #fff !important;
    min-height: 40px;
    padding: 9px 16px;
}

.daib-footer-bottom {
    width: min(90%, 1240px);
    margin: 38px auto 0;
    padding-top: 20px;
    border-top: 1px solid rgb(255 255 255 / 10%);
    color: #8f9bab;
    font-size: 13px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
    .daib-header-inner {
        gap: 18px;
    }

    .daib-nav-list {
        gap: 18px;
    }

    .daib-nav-list a {
        font-size: 14px;
    }
}


@media (max-width: 980px) {
    .daib-card-row,
    .daib-feature-row,
    .daib-process-row,
    .daib-pricing-row,
    .daib-testimonial-row,
    .daib-trust-row,
    .daib-stats-row {
        display: block;
    }

    .daib-card-row > .et_pb_column,
    .daib-feature-row > .et_pb_column,
    .daib-process-row > .et_pb_column,
    .daib-pricing-row > .et_pb_column,
    .daib-testimonial-row > .et_pb_column,
    .daib-trust-row > .et_pb_column,
    .daib-stats-row > .et_pb_column {
        display: block;
    }
}

@media (max-width: 980px) {
    .daib-header-inner {
        min-height: 68px;
        position: relative;
    }

    .daib-site-brand {
        flex: 1 1 auto;
    }

    .daib-nav-toggle {
        display: block;
        order: 2;
    }

    .daib-header-cta {
        order: 1;
    }

    .daib-primary-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #fff;
        border-top: 1px solid #edf1f5;
        box-shadow: 0 16px 28px rgb(21 44 71 / 12%);
    }

    .daib-nav-open .daib-primary-nav {
        display: block;
    }

    .daib-nav-list {
        display: block;
        width: min(90%, 1240px);
        margin: 0 auto !important;
        padding: 12px 0 18px !important;
    }

    .daib-nav-list a {
        padding: 11px 0;
    }

    .daib-hero-split-row,
    .daib-split-row {
        display: block;
    }

    .daib-hero-split-row .et_pb_column,
    .daib-split-row .et_pb_column {
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 28px;
    }

    .daib-hero-split-copy .daib-button-pair {
        justify-content: center;
    }

    .daib-hero-split-copy .daib-hero-copy {
        text-align: center;
    }

    .daib-hero-split-copy .daib-hero-subheadline {
        margin-left: auto;
        margin-right: auto;
    }

    .daib-footer-grid {
        grid-template-columns: 2fr 1fr 1fr;
    }

    .daib-footer-grid > div:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .et_pb_section.daib-hero-centered .daib-hero-panel {
        width: 100% !important;
        padding: 22px 20px 24px !important;
        border-radius: 14px;
    }

    .et_pb_section.daib-section {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }

    .et_pb_section.daib-hero-centered {
        padding-top: 64px !important;
        padding-bottom: 64px !important;
    }

    .daib-header-cta {
        display: none;
    }

    .daib-hero-split-media img,
    .daib-split-media img {
        min-height: 300px;
    }

    .daib-button-pair {
        flex-direction: column;
        align-items: stretch;
    }

    .daib-action-button {
        width: 100%;
    }

    .daib-comparison-row {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .daib-form-grid-front {
        grid-template-columns: 1fr;
    }

    .daib-form-full {
        grid-column: auto;
    }

    .daib-contact-form-wrap {
        padding: 24px 20px;
    }

    .daib-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .daib-footer-brand-column {
        grid-column: 1 / -1;
    }
}

@media (max-width: 520px) {
    .daib-footer-grid {
        grid-template-columns: 1fr;
    }

    .daib-footer-grid > div,
    .daib-footer-grid > div:last-child,
    .daib-footer-brand-column {
        grid-column: auto;
    }
}

/* ---------- Testimonials & trust bands ---------- */
.daib-testimonial-row {
    margin-top: 24px;
}

.daib-testimonial-card {
    height: 100%;
    padding: 30px;
    border: 1px solid rgb(20 48 77 / 9%);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 30px rgb(21 44 71 / 7%);
}

.daib-quote-mark {
    display: block;
    height: 34px;
    color: var(--daib-accent, #f59e0b);
    font-family: Georgia, serif;
    font-size: 48px;
    line-height: .9;
}

.daib-quote-text {
    margin: 12px 0 16px;
    font-size: 16.5px;
    line-height: 1.72;
}

.daib-testimonial-card strong {
    color: #31445b;
    font-size: 14px;
}

.daib-trust-heading h3 {
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 0;
}

.daib-trust-row {
    margin-top: 10px;
}


/* Four-item trust/contact bands should feel intentionally designed rather than
 * like four tiny blurbs floating in a wide row. The renderer emits one real
 * four-column Divi row in v1.0.3+, and these rules give those columns a subtle,
 * equal-height visual container while retaining normal Divi editability. */
.daib-trust-row-4 {
    margin-top: 18px;
}

.daib-trust-row-4 > .et_pb_column {
    display: flex;
}

.daib-trust-row-4 .daib-trust-blurb {
    width: 100%;
    min-height: 156px;
    padding: 18px 14px 16px;
    border: 1px solid rgb(var(--daib-site-primary-rgb, 23,54,93) / 7%);
    border-radius: 15px;
    background: rgb(255 255 255 / 58%);
    box-shadow: 0 8px 24px rgb(20 44 70 / 4%);
}

.daib-trust-row-4 .daib-trust-blurb .et_pb_blurb_content {
    max-width: none;
    padding-top: 52px;
}

.daib-trust-row-4 .daib-trust-blurb .et_pb_module_header {
    min-height: 0;
    margin-bottom: 8px;
}

.daib-trust-row-4 .daib-trust-blurb p {
    max-width: 230px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 980px) {
    .daib-trust-row-4 .daib-trust-blurb {
        min-height: 0;
        margin-bottom: 18px;
    }
}

.daib-trust-blurb .et_pb_blurb_content {
    max-width: 310px;
    margin: 0 auto;
    text-align: center;
    padding-top: 54px;
    justify-content: flex-start;
}

.daib-trust-blurb.daib-blurb-icon .et_pb_blurb_content::before {
    left: 50%;
    top: 7px;
    transform: translateX(-50%);
    width: 22px;
    height: 22px;
}

.daib-trust-blurb.daib-blurb-icon .et_pb_blurb_content::after {
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 40px;
    border-radius: 10px;
}

.daib-trust-blurb .et_pb_module_header {
    font-size: 16px !important;
    line-height: 1.3em !important;
    margin-bottom: 7px;
}

.daib-trust-blurb p {
    color: #667487;
    font-size: 14px;
    line-height: 1.55em;
}

.daib-trust-item strong,
.daib-trust-item span {
    display: block;
}

.daib-trust-item strong {
    color: #294664;
    font-size: 16px;
}

.daib-trust-item span {
    margin-top: 4px;
    color: #6a7787;
    font-size: 13px;
    line-height: 1.45;
}


/* ---------- v0.4.1 Divi 5 text compatibility ----------
 * Generated text now lives inside Divi Code modules. These rules reproduce the
 * alignment/color behavior that was previously carried by Text-module attributes.
 */
.daib-hero-copy,
.daib-section-heading,
.daib-cta-copy,
.daib-stat,
.daib-trust-heading,
.daib-trust-item {
    position: relative;
    z-index: 1;
}

.daib-hero-simple .daib-hero-copy,
.daib-hero-centered .daib-hero-copy,
.daib-section-heading,
.daib-cta-copy,
.daib-stat,
.daib-trust-heading,
.daib-trust-item {
    text-align: center;
}

.daib-hero-split-copy .daib-hero-copy,
.daib-split-copy .daib-copy {
    text-align: left;
}

.daib-hero-centered .daib-hero-copy,
.daib-hero-centered .daib-hero-copy h1,
.daib-hero-centered .daib-hero-copy h2,
.daib-hero-centered .daib-hero-copy h3,
.daib-hero-centered .daib-hero-copy p,
.daib-light-copy,
.daib-light-copy *,
.daib-cta-copy,
.daib-cta-copy *,
.daib-stat,
.daib-stat * {
    color: #fff !important;
}

.daib-hero-copy-dark,
.daib-hero-copy-dark h1,
.daib-hero-copy-dark h2,
.daib-hero-copy-dark h3,
.daib-hero-copy-dark p {
    color: #263b52 !important;
}

/* A Code module adds an .et_pb_code_inner wrapper. Keep icon/check feature rows
 * visually identical to the previous Text-module implementation. */
.daib-feature-item {
    display: block;
    padding: 0;
}

.daib-feature-item .et_pb_code_inner {
    display: flex;
    gap: 17px;
    align-items: flex-start;
    padding: 24px 26px;
    border-bottom: 1px solid rgb(20 48 77 / 8%);
}

/* Prevent Divi's Code-module defaults from introducing unexpected text spacing. */
.daib-hero-copy .et_pb_code_inner > :first-child,
.daib-copy .et_pb_code_inner > :first-child,
.daib-section-heading .et_pb_code_inner > :first-child,
.daib-cta-copy .et_pb_code_inner > :first-child,
.daib-process-card .et_pb_code_inner > :first-child,
.daib-pricing-card .et_pb_code_inner > :first-child,
.daib-faq-card .et_pb_code_inner > :first-child {
    margin-top: 0;
}

.daib-hero-copy .et_pb_code_inner > :last-child,
.daib-copy .et_pb_code_inner > :last-child,
.daib-section-heading .et_pb_code_inner > :last-child,
.daib-cta-copy .et_pb_code_inner > :last-child,
.daib-process-card .et_pb_code_inner > :last-child,
.daib-pricing-card .et_pb_code_inner > :last-child,
.daib-faq-card .et_pb_code_inner > :last-child {
    margin-bottom: 0;
}

/* ---------- Native Divi buttons generated by v0.4.3 ---------- */
.et_pb_button_module_wrapper.daib-hero-action,
.et_pb_button_module_wrapper.daib-cta-action {
    display: inline-block;
    margin-top: 27px !important;
    margin-right: 10px !important;
    margin-bottom: 0 !important;
}

.et_pb_button_module_wrapper.daib-hero-action:last-of-type,
.et_pb_button_module_wrapper.daib-cta-action:last-of-type {
    margin-right: 0 !important;
}

.daib-hero-simple .et_pb_column,
.daib-hero-centered .et_pb_column,
.daib-cta .et_pb_column {
    text-align: center;
}

.daib-hero-split-copy.et_pb_column {
    text-align: left;
}
.daib-hero-split.daib-hero-align-center .daib-hero-split-copy.et_pb_column { text-align: center; }
.daib-hero-split.daib-hero-align-right .daib-hero-split-copy.et_pb_column { text-align: right; }

.et_pb_button.daib-hero-action-primary,
.et_pb_button.daib-cta-action-primary,
.et_pb_button.daib-hero-action-secondary,
.et_pb_button.daib-cta-action-secondary {
    font-weight: 700 !important;
    line-height: 1.2 !important;
    padding: 11px 20px !important;
    box-shadow: 0 10px 24px rgb(0 0 0 / 12%);
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.et_pb_button.daib-hero-action-primary:hover,
.et_pb_button.daib-cta-action-primary:hover,
.et_pb_button.daib-hero-action-secondary:hover,
.et_pb_button.daib-cta-action-secondary:hover {
    transform: translateY(-1px);
    padding: 11px 20px !important;
}


/* ---------- Divi Theme Builder saved layouts ---------- */
.daib-tb-header {
    border-bottom: 1px solid rgb(20 48 77 / 8%);
    box-shadow: 0 8px 24px rgb(21 44 71 / 5%);
}
.daib-tb-header-row { display: flex; align-items: center; }
.daib-tb-brand h3 { margin: 0; font-size: 24px; font-weight: 750; }
.daib-tb-brand a { color: var(--daib-site-primary, #17365D); }
.daib-tb-brand-logo {
    margin-bottom: 0 !important;
    display: flex;
    align-items: center;
    min-height: 44px;
}
.daib-tb-brand-logo .et_pb_image_wrap {
    display: inline-flex;
    align-items: center;
}
.daib-tb-brand-logo img,
.daib-tb-footer-brand img {
    display: block;
    max-height: 52px;
    max-width: 220px;
    width: auto;
    height: auto;
    object-fit: contain;
}
.daib-tb-logo { margin: 0; }
.daib-tb-logo a { display: inline-flex; align-items: center; }
.daib-tb-menu .et_pb_menu__menu { justify-content: center; }
.daib-tb-menu .et-menu > li { padding-left: 11px; padding-right: 11px; }
.daib-tb-header-button { text-align: right; }
.daib-tb-footer a { color: #d6dde6; }
.daib-tb-footer a:hover { color: #fff; }
.daib-tb-footer h2, .daib-tb-footer h3 { color: #fff; }
.daib-tb-footer ul { list-style: none; padding-left: 0; }
.daib-tb-footer li { margin-bottom: 8px; }
.daib-tb-footer-copy { border-top: 1px solid rgb(255 255 255 / 10%); padding-top: 20px; }
@media (max-width: 980px) {
    .daib-tb-header-row { display: block; }
    .daib-tb-header-button { text-align: left; margin-top: 10px; }
}

/* ==========================================================
   v0.7 Professional Design System
   ---------------------------------------------------------- */
.daib-generated-site .et_pb_section.daib-section {
    isolation: isolate;
}

.daib-generated-site .et_pb_section.daib-section > .et_pb_row {
    position: relative;
    z-index: 2;
}

.daib-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 13px;
    color: var(--daib-site-primary, #17365d);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.daib-eyebrow::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 999px;
    background: var(--daib-site-accent, #f59e0b);
}

.daib-eyebrow-light {
    color: rgb(255 255 255 / 82%);
}

.daib-eyebrow-hero {
    margin-bottom: 16px;
}

.daib-hero-centered .daib-eyebrow-hero {
    color: #fff;
}

.daib-hero-centered .daib-eyebrow-hero::before {
    background: var(--daib-site-accent, #f59e0b);
}

.daib-heading-row-left .daib-section-heading,
.daib-section-heading-left {
    max-width: 780px;
    margin-left: 0;
    margin-right: auto;
}

.daib-heading-row-center .daib-section-heading,
.daib-section-heading-center {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}

/* Density presets */
body.daib-density-airy .et_pb_section.daib-section:not(.daib-hero):not(.daib-cta):not(.daib-stats-section):not(.daib-trust-section) {
    padding-top: 92px !important;
    padding-bottom: 92px !important;
}

body.daib-density-balanced .et_pb_section.daib-section:not(.daib-hero):not(.daib-cta):not(.daib-stats-section):not(.daib-trust-section) {
    padding-top: 76px !important;
    padding-bottom: 76px !important;
}

body.daib-density-compact .et_pb_section.daib-section:not(.daib-hero):not(.daib-cta):not(.daib-stats-section):not(.daib-trust-section) {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
}

/* Section visual treatments */
.daib-vstyle-soft {
    background: linear-gradient(135deg, #f8fbff 0%, #f3f7fb 52%, #f8fafc 100%) !important;
}

.daib-vstyle-accent {
    background: linear-gradient(135deg, rgb(var(--daib-site-accent-rgb, 245,158,11) / 8%) 0%, rgb(var(--daib-site-primary-rgb, 23,54,93) / 5%) 100%) !important;
}

.daib-vstyle-editorial {
    background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%) !important;
}

.daib-vstyle-elevated {
    background: linear-gradient(180deg, #f8fafc 0%, #f4f7fb 100%) !important;
}

.daib-vstyle-dark {
    color: #fff;
}

.daib-polish-premium.daib-vstyle-soft::after,
.daib-polish-premium.daib-vstyle-accent::after,
.daib-polish-premium.daib-vstyle-elevated::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: 340px;
    height: 340px;
    right: -150px;
    top: -170px;
    border-radius: 50%;
    background: radial-gradient(circle, rgb(var(--daib-site-accent-rgb, 245,158,11) / 11%) 0%, transparent 68%);
    pointer-events: none;
}

.daib-polish-premium.daib-vstyle-editorial::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: max(3%, calc((100% - 1280px)/2));
    top: 15%;
    bottom: 15%;
    width: 3px;
    border-radius: 99px;
    background: linear-gradient(to bottom, transparent, var(--daib-site-accent, #f59e0b), transparent);
    opacity: .5;
}

/* Premium hero treatments */
.daib-hero-treatment-panel.daib-hero-simple {
    background:
        radial-gradient(circle at 12% 20%, rgb(var(--daib-site-accent-rgb, 245,158,11) / 11%), transparent 30%),
        radial-gradient(circle at 88% 70%, rgb(var(--daib-site-primary-rgb, 23,54,93) / 8%), transparent 32%),
        linear-gradient(135deg, #f8fbff, #f1f6fb) !important;
}

.daib-hero-treatment-panel.daib-hero-simple > .et_pb_row {
    max-width: 980px !important;
    padding: 50px 54px !important;
    border: 1px solid rgb(var(--daib-site-primary-rgb, 23,54,93) / 9%);
    border-radius: 24px;
    background: rgb(255 255 255 / 76%);
    box-shadow: 0 24px 70px rgb(24 45 70 / 8%);
    backdrop-filter: blur(8px);
}

.daib-hero-treatment-editorial.daib-hero-split .daib-hero-split-row {
    gap: 6%;
}

.daib-hero-treatment-editorial .daib-hero-split-media {
    overflow: visible;
    position: relative;
    box-shadow: none;
}

.daib-hero-treatment-editorial .daib-hero-split-media::before {
    content: "";
    position: absolute;
    inset: 22px -20px -20px 22px;
    z-index: 0;
    border-radius: 24px;
    background: linear-gradient(135deg, rgb(var(--daib-site-accent-rgb, 245,158,11) / 24%), rgb(var(--daib-site-primary-rgb, 23,54,93) / 11%));
}

.daib-hero-treatment-editorial .daib-hero-split-media .et_pb_image_wrap {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 26px 70px rgb(22 48 76 / 17%);
}

.daib-hero-treatment-immersive.daib-hero-centered .daib-hero-panel {
    padding: 38px 44px 40px !important;
    border: 1px solid rgb(255 255 255 / 16%);
    background: linear-gradient(135deg, rgb(6 18 33 / 52%), rgb(11 29 49 / 32%));
    box-shadow: 0 26px 70px rgb(0 0 0 / 18%);
    backdrop-filter: blur(5px);
}

/* Editorial split sections */
.daib-polish-premium .daib-split-media {
    position: relative;
    overflow: visible;
    box-shadow: none;
}

.daib-polish-premium .daib-split-media::before {
    content: "";
    position: absolute;
    inset: 18px -16px -16px 18px;
    z-index: 0;
    border-radius: 24px;
    background: linear-gradient(135deg, rgb(var(--daib-site-primary-rgb, 23,54,93) / 10%), rgb(var(--daib-site-accent-rgb, 245,158,11) / 18%));
}

.daib-polish-premium .daib-split-media .et_pb_image_wrap {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: 0 24px 60px rgb(20 45 72 / 14%);
}

.daib-vstyle-editorial .daib-split-copy {
    padding: 16px 3% !important;
}

/* Premium cards */
body.daib-polish-premium .daib-card-module,
body.daib-polish-premium .daib-process-card,
body.daib-polish-premium .daib-pricing-card,
body.daib-polish-premium .daib-faq-card,
body.daib-polish-premium .daib-testimonial-card {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    border-color: rgb(var(--daib-site-primary-rgb, 23,54,93) / 8%);
    box-shadow: 0 14px 36px rgb(20 44 70 / 8%);
}

body.daib-polish-premium .daib-card-module::after,
body.daib-polish-premium .daib-process-card::after,
body.daib-polish-premium .daib-pricing-card::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--daib-site-accent, #f59e0b), rgb(var(--daib-site-primary-rgb, 23,54,93) / 70%));
}

body.daib-polish-premium .daib-card-module:hover,
body.daib-polish-premium .daib-process-card:hover,
body.daib-polish-premium .daib-pricing-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 48px rgb(20 44 70 / 13%);
}

body.daib-polish-premium .daib-blurb-icon .et_pb_blurb_content::after {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    box-shadow: inset 0 0 0 1px rgb(var(--daib-site-accent-rgb, 245,158,11) / 14%);
}

body.daib-polish-premium .daib-blurb-icon .et_pb_blurb_content::before {
    top: 10px;
    left: 12px;
}

/* Trust-band icons stay centered inside their accent tiles. The generic premium
 * blurb rule above intentionally left-aligns card icons, so trust blurbs need a
 * higher-specificity override. */
body.daib-polish-premium .daib-trust-blurb.daib-blurb-icon .et_pb_blurb_content::before {
    top: 9px;
    left: 50%;
    transform: translateX(-50%);
}

body.daib-polish-premium .daib-trust-blurb.daib-blurb-icon .et_pb_blurb_content::after {
    left: 50%;
    transform: translateX(-50%);
}

.daib-trust-row-4 .daib-trust-blurb .et_pb_blurb_content {
    max-width: 245px;
}

/* Process connector */
@media (min-width: 981px) {
    body.daib-polish-premium .daib-process-row {
        position: relative;
    }
    body.daib-polish-premium .daib-process-row:has(> .et_pb_column:nth-child(3))::before {
        content: "";
        position: absolute;
        z-index: 0;
        left: 15%;
        right: 15%;
        top: 50px;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgb(var(--daib-site-primary-rgb, 23,54,93) / 18%), transparent);
    }
    body.daib-polish-premium .daib-process-row > .et_pb_column {
        position: relative;
        z-index: 1;
    }
}

/* Comparison tables */
body.daib-polish-premium .daib-comparison-table {
    border-radius: 18px;
    box-shadow: 0 16px 42px rgb(20 44 70 / 7%);
}

body.daib-polish-premium .daib-comparison-row:nth-child(even) {
    background: rgb(var(--daib-site-primary-rgb, 23,54,93) / 2.5%);
}

body.daib-polish-premium .daib-comparison-row strong {
    position: relative;
    padding-left: 18px;
}

body.daib-polish-premium .daib-comparison-row strong::before {
    content: "";
    position: absolute;
    left: 0;
    top: .62em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--daib-site-accent, #f59e0b);
}

/* FAQ */
body.daib-polish-premium .daib-accordion .et_pb_toggle {
    padding: 22px 24px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgb(20 44 70 / 5%);
}

body.daib-polish-premium .daib-accordion .et_pb_toggle_open {
    border-color: rgb(var(--daib-site-accent-rgb, 245,158,11) / 38%);
}

/* CTA becomes a designed focal point */
.daib-cta {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 25%, rgb(var(--daib-site-accent-rgb, 245,158,11) / 22%), transparent 26%),
        radial-gradient(circle at 86% 74%, rgb(255 255 255 / 7%), transparent 30%),
        linear-gradient(135deg, var(--daib-site-primary, #17365d), #0c2745) !important;
}

.daib-cta::before,
.daib-cta::after {
    content: "";
    position: absolute;
    border: 1px solid rgb(255 255 255 / 9%);
    border-radius: 50%;
    pointer-events: none;
}

.daib-cta::before {
    width: 300px;
    height: 300px;
    left: -130px;
    top: -160px;
}

.daib-cta::after {
    width: 220px;
    height: 220px;
    right: -80px;
    bottom: -120px;
}

body.daib-polish-premium .daib-cta > .et_pb_row {
    max-width: 980px !important;
    padding: 36px 44px !important;
    border: 1px solid rgb(255 255 255 / 10%);
    border-radius: 22px;
    background: rgb(255 255 255 / 4%);
    box-shadow: 0 22px 60px rgb(0 0 0 / 12%);
}

/* Contact form */
body.daib-polish-premium .daib-contact-form-wrap {
    border-radius: 22px;
    border-color: rgb(var(--daib-site-primary-rgb, 23,54,93) / 8%);
    box-shadow: 0 22px 60px rgb(20 44 70 / 10%);
}

/* Header/footer refinement */
.daib-site-header {
    border-bottom: 1px solid rgb(var(--daib-site-primary-rgb, 23,54,93) / 7%);
    box-shadow: 0 8px 28px rgb(20 44 70 / 5%);
}

.daib-header-cta,
.daib-footer-primary {
    border-radius: 10px;
    box-shadow: 0 10px 22px rgb(var(--daib-site-accent-rgb, 245,158,11) / 20%);
}

.daib-global-footer {
    background:
        radial-gradient(circle at 8% 0%, rgb(var(--daib-site-primary-rgb, 23,54,93) / 24%), transparent 26%),
        #151b23;
}

/* Personality refinements */
body.daib-style-corporate .daib-card-module,
body.daib-style-corporate .daib-process-card,
body.daib-style-corporate .daib-pricing-card,
body.daib-style-corporate .daib-contact-form-wrap {
    border-radius: 10px;
    box-shadow: 0 10px 28px rgb(20 44 70 / 6%);
}

body.daib-style-minimal .daib-card-module,
body.daib-style-minimal .daib-process-card,
body.daib-style-minimal .daib-pricing-card,
body.daib-style-minimal .daib-contact-form-wrap,
body.daib-style-minimal .daib-hero-split-media,
body.daib-style-minimal .daib-split-media {
    box-shadow: none !important;
}

body.daib-style-minimal .daib-card-module,
body.daib-style-minimal .daib-process-card,
body.daib-style-minimal .daib-pricing-card {
    border-color: rgb(var(--daib-site-primary-rgb, 23,54,93) / 14%);
}

body.daib-style-editorial .daib-copy h2,
body.daib-style-editorial .daib-section-heading h2 {
    font-size: clamp(34px, 4vw, 50px);
    letter-spacing: -.03em;
}

body.daib-style-luxury .daib-section-heading h2,
body.daib-style-luxury .daib-copy h2 {
    letter-spacing: -.035em;
}

body.daib-style-luxury .daib-card-module,
body.daib-style-luxury .daib-process-card,
body.daib-style-luxury .daib-pricing-card {
    border-radius: 4px;
    box-shadow: 0 14px 40px rgb(0 0 0 / 5%);
}

body.daib-style-bold .daib-eyebrow::before {
    width: 36px;
    height: 4px;
}

body.daib-style-dark .daib-vstyle-soft,
body.daib-style-dark .daib-vstyle-elevated {
    background: linear-gradient(135deg, #f4f7fb, #eef3f8) !important;
}

@media (max-width: 980px) {
    .daib-hero-treatment-panel.daib-hero-simple > .et_pb_row {
        padding: 34px 26px !important;
    }
    .daib-polish-premium .daib-split-media::before,
    .daib-hero-treatment-editorial .daib-hero-split-media::before {
        inset: 12px -8px -8px 12px;
    }
    .daib-polish-premium.daib-vstyle-editorial::before {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .daib-card-module,
    .daib-process-card,
    .daib-pricing-card,
    .daib-action-button,
    .daib-inline-cta,
    .daib-form-submit,
    .daib-footer-primary {
        transition: none !important;
    }
}

/* Divi Theme Builder chrome refinements */
.daib-tb-header {
    position: relative;
    z-index: 999;
    border-bottom: 1px solid rgb(var(--daib-site-primary-rgb, 23,54,93) / 7%);
    box-shadow: 0 8px 30px rgb(20 44 70 / 5%);
}

.daib-tb-header-row {
    min-height: 72px;
}

.daib-tb-brand h3 {
    margin: 0;
    font-size: 22px;
    letter-spacing: -.02em;
}

.daib-tb-header-button .et_pb_button {
    border-radius: 10px !important;
    box-shadow: 0 10px 24px rgb(var(--daib-site-accent-rgb, 245,158,11) / 22%);
}

.daib-tb-footer {
    background:
        radial-gradient(circle at 8% 0%, rgb(var(--daib-site-primary-rgb, 23,54,93) / 24%), transparent 26%),
        #151b23 !important;
}

/* ---------- v0.7 Global shape controls ---------- */
body.daib-corners-square .daib-card-module,
body.daib-corners-square .daib-process-card,
body.daib-corners-square .daib-pricing-card,
body.daib-corners-square .daib-faq-card,
body.daib-corners-square .daib-contact-form-wrap,
body.daib-corners-square .daib-hero-split-media,
body.daib-corners-square .daib-split-media,
body.daib-corners-square .daib-comparison-table,
body.daib-corners-square .daib-accordion .et_pb_toggle,
body.daib-corners-square .daib-hero-treatment-panel.daib-hero-simple > .et_pb_row {
    border-radius: 6px !important;
}

body.daib-corners-rounded .daib-card-module,
body.daib-corners-rounded .daib-process-card,
body.daib-corners-rounded .daib-pricing-card,
body.daib-corners-rounded .daib-faq-card,
body.daib-corners-rounded .daib-contact-form-wrap,
body.daib-corners-rounded .daib-hero-split-media,
body.daib-corners-rounded .daib-split-media,
body.daib-corners-rounded .daib-comparison-table,
body.daib-corners-rounded .daib-accordion .et_pb_toggle,
body.daib-corners-rounded .daib-hero-treatment-panel.daib-hero-simple > .et_pb_row {
    border-radius: 28px !important;
}

body.daib-buttons-square .et_pb_button,
body.daib-buttons-square .daib-form-submit,
body.daib-buttons-square .daib-header-cta,
body.daib-buttons-square .daib-footer-primary {
    border-radius: 4px !important;
}

body.daib-buttons-rounded .et_pb_button,
body.daib-buttons-rounded .daib-form-submit,
body.daib-buttons-rounded .daib-header-cta,
body.daib-buttons-rounded .daib-footer-primary {
    border-radius: 10px !important;
}

body.daib-buttons-pill .et_pb_button,
body.daib-buttons-pill .daib-form-submit,
body.daib-buttons-pill .daib-header-cta,
body.daib-buttons-pill .daib-footer-primary {
    border-radius: 999px !important;
    padding-left: 1.35em !important;
    padding-right: 1.35em !important;
}

/* ==========================================================
   v1.0 Brand, typography, responsive and image-treatment system
   ========================================================== */
body.daib-generated-site {
    background: var(--daib-site-background, #fff);
    color: var(--daib-site-body, #526273);
    font-family: var(--daib-body-font, system-ui, sans-serif);
}

body.daib-generated-site .et_pb_text,
body.daib-generated-site .et_pb_blurb,
body.daib-generated-site .et_pb_toggle,
body.daib-generated-site input,
body.daib-generated-site textarea,
body.daib-generated-site button {
    font-family: var(--daib-body-font, system-ui, sans-serif);
}

body.daib-generated-site h1,
body.daib-generated-site h2,
body.daib-generated-site h3,
body.daib-generated-site h4,
body.daib-generated-site h5,
body.daib-generated-site h6,
body.daib-generated-site .et_pb_module_header {
    color: var(--daib-site-heading, var(--daib-site-primary, #17365d));
    font-family: var(--daib-heading-font, system-ui, sans-serif) !important;
    font-weight: var(--daib-heading-weight, 700) !important;
    letter-spacing: var(--daib-letter-spacing, 0px);
}

body.daib-generated-site .daib-hero-copy h1 {
    font-size: calc(clamp(38px, 5vw, 60px) * var(--daib-heading-scale, 1)) !important;
}
body.daib-generated-site .daib-section-heading h2,
body.daib-generated-site .daib-copy h2,
body.daib-generated-site .daib-cta-copy h2 {
    font-size: calc(clamp(30px, 3.2vw, 44px) * var(--daib-heading-scale, 1)) !important;
}
body.daib-generated-site .daib-card-module .et_pb_module_header,
body.daib-generated-site .daib-process-card h3,
body.daib-generated-site .daib-pricing-card h3,
body.daib-generated-site .daib-feature-item h3 {
    font-size: calc(1.25rem * var(--daib-heading-scale, 1)) !important;
}

/* Per-page content-width preference. */
body.daib-content-narrow .daib-text-section > .et_pb_row,
body.daib-content-narrow .daib-heading-row,
body.daib-content-narrow .daib-comparison-section > .et_pb_row,
body.daib-content-narrow .daib-faq-section > .et_pb_row { max-width: 900px !important; }
body.daib-content-wide .daib-section > .et_pb_row { max-width: 1320px !important; }
body.daib-page-accent .daib-eyebrow::before,
body.daib-page-accent .daib-feature-check,
body.daib-page-accent .daib-step-number { background-color: var(--daib-page-accent, var(--daib-site-accent)) !important; }

/* Image treatments can be changed per hero or split section in Site Plan. */
.daib-image-treatment-rounded .daib-split-media .et_pb_image_wrap,
.daib-image-treatment-rounded .daib-hero-split-media .et_pb_image_wrap,
.daib-image-treatment-rounded .daib-split-media img,
.daib-image-treatment-rounded .daib-hero-split-media img { border-radius: 30px !important; }

.daib-image-treatment-framed .daib-split-media .et_pb_image_wrap,
.daib-image-treatment-framed .daib-hero-split-media .et_pb_image_wrap {
    padding: 10px;
    border: 1px solid rgb(var(--daib-site-primary-rgb, 23,54,93) / 12%);
    background: #fff;
    box-shadow: 0 20px 55px rgb(21 44 71 / 11%);
}
.daib-image-treatment-framed .daib-split-media img,
.daib-image-treatment-framed .daib-hero-split-media img { border-radius: 14px; }

.daib-image-treatment-floating .daib-split-media,
.daib-image-treatment-floating .daib-hero-split-media {
    transform: translateY(-12px) rotate(.6deg);
    filter: drop-shadow(0 24px 34px rgb(18 41 67 / 13%));
}

.daib-image-treatment-full_bleed.daib-split-section .daib-split-row,
.daib-image-treatment-full_bleed.daib-hero-split .daib-hero-split-row {
    width: 100% !important;
    max-width: none !important;
    gap: 0 !important;
}
.daib-image-treatment-full_bleed .daib-split-copy,
.daib-image-treatment-full_bleed .daib-hero-split-copy { padding: clamp(36px, 6vw, 90px) !important; }
.daib-image-treatment-full_bleed .daib-split-media,
.daib-image-treatment-full_bleed .daib-hero-split-media { border-radius: 0 !important; }
.daib-image-treatment-full_bleed .daib-split-media img,
.daib-image-treatment-full_bleed .daib-hero-split-media img { min-height: 520px; object-fit: cover; border-radius: 0 !important; }

/* Related-page internal-link module. */
.daib-related-links {
    border-top: 1px solid rgb(var(--daib-site-primary-rgb, 23,54,93) / 10%);
    padding-top: 22px;
}
.daib-related-links h3 { margin-bottom: 12px; font-size: 18px; }
.daib-related-links ul { display: flex; flex-wrap: wrap; gap: 10px 18px; list-style: none !important; padding: 0 !important; }
.daib-related-links a { color: var(--daib-site-primary); font-weight: 650; }
.daib-related-links a::after { content: " →"; color: var(--daib-site-accent); }
.daib-related-label {
    margin: 0 0 9px !important;
    color: var(--daib-site-accent, #f59e0b);
    font-size: 12px !important;
    font-weight: 750;
    letter-spacing: .09em;
    line-height: 1.3em;
    text-transform: uppercase;
}
.daib-related-links > p:last-child {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
}
.daib-related-sep { color: rgb(var(--daib-site-primary-rgb, 23,54,93) / 30%); }

/* Header variants and sticky/topbar behavior. */
.daib-topbar {
    background: var(--daib-site-dark, #151c24);
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
    padding: 8px 4%;
}
body.daib-header-sticky .daib-site-header,
body.daib-header-sticky .daib-tb-header {
    position: sticky !important;
    top: 0;
    z-index: 9999;
}
body.admin-bar.daib-header-sticky .daib-site-header,
body.admin-bar.daib-header-sticky .daib-tb-header { top: 32px; }
body.daib-header-centered .daib-header-inner { flex-wrap: wrap; justify-content: center; padding: 12px 0; }
body.daib-header-centered .daib-site-brand { width: 100%; text-align: center; }
body.daib-header-centered .daib-primary-nav { justify-content: center; }
body.daib-header-split .daib-site-brand { flex: 1 1 25%; }
body.daib-header-split .daib-primary-nav { justify-content: center; }
body.daib-header-transparent .daib-site-header {
    position: absolute;
    left: 0; right: 0;
    background: rgb(255 255 255 / 86%);
    backdrop-filter: blur(14px);
}
body.daib-header-minimal .daib-header-inner { min-height: 66px; }
body.daib-header-topbar .daib-site-header { border-top: 0; }

/* Theme Builder header variants receive the same design vocabulary. */
.daib-tb-header.daib-tb-header-centered .daib-tb-header-row { justify-content: center; }
.daib-tb-header.daib-tb-header-minimal .daib-tb-header-button { display: none; }
.daib-tb-header.daib-tb-header-transparent { background: rgb(255 255 255 / 88%) !important; backdrop-filter: blur(12px); }

/* Footer variants. */
.daib-global-footer-minimal .daib-footer-grid { grid-template-columns: 2fr 1fr !important; }
.daib-global-footer-minimal .daib-footer-grid > div:nth-child(2),
.daib-global-footer-minimal .daib-footer-grid > div:nth-child(3) { display: none; }
.daib-global-footer-contact .daib-footer-grid { grid-template-columns: 1.6fr 1fr 1fr 1.3fr; }
.daib-global-footer-newsletter .daib-footer-brand-column { max-width: 440px; }
.daib-tb-footer.daib-tb-footer-minimal .et_pb_row:first-child .et_pb_column:nth-child(2),
.daib-tb-footer.daib-tb-footer-minimal .et_pb_row:first-child .et_pb_column:nth-child(3) { display: none; }

/* Performance-friendly rendering for long generated pages. */
@supports (content-visibility: auto) {
    body.daib-generated-site.daib-performance-mode .et_pb_section.daib-section:not(.daib-hero) {
        content-visibility: auto;
        contain-intrinsic-size: 1px 650px;
    }
}

@media (max-width: 980px) {
    body.daib-mobile-align-center .daib-section-heading,
    body.daib-mobile-align-center .daib-copy,
    body.daib-mobile-align-center .daib-hero-copy,
    body.daib-mobile-align-center .daib-feature-item { text-align: center !important; }
    body.daib-mobile-align-left .daib-section-heading,
    body.daib-mobile-align-left .daib-copy,
    body.daib-mobile-align-left .daib-hero-copy { text-align: left !important; }

    body.daib-mobile-buttons-full .et_pb_button_module_wrapper,
    body.daib-mobile-buttons-full .daib-button-pair { width: 100%; }
    body.daib-mobile-buttons-full .et_pb_button,
    body.daib-mobile-buttons-full .daib-action-button,
    body.daib-mobile-buttons-full .daib-header-cta { display: block; width: 100%; text-align: center; }

    body.daib-mobile-spacing-compact .et_pb_section.daib-section:not(.daib-hero) { padding-top: 42px !important; padding-bottom: 42px !important; }
    body.daib-mobile-spacing-balanced .et_pb_section.daib-section:not(.daib-hero) { padding-top: 56px !important; padding-bottom: 56px !important; }
    body.daib-mobile-spacing-airy .et_pb_section.daib-section:not(.daib-hero) { padding-top: 72px !important; padding-bottom: 72px !important; }

    .daib-mobile-image-first .daib-split-row,
    .daib-mobile-image-first .daib-hero-split-row { display: flex !important; flex-direction: column; }
    .daib-mobile-image-first .daib-split-media,
    .daib-mobile-image-first .daib-hero-split-media { order: -1; margin-bottom: 28px !important; }

    body.daib-mobile-hide-decorative .daib-polish-premium.daib-vstyle-soft::after,
    body.daib-mobile-hide-decorative .daib-polish-premium.daib-vstyle-accent::after,
    body.daib-mobile-hide-decorative .daib-polish-premium.daib-vstyle-elevated::after,
    body.daib-mobile-hide-decorative .daib-polish-premium.daib-vstyle-editorial::before,
    body.daib-mobile-hide-decorative .daib-cta::before,
    body.daib-mobile-hide-decorative .daib-cta::after { display: none !important; }

    .daib-image-treatment-floating .daib-split-media,
    .daib-image-treatment-floating .daib-hero-split-media { transform: none; }
    .daib-image-treatment-full_bleed .daib-split-media img,
    .daib-image-treatment-full_bleed .daib-hero-split-media img { min-height: 320px; }
    .daib-related-links ul { display: block; }
    .daib-related-links li { margin-bottom: 8px; }
    body.admin-bar.daib-header-sticky .daib-site-header,
    body.admin-bar.daib-header-sticky .daib-tb-header { top: 46px; }
}

.daib-tb-header-sticky { position: sticky !important; top: 0; z-index: 9999; }
.admin-bar .daib-tb-header-sticky { top: 32px; }
.daib-tb-footer-minimal > .et_pb_row:first-child { display: flex; justify-content: space-between; }
.daib-tb-footer-minimal > .et_pb_row:first-child > .et_pb_column:first-child,
.daib-tb-footer-minimal > .et_pb_row:first-child > .et_pb_column:last-child { width: 48% !important; margin-right: 0 !important; }
@media(max-width:782px){.admin-bar .daib-tb-header-sticky{top:46px;}}
