/* FirmaX 3.15.0 - cacheable Home Builder module styles. */

.firmax-contact-corporate{
        position:relative;
        overflow:hidden;
        padding:92px 0;
        background:
            radial-gradient(circle at 12% 16%,rgba(255,255,255,.10),transparent 34%),
            linear-gradient(135deg,var(--firmax-contact-bg,#111b34),#0b1223 72%);
        color:#fff;
    }
    .firmax-contact-corporate::before{
        content:"";
        position:absolute;
        inset:auto -160px -220px auto;
        width:520px;
        height:520px;
        border-radius:50%;
        border:1px solid rgba(255,255,255,.10);
        box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018);
        pointer-events:none;
    }
    .firmax-contact-corporate *{box-sizing:border-box}
    .firmax-contact-corporate .firmax-contact-corporate-shell{
        position:relative;
        z-index:1;
        display:grid;
        grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
        gap:34px;
        align-items:stretch;
    }
    .firmax-contact-corporate .firmax-contact-intro{
        display:flex;
        flex-direction:column;
        min-width:0;
        padding:10px 10px 10px 0;
    }
    .firmax-contact-corporate .firmax-contact-eyebrow{
        display:inline-flex;
        align-items:center;
        gap:10px;
        width:max-content;
        max-width:100%;
        margin:0 0 20px;
        padding:8px 13px;
        border:1px solid rgba(255,255,255,.16);
        border-radius:999px;
        background:rgba(255,255,255,.07);
        color:#d9e5ff;
        font-size:12px;
        font-weight:800;
        letter-spacing:.12em;
        text-transform:uppercase;
    }
    .firmax-contact-corporate .firmax-contact-eyebrow::before{
        content:"";
        width:8px;
        height:8px;
        border-radius:50%;
        background:#ffb703;
        box-shadow:0 0 0 5px rgba(255,183,3,.13);
    }
    .firmax-contact-corporate .firmax-contact-intro h2{
        max-width:720px;
        margin:0;
        color:#fff;
        font-size:clamp(34px,4.4vw,64px);
        line-height:1.04;
        letter-spacing:-.045em;
    }
    .firmax-contact-corporate .firmax-contact-lead{
        max-width:650px;
        margin:24px 0 0;
        color:rgba(255,255,255,.74);
        font-size:17px;
        line-height:1.75;
    }
    .firmax-contact-corporate .firmax-contact-trust{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:12px;
        margin:34px 0 0;
    }
    .firmax-contact-corporate .firmax-contact-trust-item{
        min-width:0;
        padding:17px;
        border:1px solid rgba(255,255,255,.11);
        border-radius:16px;
        background:rgba(255,255,255,.055);
        backdrop-filter:blur(12px);
    }
    .firmax-contact-corporate .firmax-contact-trust-item strong{
        display:block;
        margin-bottom:5px;
        color:#fff;
        font-size:14px;
    }
    .firmax-contact-corporate .firmax-contact-trust-item span{
        display:block;
        color:rgba(255,255,255,.62);
        font-size:12px;
        line-height:1.5;
    }
    .firmax-contact-corporate .firmax-contact-info-list{
        display:grid;
        gap:12px;
        margin-top:auto;
        padding-top:34px;
    }
    .firmax-contact-corporate .firmax-contact-info-card{
        display:grid;
        grid-template-columns:46px minmax(0,1fr);
        gap:14px;
        align-items:center;
        min-width:0;
        padding:14px 16px;
        border:1px solid rgba(255,255,255,.11);
        border-radius:15px;
        background:rgba(255,255,255,.055);
        color:#fff;
        text-decoration:none;
        transition:transform .2s ease,border-color .2s ease,background-color .2s ease;
    }
    .firmax-contact-corporate a.firmax-contact-info-card:hover{
        transform:translateY(-2px);
        border-color:rgba(255,183,3,.42);
        background:rgba(255,255,255,.09);
    }
    .firmax-contact-corporate .firmax-contact-info-icon{
        display:grid;
        place-items:center;
        width:46px;
        height:46px;
        border-radius:13px;
        background:rgba(255,183,3,.13);
        color:#ffca3a;
        font-size:20px;
    }
    .firmax-contact-corporate .firmax-contact-info-text{
        min-width:0;
    }
    .firmax-contact-corporate .firmax-contact-info-text small{
        display:block;
        margin-bottom:3px;
        color:rgba(255,255,255,.52);
        font-size:11px;
        font-weight:800;
        letter-spacing:.08em;
        text-transform:uppercase;
    }
    .firmax-contact-corporate .firmax-contact-info-text strong,
    .firmax-contact-corporate .firmax-contact-info-text span{
        display:block;
        overflow-wrap:anywhere;
        color:#fff;
        font-size:14px;
        line-height:1.5;
    }
    .firmax-contact-corporate .firmax-contact-form-card{
        position:relative;
        min-width:0;
        padding:34px;
        border:1px solid rgba(255,255,255,.16);
        border-radius:26px;
        background:rgba(255,255,255,.97);
        box-shadow:0 30px 80px rgba(0,0,0,.25);
        color:#172033;
    }
    .firmax-contact-corporate .firmax-contact-form-card::before{
        content:"";
        position:absolute;
        inset:0 0 auto;
        height:5px;
        border-radius:26px 26px 0 0;
        background:linear-gradient(90deg,#ffb703,#fb8500);
    }
    .firmax-contact-corporate .firmax-contact-form-heading{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:20px;
        margin-bottom:24px;
    }
    .firmax-contact-corporate .firmax-contact-form-heading h3{
        margin:0;
        color:#14213d;
        font-size:26px;
        line-height:1.2;
        letter-spacing:-.02em;
    }
    .firmax-contact-corporate .firmax-contact-form-heading p{
        margin:8px 0 0;
        color:#667085;
        font-size:14px;
        line-height:1.6;
    }
    .firmax-contact-corporate .firmax-contact-form-badge{
        flex:0 0 auto;
        padding:7px 10px;
        border-radius:999px;
        background:#edf8f0;
        color:#18794e;
        font-size:11px;
        font-weight:800;
        white-space:nowrap;
    }
    .firmax-contact-corporate .firmax-contact-form,
    .firmax-contact-corporate .firmax-contact-form form{
        display:grid;
        gap:16px;
    }
    .firmax-contact-corporate .firmax-contact-form p{
        margin:0;
    }
    .firmax-contact-corporate .firmax-contact-form label{
        display:grid;
        gap:7px;
        color:#344054;
        font-size:13px;
        font-weight:700;
    }
    .firmax-contact-corporate .firmax-contact-form input:not([type=checkbox]):not([type=radio]),
    .firmax-contact-corporate .firmax-contact-form select,
    .firmax-contact-corporate .firmax-contact-form textarea{
        width:100%;
        max-width:100%;
        min-height:50px;
        padding:12px 14px;
        border:1px solid #d0d5dd;
        border-radius:12px;
        background:#fff;
        color:#101828;
        font:inherit;
        box-shadow:0 1px 2px rgba(16,24,40,.04);
        transition:border-color .2s ease,box-shadow .2s ease;
    }
    .firmax-contact-corporate .firmax-contact-form textarea{
        min-height:132px;
        resize:vertical;
    }
    .firmax-contact-corporate .firmax-contact-form input:focus,
    .firmax-contact-corporate .firmax-contact-form select:focus,
    .firmax-contact-corporate .firmax-contact-form textarea:focus{
        outline:none;
        border-color:#f3a712;
        box-shadow:0 0 0 4px rgba(243,167,18,.13);
    }
    .firmax-contact-corporate .firmax-contact-form button,
    .firmax-contact-corporate .firmax-contact-form input[type=submit]{
        min-height:52px;
        padding:0 22px;
        border:0;
        border-radius:12px;
        background:linear-gradient(135deg,#ffb703,#fb8500);
        color:#111827;
        font:inherit;
        font-weight:800;
        cursor:pointer;
        box-shadow:0 12px 25px rgba(251,133,0,.20);
    }
    .firmax-contact-corporate .firmax-form-notice{
        margin:0 0 18px;
        padding:13px 15px;
        border-radius:12px;
        font-size:14px;
        line-height:1.5;
    }
    .firmax-contact-corporate .firmax-form-notice.is-success{
        border:1px solid #abefc6;
        background:#ecfdf3;
        color:#067647;
    }
    .firmax-contact-corporate .firmax-form-notice.is-error{
        border:1px solid #fecdca;
        background:#fef3f2;
        color:#b42318;
    }
    .firmax-contact-corporate .firmax-contact-visual{
        position:relative;
        overflow:hidden;
        min-height:220px;
        margin:24px 0 0;
        border-radius:18px;
        border:1px solid rgba(255,255,255,.12);
    }
    .firmax-contact-corporate .firmax-contact-visual img{
        display:block;
        width:100%;
        height:100%;
        min-height:220px;
        object-fit:cover;
    }
    .firmax-contact-corporate .firmax-contact-visual-caption{
        position:absolute;
        inset:auto 18px 18px;
        padding:16px;
        border-radius:14px;
        background:rgba(11,18,35,.78);
        backdrop-filter:blur(12px);
    }
    .firmax-contact-corporate .firmax-contact-visual-caption h3{
        margin:0 0 6px;
        color:#fff;
        font-size:18px;
    }
    .firmax-contact-corporate .firmax-contact-visual-caption p{
        margin:0;
        color:rgba(255,255,255,.72);
        font-size:13px;
        line-height:1.55;
    }
    .firmax-contact-corporate .firmax-contact-socials{
        display:flex;
        flex-wrap:wrap;
        gap:9px;
        margin-top:18px;
    }
    .firmax-contact-corporate .firmax-contact-socials a{
        display:grid;
        place-items:center;
        width:38px;
        height:38px;
        border:1px solid rgba(255,255,255,.12);
        border-radius:10px;
        background:rgba(255,255,255,.07);
        color:#fff;
        text-decoration:none;
    }
    @media(max-width:980px){
        .firmax-contact-corporate{padding:72px 0}
        .firmax-contact-corporate .firmax-contact-corporate-shell{
            grid-template-columns:1fr;
        }
        .firmax-contact-corporate .firmax-contact-intro{padding-right:0}
        .firmax-contact-corporate .firmax-contact-info-list{margin-top:0}
    }
    @media(max-width:640px){
        .firmax-contact-corporate{padding:58px 0}
        .firmax-contact-corporate .firmax-contact-trust{
            grid-template-columns:1fr;
        }
        .firmax-contact-corporate .firmax-contact-form-card{
            padding:26px 20px;
            border-radius:20px;
        }
        .firmax-contact-corporate .firmax-contact-form-heading{
            display:block;
        }
        .firmax-contact-corporate .firmax-contact-form-badge{
            display:inline-block;
            margin-top:12px;
        }
    }

-style">
.firmax-faq {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 96px 0;
    background:
        radial-gradient(circle at 0 0, rgba(255,90,0,.08), transparent 28%),
        radial-gradient(circle at 100% 100%, rgba(16,38,66,.08), transparent 30%),
        #f7f9fc;
}
.firmax-faq::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .35;
    pointer-events: none;
    background-image: radial-gradient(rgba(16,38,66,.12) .7px, transparent .7px);
    background-size: 22px 22px;
    mask-image: linear-gradient(to right, #000, transparent 40%, transparent 60%, #000);
}
.firmax-faq .firmax-faq-shell {
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
    gap: 70px;
    align-items: start;
}
.firmax-faq .firmax-faq-intro {
    position: sticky;
    top: 110px;
    margin: 0;
    text-align: left;
}
.firmax-faq .firmax-faq-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    padding: 8px 13px;
    border: 1px solid rgba(255,90,0,.20);
    border-radius: 999px;
    color: #d84c00;
    background: rgba(255,255,255,.82);
    box-shadow: 0 8px 24px rgba(15,23,42,.05);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1;
    text-transform: uppercase;
}
.firmax-faq .firmax-faq-eyebrow::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--firmax-accent, #ff5a00);
    box-shadow: 0 0 0 5px rgba(255,90,0,.12);
}
.firmax-faq .firmax-faq-intro h2 {
    margin: 0 0 20px;
    max-width: 480px;
    color: var(--firmax-navy, #102642);
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 850;
    letter-spacing: -.045em;
    line-height: 1.08;
}
.firmax-faq .firmax-faq-intro p {
    margin: 0;
    max-width: 460px;
    color: #667085;
    font-size: 17px;
    line-height: 1.8;
}
.firmax-faq .firmax-faq-list {
    display: grid;
    gap: 14px;
    width: 100%;
    max-width: none;
    margin: 0;
}
.firmax-faq .firmax-faq-item {
    position: relative;
    overflow: hidden;
    margin: 0;
    border: 1px solid #dde4ed;
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 34px rgba(15,23,42,.055);
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.firmax-faq .firmax-faq-item:hover {
    transform: translateY(-2px);
    border-color: rgba(255,90,0,.30);
    box-shadow: 0 20px 46px rgba(15,23,42,.09);
}
.firmax-faq .firmax-faq-item[open] {
    border-color: rgba(255,90,0,.42);
    box-shadow: 0 22px 52px rgba(15,23,42,.11);
}
.firmax-faq .firmax-faq-item[open]::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--firmax-accent, #ff5a00);
}
.firmax-faq .firmax-faq-item > summary {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 16px;
    width: 100%;
    min-height: 84px;
    margin: 0;
    padding: 17px 20px;
    list-style: none;
    color: var(--firmax-navy, #102642);
    background: transparent;
    cursor: pointer;
    user-select: none;
    box-sizing: border-box;
}
.firmax-faq .firmax-faq-item > summary::-webkit-details-marker,
.firmax-faq .firmax-faq-item > summary::marker { display: none; content: ""; }
.firmax-faq .firmax-faq-number {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255,90,0,.16);
    border-radius: 14px;
    color: var(--firmax-accent, #ff5a00);
    background: rgba(255,90,0,.075);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .04em;
    transition: color .22s ease, background .22s ease, transform .22s ease;
}
.firmax-faq .firmax-faq-item[open] .firmax-faq-number {
    color: #fff;
    background: var(--firmax-accent, #ff5a00);
    transform: rotate(-3deg);
}
.firmax-faq .firmax-faq-question {
    min-width: 0;
    font-size: 17px;
    font-weight: 780;
    letter-spacing: -.015em;
    line-height: 1.45;
}
.firmax-faq .firmax-faq-icon {
    position: relative;
    width: 42px;
    height: 42px;
    border: 1px solid #e1e7ef;
    border-radius: 50%;
    background: #f7f9fc;
    transition: background .22s ease, border-color .22s ease, transform .22s ease;
}
.firmax-faq .firmax-faq-icon::before,
.firmax-faq .firmax-faq-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 4px;
    background: var(--firmax-navy, #102642);
    transform: translate(-50%, -50%);
    transition: opacity .22s ease, transform .22s ease;
}
.firmax-faq .firmax-faq-icon::before { width: 14px; height: 2px; }
.firmax-faq .firmax-faq-icon::after { width: 2px; height: 14px; }
.firmax-faq .firmax-faq-item[open] .firmax-faq-icon {
    border-color: rgba(255,90,0,.22);
    background: rgba(255,90,0,.09);
    transform: rotate(180deg);
}
.firmax-faq .firmax-faq-item[open] .firmax-faq-icon::after { opacity: 0; }
.firmax-faq .firmax-faq-answer {
    margin: 0 20px 0 84px;
    border-top: 1px solid #edf1f5;
}
.firmax-faq .firmax-faq-answer > div {
    padding: 22px 0 26px;
    color: #59677a;
    font-size: 16px;
    line-height: 1.85;
}
.firmax-faq .firmax-faq-answer p { margin: 0 0 12px; }
.firmax-faq .firmax-faq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 980px) {
    .firmax-faq { padding: 76px 0; }
    .firmax-faq .firmax-faq-shell { grid-template-columns: 1fr; gap: 38px; }
    .firmax-faq .firmax-faq-intro { position: static; max-width: 720px; }
}
@media (max-width: 640px) {
    .firmax-faq { padding: 58px 0; }
    .firmax-faq .firmax-faq-shell { gap: 28px; }
    .firmax-faq .firmax-faq-intro h2 { font-size: 34px; }
    .firmax-faq .firmax-faq-intro p { font-size: 15px; }
    .firmax-faq .firmax-faq-item > summary {
        grid-template-columns: 38px minmax(0, 1fr) 34px;
        gap: 11px;
        min-height: 70px;
        padding: 13px 13px;
    }
    .firmax-faq .firmax-faq-number {
        width: 38px;
        height: 38px;
        border-radius: 11px;
        font-size: 11px;
    }
    .firmax-faq .firmax-faq-question { font-size: 15px; }
    .firmax-faq .firmax-faq-icon { width: 34px; height: 34px; }
    .firmax-faq .firmax-faq-answer { margin: 0 14px 0 62px; }
    .firmax-faq .firmax-faq-answer > div { padding: 17px 0 21px; font-size: 15px; }
}


/* Statistics module: dynamic values are supplied as section CSS variables. */
.firmax-stats{position:relative!important;isolation:isolate!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;overflow:hidden!important;background:var(--firmax-stats-bg,#0b1f3a)!important}.firmax-stats .firmax-stats-background{position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important}.firmax-stats .firmax-stats-background img{display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;object-fit:cover!important;object-position:var(--firmax-stats-position,center center)!important}.firmax-stats .firmax-stats-overlay{position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;background:var(--firmax-stats-overlay,rgba(7,22,42,.58))!important}.firmax-stats>.firmax-container{position:relative!important;z-index:2!important}
