/* FirmaX 3.15.11 - 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(380px,1.08fr);gap:38px;align-items:stretch}
.firmax-contact-corporate.no-visual .firmax-contact-corporate-shell{grid-template-columns:minmax(0,920px);justify-content:center}
.firmax-contact-corporate.visual-left .firmax-contact-visual-panel{order:-1}
.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-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.firmax-contact-corporate .firmax-contact-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 20px;border:1px solid transparent;border-radius:12px;font-weight:800;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.firmax-contact-corporate .firmax-contact-action:hover{transform:translateY(-2px);color:#fff}
.firmax-contact-corporate .firmax-contact-action.is-primary{background:linear-gradient(135deg,#ffb703,#fb8500);color:#111827;box-shadow:0 12px 28px rgba(251,133,0,.22)}
.firmax-contact-corporate .firmax-contact-action.is-primary:hover{color:#111827}
.firmax-contact-corporate .firmax-contact-action.is-whatsapp{border-color:rgba(37,211,102,.45);background:rgba(37,211,102,.14);color:#dfffea}
.firmax-contact-corporate .firmax-contact-info-list{display:grid;gap:12px;margin-top:28px}
.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-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}
.firmax-contact-corporate .firmax-contact-visual-panel{position:relative;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:26px;background:rgba(255,255,255,.07);box-shadow:0 30px 80px rgba(0,0,0,.25)}
.firmax-contact-corporate .firmax-contact-visual{position:relative;height:100%;min-height:460px;overflow:hidden}
.firmax-contact-corporate .firmax-contact-visual img{display:block;width:100%;height:100%;min-height:460px;object-fit:cover}
.firmax-contact-corporate .firmax-contact-visual-caption{position:absolute;inset:auto 22px 22px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(11,18,35,.82);backdrop-filter:blur(12px)}
.firmax-contact-corporate .firmax-contact-visual-caption h3{margin:0 0 6px;color:#fff;font-size:20px}
.firmax-contact-corporate .firmax-contact-visual-caption p{margin:0;color:rgba(255,255,255,.74);font-size:13px;line-height:1.6}
.firmax-contact-corporate .firmax-contact-map-wrap{display:flex;flex-direction:column;height:100%;min-height:var(--firmax-contact-map-height,460px);background:#fff;color:#172033}
.firmax-contact-corporate .firmax-contact-map{display:block;width:100%;height:var(--firmax-contact-map-height,460px);min-height:280px;border:0;background:#e9edf2}
.firmax-contact-corporate .firmax-contact-map-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:#fff;border-top:1px solid #e7eaf0}
.firmax-contact-corporate .firmax-contact-map-footer div{min-width:0}
.firmax-contact-corporate .firmax-contact-map-footer strong{display:block;color:#14213d;font-size:16px}
.firmax-contact-corporate .firmax-contact-map-footer span{display:block;margin-top:4px;color:#667085;font-size:12px;line-height:1.5}
.firmax-contact-corporate .firmax-contact-map-footer a{flex:0 0 auto;padding:10px 13px;border-radius:10px;background:#14213d;color:#fff;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
@media(max-width:980px){.firmax-contact-corporate{padding:72px 0}.firmax-contact-corporate .firmax-contact-corporate-shell{grid-template-columns:1fr}.firmax-contact-corporate.visual-left .firmax-contact-visual-panel{order:0}.firmax-contact-corporate .firmax-contact-intro{padding-right:0}.firmax-contact-corporate .firmax-contact-visual,.firmax-contact-corporate .firmax-contact-visual img{min-height:360px}}
@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-actions{display:grid;grid-template-columns:1fr}.firmax-contact-corporate .firmax-contact-map-footer{align-items:flex-start;flex-direction:column}.firmax-contact-corporate .firmax-contact-map-footer a{width:100%;text-align:center}}

.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}


/* Builder integrity fixes */
.firmax-feature-strip-title{margin:0 0 22px;text-align:center;font-size:clamp(24px,3vw,34px)}
.firmax-feature-item h3{margin:0 0 6px;font-size:inherit}
.firmax-contact-corporate.is-layout-three.has-visual .firmax-contact-corporate-shell{grid-template-columns:minmax(0,.75fr) minmax(240px,.58fr) minmax(390px,1fr)}
.firmax-contact-corporate.is-layout-three.has-visual .firmax-contact-visual{margin:0;min-height:100%;align-self:stretch}
.firmax-contact-corporate.is-layout-three.has-visual .firmax-contact-visual img{min-height:100%;height:100%}
@media(max-width:1180px){.firmax-contact-corporate.is-layout-three.has-visual .firmax-contact-corporate-shell{grid-template-columns:1fr}.firmax-contact-corporate.is-layout-three.has-visual .firmax-contact-visual{min-height:300px}}


/* FirmaX 3.15.3 - Photo Gallery Plugin Home Builder integrations */
.firmax-gallery-categories-section,.firmax-gallery-photos-section{padding:78px 0;background:#fff}
.firmax-gallery-categories-section .firmax-section-head,.firmax-gallery-photos-section .firmax-section-head{max-width:760px;margin:0 auto 34px;text-align:center}
.firmax-gallery-categories-section .firmax-section-head h2,.firmax-gallery-photos-section .firmax-section-head h2{margin:0;color:var(--firmax-navy,#102642);font-size:clamp(30px,4vw,44px);line-height:1.12}
.firmax-gallery-categories-section .firmax-section-head p,.firmax-gallery-photos-section .firmax-section-head p{margin:12px 0 0;color:#68768a;font-size:16px;line-height:1.7}
.firmax-gallery-plugin-categories>.pgp-category-buttons-grid{margin:0}
.firmax-gallery-all{display:flex;justify-content:center;margin-top:34px}
.firmax-gallery-category-fallback-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.firmax-gallery-category-fallback-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.firmax-gallery-category-fallback-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.firmax-gallery-category-fallback-card{overflow:hidden;border:1px solid #e4eaf1;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(15,31,52,.06)}
.firmax-gallery-category-fallback-media{display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;background:#edf2f7;color:#244e77;font-size:44px;font-weight:800}
.firmax-gallery-category-fallback-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.firmax-gallery-category-fallback-card:hover .firmax-gallery-category-fallback-media img{transform:scale(1.035)}
.firmax-gallery-category-fallback-body{padding:18px}.firmax-gallery-category-fallback-body h3{margin:0 0 6px;font-size:20px}.firmax-gallery-category-fallback-body h3 a{color:var(--firmax-navy,#102642);text-decoration:none}.firmax-gallery-category-fallback-body>span{display:block;margin-bottom:12px;color:#7a8798;font-size:13px}
.firmax-gallery-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.firmax-gallery-photo-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.firmax-gallery-photo-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.firmax-gallery-photo-card{min-width:0;overflow:hidden;border:1px solid #e4eaf1;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(15,31,52,.07);transition:transform .22s ease,box-shadow .22s ease}.firmax-gallery-photo-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(15,31,52,.11)}
.firmax-gallery-photo-media{display:block;position:relative;overflow:hidden;background:#eef2f6}.firmax-gallery-photo-grid.ratio-1-1 .firmax-gallery-photo-media{aspect-ratio:1/1}.firmax-gallery-photo-grid.ratio-4-3 .firmax-gallery-photo-media{aspect-ratio:4/3}.firmax-gallery-photo-grid.ratio-16-9 .firmax-gallery-photo-media{aspect-ratio:16/9}
.firmax-gallery-photo-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.firmax-gallery-photo-card:hover .firmax-gallery-photo-media img{transform:scale(1.035)}
.firmax-gallery-photo-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:220px;color:#8a98aa}.firmax-gallery-photo-placeholder .dashicons{width:40px;height:40px;font-size:40px}
.firmax-gallery-photo-body{padding:18px 18px 20px}.firmax-gallery-photo-category{margin:0 0 7px;color:#f15a24;font-size:12px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.firmax-gallery-photo-body h3{margin:0 0 9px;font-size:20px;line-height:1.32}.firmax-gallery-photo-body h3 a{color:var(--firmax-navy,#102642);text-decoration:none}.firmax-gallery-photo-body p{margin:0 0 14px;color:#68768a;line-height:1.65}
.firmax-gallery-text-link{display:inline-flex;align-items:center;gap:7px;color:#175b91;font-size:14px;font-weight:800;text-decoration:none}.firmax-gallery-text-link span{transition:transform .18s ease}.firmax-gallery-text-link:hover span{transform:translateX(3px)}
@media(max-width:980px){.firmax-gallery-categories-section,.firmax-gallery-photos-section{padding:64px 0}.firmax-gallery-category-fallback-grid,.firmax-gallery-category-fallback-grid.cols-4,.firmax-gallery-photo-grid,.firmax-gallery-photo-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.firmax-gallery-categories-section,.firmax-gallery-photos-section{padding:52px 0}.firmax-gallery-category-fallback-grid,.firmax-gallery-category-fallback-grid.cols-2,.firmax-gallery-category-fallback-grid.cols-3,.firmax-gallery-category-fallback-grid.cols-4,.firmax-gallery-photo-grid,.firmax-gallery-photo-grid.cols-2,.firmax-gallery-photo-grid.cols-3,.firmax-gallery-photo-grid.cols-4{grid-template-columns:1fr;gap:16px}.firmax-gallery-categories-section .firmax-section-head,.firmax-gallery-photos-section .firmax-section-head{margin-bottom:26px}.firmax-gallery-photo-body{padding:16px}}
