:root{
    --bg:#020617;
    --panel:#0f172a;
    --card:#111827;
    --border:#1e293b;
    --text:#f8fafc;
    --muted:#94a3b8;
    --primary:#2563eb;
}

.light{
    --bg:#f8fafc;
    --panel:#ffffff;
    --card:#ffffff;
    --border:#e2e8f0;
    --text:#020617;
    --muted:#475569;
    --primary:#2563eb;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    background:var(--bg);
}

body{
    font-family:Inter,Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

a{
    color:inherit;
}

.brand-light,
.theme-moon{
    display:none;
}

.light .brand-light,
.light .theme-moon{
    display:block;
}

.light .brand-dark,
.light .theme-sun{
    display:none;
}

.site-header{
    height:92px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:42px;
    padding:0 64px;
    border-bottom:1px solid var(--border);
    background:rgba(2,6,23,.92);
    position:sticky;
    top:0;
    z-index:20;
    backdrop-filter:blur(18px);
}

.light .site-header{
    background:rgba(248,250,252,.92);
}

.site-logo{
    display:flex;
    align-items:center;
    text-decoration:none;
}

.site-logo img{
    height:42px;
    max-width:260px;
    object-fit:contain;
}

.site-nav{
    display:flex;
    justify-content:center;
    gap:34px;
}

.site-nav a{
    color:var(--muted);
    text-decoration:none;
    font-weight:800;
    font-size:15px;
}

.site-nav a:hover{
    color:var(--text);
}

.site-header-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.site-theme-toggle{
    width:46px;
    height:46px;
    border:1px solid var(--border);
    background:transparent;
    color:var(--text);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.site-theme-toggle svg{
    width:21px;
    height:21px;
}

.site-header-cta{
    height:46px;
    padding:0 18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--primary);
    border:1px solid var(--primary);
    color:#fff;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}

.site-section{
    padding:110px 64px;
    max-width:1440px;
    margin:0 auto;
}

.site-hero{
    position:relative;
    min-height:calc(100vh - 92px);
    display:grid;
    align-items:center;
    gap:70px;
    overflow:hidden;
}

.site-hero-image_right{
    grid-template-columns:1.05fr .95fr;
}

.site-hero-image_left{
    grid-template-columns:.95fr 1.05fr;
}

.site-hero-image_left .site-hero-content{
    order:2;
}

.site-hero-image_left .site-hero-media{
    order:1;
}

.site-hero-centered{
    display:flex;
    justify-content:center;
    text-align:center;
}

.site-hero-centered .site-hero-content{
    max-width:980px;
    margin:0 auto;
}

.site-hero-background,
.site-hero-image_background{
    min-height:calc(100vh - 92px);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.site-hero-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    opacity:.25;
}

.site-hero-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(2,6,23,.4), var(--bg));
}

.site-hero-content{
    position:relative;
    z-index:2;
}

.site-hero span,
.site-section-heading span,
.site-content span,
.site-cta span{
    display:block;
    color:var(--primary);
    font-size:13px;
    letter-spacing:4px;
    font-weight:900;
    margin-bottom:22px;
    text-transform:uppercase;
}

.site-hero h1{
    font-size:clamp(54px, 7vw, 96px);
    line-height:.95;
    letter-spacing:-5px;
    max-width:880px;
}

.site-title-small h1{
    font-size:clamp(44px, 5vw, 72px);
    letter-spacing:-3px;
}

.site-title-default h1{
    font-size:clamp(54px, 7vw, 92px);
}

.site-title-large h1{
    font-size:clamp(64px, 9vw, 120px);
    letter-spacing:-6px;
}

.site-hero p{
    color:var(--muted);
    font-size:clamp(18px, 2vw, 24px);
    line-height:1.75;
    margin-top:30px;
    max-width:760px;
}

.site-hero-centered p,
.site-hero-image_background p{
    margin-left:auto;
    margin-right:auto;
}

.site-hero-media{
    position:relative;
    z-index:2;
}

.site-hero-media img{
    width:100%;
    max-height:520px;
    object-fit:cover;
    border:1px solid var(--border);
    background:var(--panel);
}

.site-actions{
    display:flex;
    gap:14px;
    margin-top:38px;
    flex-wrap:wrap;
}

.site-hero-centered .site-actions,
.site-hero-image_background .site-actions{
    justify-content:center;
}

.site-button{
    min-height:54px;
    padding:0 26px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--primary);
    color:#fff;
    text-decoration:none;
    font-weight:900;
    border:1px solid var(--primary);
}

.site-button.secondary{
    background:transparent;
    color:var(--text);
    border-color:var(--border);
}

.site-section-heading{
    max-width:780px;
    margin-bottom:42px;
}

.site-section-heading h2,
.site-content h2,
.site-cta h2{
    font-size:48px;
    letter-spacing:-2px;
}

.site-section-heading p,
.site-content p,
.site-cta p{
    color:var(--muted);
    font-size:18px;
    line-height:1.8;
    margin-top:18px;
}

.site-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.site-card{
    background:var(--card);
    border:1px solid var(--border);
    padding:34px;
}

.site-card h3{
    font-size:24px;
    margin-bottom:16px;
}

.site-card p{
    color:var(--muted);
    line-height:1.7;
}

.site-cta{
    background:linear-gradient(135deg, rgba(37,99,235,.16), transparent);
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    text-align:center;
}

.site-cta p{
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
}

.site-cta .site-button{
    margin-top:34px;
}

.site-content{
    max-width:980px;
}

.site-content div{
    margin-top:24px;
    color:var(--muted);
    line-height:1.9;
    font-size:18px;
}

.site-footer{
    border-top:1px solid var(--border);
    padding:38px 64px;
    display:flex;
    justify-content:space-between;
    color:var(--muted);
}

@media(max-width:980px){

    .site-header{
        height:auto;
        min-height:86px;
        grid-template-columns:1fr auto;
        padding:18px 24px;
    }

    .site-nav{
        display:none;
    }

    .site-logo img{
        height:34px;
        max-width:210px;
    }

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

    .site-section{
        padding:72px 24px;
    }

    .site-hero,
    .site-hero-image_right,
    .site-hero-image_left{
        grid-template-columns:1fr;
        gap:42px;
    }

    .site-hero-image_left .site-hero-content,
    .site-hero-image_left .site-hero-media{
        order:initial;
    }

    .site-hero h1{
        letter-spacing:-3px;
    }

    .site-grid{
        grid-template-columns:1fr;
    }

    .site-footer{
        padding:30px 24px;
        flex-direction:column;
        gap:10px;
    }
}

/* SERVICES SECTION */

.site-services{
    padding-top:120px;
    padding-bottom:120px;
}

.site-services-grid{
    display:grid;
    gap:24px;
}

.site-services-grid.columns-2{
    grid-template-columns:repeat(2,1fr);
}

.site-services-grid.columns-3{
    grid-template-columns:repeat(3,1fr);
}

.site-services-grid.columns-4{
    grid-template-columns:repeat(4,1fr);
}

.site-service-card{
    min-height:320px;
    background:linear-gradient(180deg, rgba(255,255,255,.035), transparent);
    border:1px solid var(--border);
    padding:34px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.site-service-card:hover{
    border-color:rgba(37,99,235,.7);
}

.site-service-icon{
    width:56px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--primary);
    background:rgba(37,99,235,.12);
    border:1px solid rgba(37,99,235,.35);
    margin-bottom:34px;
}

.site-service-icon svg{
    width:28px;
    height:28px;
}

.site-service-media{
    width:100%;
    height:150px;
    border:1px solid var(--border);
    background:var(--panel);
    margin-bottom:28px;
    overflow:hidden;
}

.site-service-media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.site-service-card h3{
    font-size:26px;
    line-height:1.15;
    letter-spacing:-1px;
    margin-bottom:16px;
}

.site-service-card p{
    color:var(--muted);
    line-height:1.75;
    font-size:16px;
}

.site-service-link{
    margin-top:26px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--primary);
    text-decoration:none;
    font-weight:900;
}

.site-service-link svg{
    width:18px;
    height:18px;
}

@media(max-width:1100px){
    .site-services-grid.columns-3,
    .site-services-grid.columns-4{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:760px){
    .site-services-grid,
    .site-services-grid.columns-2,
    .site-services-grid.columns-3,
    .site-services-grid.columns-4{
        grid-template-columns:1fr;
    }
}

/* SECTION SEPARATORS */

.site-section{
    position:relative;
    border-bottom:1px solid var(--border);
}

.site-section::after{
    content:"";
    position:absolute;
    left:64px;
    right:64px;
    bottom:-1px;
    height:1px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(37,99,235,.45),
        transparent
    );
    opacity:.65;
}

.site-section:last-child{
    border-bottom:none;
}

.site-section:last-child::after{
    display:none;
}

@media(max-width:900px){
    .site-section::after{
        left:24px;
        right:24px;
    }
}

/* SECTION ALIGNMENT */

.site-section-align-center .site-section-heading{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}

.site-section-align-center .site-section-heading p{
    margin-left:auto;
    margin-right:auto;
}

.site-section-align-center .site-service-card{
    text-align:center;
    align-items:center;
}

.site-section-align-center .site-service-icon{
    margin-left:auto;
    margin-right:auto;
}

.site-section-align-center .site-service-link{
    justify-content:center;
}

.site-section-align-right .site-section-heading{
    margin-left:auto;
    text-align:right;
}

.site-section-align-right .site-service-card{
    text-align:right;
    align-items:flex-end;
}

.site-section-align-right .site-service-icon{
    margin-left:auto;
}

.site-section-align-right .site-service-link{
    justify-content:flex-end;
}

/* CTA FORM */

.site-cta-form{
    width:100%;
    max-width:640px;
    margin:46px auto 0;
    background:var(--card);
    border:1px solid var(--border);
    padding:34px;
    text-align:left;
}

.site-cta-form h3{
    font-size:26px;
    margin-bottom:24px;
}

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

.site-form-field{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.site-form-field.is-wide{
    grid-column:1 / -1;
}

.site-form-field span{
    color:var(--muted);
    font-size:14px;
    font-weight:800;
}

.site-form-field input,
.site-form-field textarea{
    width:100%;
    border:1px solid var(--border);
    background:var(--bg);
    color:var(--text);
    min-height:50px;
    padding:12px 14px;
    outline:none;
    border-radius:0;
    font:inherit;
}

.site-form-field input:focus,
.site-form-field textarea:focus{
    border-color:var(--primary);
}

.site-form-button{
    width:100%;
    margin-top:24px;
    border-radius:0;
}

.site-form-success{
    border:1px solid rgba(34,197,94,.35);
    background:rgba(34,197,94,.1);
    color:#22c55e;
    padding:14px;
    margin-bottom:22px;
    font-weight:800;
}

.site-cta-form .site-button{
    cursor:pointer;
}

@media(max-width:760px){
    .site-form-grid{
        grid-template-columns:1fr;
    }

    .site-cta-form{
        padding:24px;
    }
}

/* CTA PREMIUM FIX */

.site-cta{
    text-align:left;
    background:
        radial-gradient(circle at top right, rgba(37,99,235,.18), transparent 34%),
        linear-gradient(135deg, rgba(37,99,235,.08), transparent);
}

.site-cta-inner{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    align-items:center;
    gap:72px;
}

.site-cta-content{
    max-width:560px;
}

.site-cta-content h2{
    font-size:clamp(42px, 5vw, 76px);
    line-height:1;
    letter-spacing:-3px;
}

.site-cta-content p{
    color:var(--muted);
    font-size:20px;
    line-height:1.8;
    margin-top:24px;
}

.site-cta-form{
    width:100%;
    max-width:none;
    margin:0;
    background:rgba(15,23,42,.72);
    border:1px solid var(--border);
    padding:34px;
    text-align:left;
    backdrop-filter:blur(18px);
}

.light .site-cta-form{
    background:rgba(255,255,255,.82);
}

.site-form-head{
    display:flex;
    align-items:flex-start;
    gap:18px;
    margin-bottom:28px;
}

.site-form-icon{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(37,99,235,.12);
    border:1px solid rgba(37,99,235,.35);
    color:var(--primary);
    flex-shrink:0;
}

.site-form-icon svg{
    width:25px;
    height:25px;
}

.site-form-head h3{
    font-size:28px;
    line-height:1.1;
    margin-bottom:8px;
}

.site-form-head p{
    color:var(--muted);
    line-height:1.6;
    font-size:15px;
}

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

.site-form-field{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.site-form-field.is-wide{
    grid-column:1 / -1;
}

.site-form-field > span{
    color:var(--muted);
    font-size:12px;
    font-weight:900;
    letter-spacing:3px;
    text-transform:uppercase;
}

.site-input-icon{
    min-height:52px;
    display:flex;
    align-items:center;
    gap:12px;
    border:1px solid var(--border);
    background:var(--bg);
    padding:0 14px;
    color:var(--muted);
}

.site-input-icon.is-textarea{
    align-items:flex-start;
    padding-top:14px;
}

.site-input-icon:focus-within{
    border-color:var(--primary);
    color:var(--primary);
}

.site-input-icon svg{
    width:20px;
    height:20px;
    flex-shrink:0;
}

.site-input-icon input,
.site-input-icon textarea{
    width:100%;
    border:none;
    background:transparent;
    color:var(--text);
    outline:none;
    font:inherit;
}

.site-input-icon textarea{
    resize:vertical;
    min-height:120px;
}

.site-form-button{
    width:100%;
    margin-top:24px;
    border-radius:0;
    cursor:pointer;
    gap:10px;
}

.site-form-button svg{
    width:18px;
    height:18px;
}

.site-form-success{
    border:1px solid rgba(34,197,94,.35);
    background:rgba(34,197,94,.1);
    color:#22c55e;
    padding:14px;
    margin-bottom:22px;
    font-weight:800;
}

.site-section-align-center .site-cta-inner{
    text-align:center;
}

.site-section-align-center .site-cta-content{
    margin-left:auto;
    margin-right:auto;
}

.site-section-align-center .site-cta-content p{
    margin-left:auto;
    margin-right:auto;
}

@media(max-width:980px){
    .site-cta-inner{
        grid-template-columns:1fr;
        gap:42px;
    }

    .site-cta-form{
        padding:26px;
    }
}

@media(max-width:720px){
    .site-form-grid{
        grid-template-columns:1fr;
    }
}

/* FEATURES SECTION */

.site-features-grid{
    display:grid;
    gap:24px;
}

.site-features-grid.columns-2{
    grid-template-columns:repeat(2,1fr);
}

.site-features-grid.columns-3{
    grid-template-columns:repeat(3,1fr);
}

.site-features-grid.columns-4{
    grid-template-columns:repeat(4,1fr);
}

.site-feature-card{
    min-height:300px;
    border:1px solid var(--border);
    background:var(--card);
    padding:34px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.site-feature-card.style-glass{
    background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
    backdrop-filter:blur(18px);
}

.site-feature-card.has-hover{
    transition:border-color .2s ease, transform .2s ease;
}

.site-feature-card.has-hover:hover{
    border-color:rgba(37,99,235,.75);
    transform:translateY(-4px);
}

.site-feature-icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--primary);
    background:rgba(37,99,235,.12);
    border:1px solid rgba(37,99,235,.35);
    margin-bottom:28px;
}

.site-feature-icon svg{
    width:30px;
    height:30px;
}

.site-feature-card h3{
    font-size:26px;
    line-height:1.15;
    letter-spacing:-1px;
    margin-bottom:16px;
}

.site-feature-card p{
    color:var(--muted);
    line-height:1.75;
    font-size:16px;
}

.site-feature-link{
    margin-top:26px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--primary);
    text-decoration:none;
    font-weight:900;
}

.site-feature-link svg{
    width:18px;
    height:18px;
}

.site-section-align-center .site-feature-card{
    text-align:center;
    align-items:center;
}

.site-section-align-center .site-feature-icon{
    margin-left:auto;
    margin-right:auto;
}

.site-section-align-center .site-feature-link{
    justify-content:center;
}

.site-section-align-right .site-feature-card{
    text-align:right;
    align-items:flex-end;
}

.site-section-align-right .site-feature-icon{
    margin-left:auto;
}

.site-section-align-right .site-feature-link{
    justify-content:flex-end;
}

@media(max-width:1100px){
    .site-features-grid.columns-3,
    .site-features-grid.columns-4{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:760px){
    .site-features-grid,
    .site-features-grid.columns-2,
    .site-features-grid.columns-3,
    .site-features-grid.columns-4{
        grid-template-columns:1fr;
    }
}

.site-header-menu-left .site-nav{
    justify-content:flex-start;
}

.site-header-menu-center .site-nav{
    justify-content:center;
}

.site-header-menu-right .site-nav{
    justify-content:flex-end;
}

.site-footer{
    display:grid;
    gap:34px;
    align-items:start;
}

.site-footer-columns-2{
    grid-template-columns:1.2fr .8fr;
}

.site-footer-columns-3{
    grid-template-columns:1.2fr .8fr .8fr;
}

.site-footer-columns-4{
    grid-template-columns:1.2fr .8fr .8fr .8fr;
}

.site-footer-brand img{
    margin-bottom:18px;
}

.site-footer-brand p{
    color:var(--muted);
    line-height:1.7;
    max-width:420px;
}

.site-footer-legal{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.site-footer-legal a{
    color:var(--muted);
    text-decoration:none;
    font-weight:700;
}

.site-footer-legal a:hover{
    color:var(--text);
}

.site-footer-copy{
    color:var(--muted);
    line-height:1.7;
}

@media(max-width:900px){
    .site-footer,
    .site-footer-columns-2,
    .site-footer-columns-3,
    .site-footer-columns-4{
        grid-template-columns:1fr;
    }
}

/* HEADER / FOOTER ICON OPTIONS */

.site-nav a{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.site-nav a svg{
    width:17px;
    height:17px;
    color:var(--primary);
}

.site-menu-icons-top .site-nav a{
    flex-direction:column;
    gap:5px;
}

.site-menu-icons-top .site-nav a svg{
    width:18px;
    height:18px;
}

.site-header-cta{
    gap:9px;
}

.site-header-cta svg{
    width:18px;
    height:18px;
}

.site-header-cta.icon-left{
    flex-direction:row;
}

.site-header-cta.icon-right{
    flex-direction:row;
}

.site-footer-legal a{
    display:inline-flex;
    align-items:center;
    gap:9px;
}

.site-footer-legal a svg{
    width:17px;
    height:17px;
    color:var(--primary);
    flex-shrink:0;
}

/* =========================================================
   RESPONSIVE HEADER + MOBILE MENU + FLUID TYPOGRAPHY
========================================================= */

html{
    font-size:clamp(14px, 0.95vw, 16px);
}

.site-mobile-toggle{
    display:none;
    width:46px;
    height:46px;
    align-items:center;
    justify-content:center;
    border:1px solid var(--border);
    background:transparent;
    color:var(--text);
    cursor:pointer;
}

.site-mobile-toggle svg{
    width:22px;
    height:22px;
}

.site-mobile-backdrop{
    position:fixed;
    inset:0;
    background:rgba(2,6,23,.72);
    z-index:80;
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease;
}

.site-mobile-menu{
    position:fixed;
    top:0;
    right:0;
    width:min(420px, 92vw);
    height:100vh;
    background:var(--panel);
    border-left:1px solid var(--border);
    z-index:90;
    transform:translateX(100%);
    transition:transform .24s ease;
    padding:24px;
    display:flex;
    flex-direction:column;
    gap:24px;
}

.site-mobile-open{
    overflow:hidden;
}

.site-mobile-open .site-mobile-backdrop{
    opacity:1;
    pointer-events:auto;
}

.site-mobile-open .site-mobile-menu{
    transform:translateX(0);
}

.site-mobile-menu-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--border);
    padding-bottom:18px;
}

.site-mobile-menu-head span{
    font-size:13px;
    letter-spacing:4px;
    text-transform:uppercase;
    color:var(--primary);
    font-weight:900;
}

.site-mobile-menu-head button{
    width:42px;
    height:42px;
    border:1px solid var(--border);
    background:transparent;
    color:var(--text);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.site-mobile-menu-head svg{
    width:20px;
    height:20px;
}

.site-mobile-nav{
    display:flex;
    flex-direction:column;
}

.site-mobile-nav a{
    min-height:58px;
    display:flex;
    align-items:center;
    gap:14px;
    border-bottom:1px solid var(--border);
    color:var(--text);
    text-decoration:none;
    font-size:18px;
    font-weight:900;
}

.site-mobile-nav a svg{
    width:21px;
    height:21px;
    color:var(--primary);
    flex-shrink:0;
}

.site-mobile-cta{
    min-height:56px;
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    background:var(--primary);
    border:1px solid var(--primary);
    color:#fff;
    text-decoration:none;
    font-weight:900;
}

.site-mobile-cta svg{
    width:18px;
    height:18px;
}

.site-hero h1{
    font-size:clamp(42px, 7vw, 96px);
}

.site-title-large h1{
    font-size:clamp(52px, 9vw, 120px);
}

.site-title-small h1{
    font-size:clamp(36px, 5vw, 72px);
}

.site-section-heading h2,
.site-content h2,
.site-cta h2{
    font-size:clamp(34px, 4vw, 56px);
}

.site-hero p{
    font-size:clamp(17px, 1.8vw, 24px);
}

.site-section-heading p,
.site-content p,
.site-cta p{
    font-size:clamp(16px, 1.2vw, 19px);
}

@media(max-width:1100px){
    .site-header{
        grid-template-columns:auto 1fr auto;
        padding-left:28px;
        padding-right:28px;
    }

    .site-nav{
        display:none !important;
    }

    .site-mobile-toggle{
        display:inline-flex;
    }

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

@media(max-width:760px){
    .site-header{
        min-height:76px;
        padding:14px 18px;
        gap:16px;
    }

    .site-logo img{
        max-width:190px;
        height:auto !important;
        max-height:34px;
    }

    .site-header-actions{
        gap:8px;
    }

    .site-theme-toggle,
    .site-mobile-toggle{
        width:42px;
        height:42px;
    }

    .site-section{
        padding-left:20px;
        padding-right:20px;
    }

    .site-hero{
        min-height:auto;
        padding-top:78px;
        padding-bottom:78px;
    }

    .site-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .site-button{
        width:100%;
    }
}

/* MOBILE HEADER ALIGNMENT FIX */

@media(max-width:1100px){
    .site-header{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        grid-template-columns:none !important;
    }

    .site-logo{
        flex:0 0 auto !important;
        margin-right:auto !important;
    }

    .site-header-actions{
        flex:0 0 auto !important;
        margin-left:auto !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
    }
}

@media(max-width:760px){
    .site-header{
        padding-left:18px !important;
        padding-right:18px !important;
    }

    .site-logo img{
        max-width:180px !important;
    }

    .site-header-actions{
        gap:8px !important;
    }
}

@media(max-width:420px){
    .site-logo img{
        max-width:165px !important;
    }
}

/* PREMIUM FOOTER */

.site-footer-premium{
    display:block;
    padding:0;
    border-top:1px solid var(--border);
    background:var(--bg);
}

.site-footer-main{
    display:grid;
    grid-template-columns:1.2fr .8fr .8fr;
    gap:56px;
    padding:58px 64px;
    border-bottom:1px solid var(--border);
}

.site-footer-column h3{
    font-size:15px;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--primary);
    margin-bottom:22px;
}

.site-footer-about img{
    margin-bottom:22px;
}

.site-footer-about p{
    max-width:460px;
    color:var(--muted);
    font-size:16px;
    line-height:1.8;
}

.site-footer-hours{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.site-footer-hours div{
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding-bottom:14px;
    border-bottom:1px solid var(--border);
}

.site-footer-hours span{
    color:var(--muted);
}

.site-footer-hours strong{
    color:var(--text);
    font-weight:900;
    text-align:right;
}

.site-footer-legal{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.site-footer-legal a{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--muted);
    text-decoration:none;
    font-weight:800;
}

.site-footer-legal a:hover{
    color:var(--text);
}

.site-footer-legal svg{
    width:18px;
    height:18px;
    color:var(--primary);
    flex-shrink:0;
}

.site-footer-bottom{
    min-height:68px;
    padding:0 64px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    color:var(--muted);
    font-size:15px;
}

@media(max-width:980px){
    .site-footer-main{
        grid-template-columns:1fr;
        padding:42px 24px;
        gap:38px;
    }

    .site-footer-bottom{
        padding:22px 24px;
        flex-direction:column;
        align-items:flex-start;
    }
}

/* FOOTER LOGO VISIBILITY FIX */

.site-footer-about .brand-dark,
.site-footer-about .brand-light{
    max-width:260px;
    object-fit:contain;
    margin-bottom:24px;
}

html:not(.light) .site-footer-about .brand-dark{
    display:block !important;
}

html:not(.light) .site-footer-about .brand-light{
    display:none !important;
}

html.light .site-footer-about .brand-dark{
    display:none !important;
}

html.light .site-footer-about .brand-light{
    display:block !important;
}

/* CTA ALIGN FIX */

.site-section-cta .site-section-container{
    width:100%;
    max-width:1440px;
    margin:0 auto;
    padding-left:64px;
    padding-right:64px;
    box-sizing:border-box;
}

.site-section-cta .site-cta-grid{
    align-items:stretch;
    gap:48px;
}

.site-section-cta .site-section-content{
    padding-left:0 !important;
    margin-left:0 !important;
}

@media (max-width: 1200px){

    .site-section-cta .site-section-container{
        padding-left:40px;
        padding-right:40px;
    }

}

@media (max-width: 768px){

    .site-section-cta .site-section-container{
        padding-left:24px;
        padding-right:24px;
    }

}

/* CTA REAL ALIGNMENT FIX */

.site-cta{
    max-width:none !important;
    width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

.site-cta .site-cta-inner{
    width:100% !important;
    max-width:1440px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:64px !important;
    padding-right:64px !important;
    box-sizing:border-box !important;
}

.site-cta .site-cta-content{
    padding-left:0 !important;
    margin-left:0 !important;
}

@media(max-width:980px){
    .site-cta .site-cta-inner{
        padding-left:24px !important;
        padding-right:24px !important;
    }
}

@media(max-width:760px){
    .site-cta .site-cta-inner{
        padding-left:20px !important;
        padding-right:20px !important;
    }
}

/* CTA FORM PLACEHOLDER CLEAN FIX */

.site-cta-form .site-form-field > span{
    display:none !important;
}

.site-input-icon input::placeholder,
.site-input-icon textarea::placeholder{
    color:var(--muted);
    opacity:.78;
    font-weight:700;
}

.site-input-icon{
    min-height:58px;
}

.site-input-icon input{
    min-height:56px;
}

.site-input-icon textarea{
    padding-top:2px;
}

/* =========================================================
   STICKY FOOTER LAYOUT
========================================================= */

html,
body{
    min-height:100%;
}

.site-body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

.site-main{
    flex:1;
    width:100%;
    display:block;
}

/* garante que footer nunca sobe */

.site-footer{
    margin-top:auto;
}

/* STICKY FOOTER */

html,
body{
    min-height:100%;
}

.site-body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

.site-main{
    flex:1 0 auto;
    width:100%;
}

.site-footer{
    margin-top:auto;
}

/* SITE BLOG */

.site-blog-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
    margin-top:56px;
}

.site-blog-card{
    border:1px solid var(--border);
    background:var(--panel);
}

.site-blog-image{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    border-bottom:1px solid var(--border);
}

.site-blog-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.site-blog-content{
    padding:28px;
}

.site-blog-content span{
    display:block;
    color:var(--accent);
    font-size:12px;
    font-weight:900;
    letter-spacing:.18em;
    text-transform:uppercase;
    margin-bottom:14px;
}

.site-blog-content h2{
    font-size:24px;
    line-height:1.15;
    margin:0 0 16px;
}

.site-blog-content h2 a{
    color:var(--text);
    text-decoration:none;
}

.site-blog-content p{
    color:var(--muted);
    line-height:1.7;
    margin:0 0 24px;
}

.site-blog-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--text);
    font-weight:900;
    text-decoration:none;
}

.site-blog-link svg{
    width:18px;
    height:18px;
    color:var(--accent);
}

.site-blog-single-container{
    max-width:980px;
}

.site-blog-back{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--muted);
    text-decoration:none;
    font-weight:800;
    margin-bottom:40px;
}

.site-blog-back svg{
    width:18px;
    height:18px;
    transform:rotate(180deg);
}

.site-blog-single-head h1{
    font-size:clamp(42px,6vw,78px);
    line-height:.95;
    margin:18px 0 24px;
}

.site-blog-single-head p{
    color:var(--muted);
    font-size:22px;
    line-height:1.6;
}

.site-blog-single-image{
    margin:48px 0;
    border:1px solid var(--border);
}

.site-blog-single-image img{
    width:100%;
    display:block;
}

.site-blog-body{
    color:var(--text);
    font-size:20px;
    line-height:1.8;
}

.site-empty-state{
    grid-column:1 / -1;
    border:1px solid var(--border);
    background:var(--panel);
    padding:32px;
    color:var(--muted);
}

@media(max-width:980px){
    .site-blog-grid{
        grid-template-columns:1fr;
    }
}


/* BLOG SINGLE PREMIUM FIX */

.site-blog-single{
    padding:90px 0 120px;
}

.site-blog-layout{
    width:min(1500px, calc(100% - 96px));
    margin:0 auto;
    display:grid;
    grid-template-columns:320px minmax(0, 1fr);
    gap:72px;
    align-items:start;
}

.site-blog-sidebar{
    position:sticky;
    top:130px;
}

.site-blog-back{
    display:inline-flex;
    align-items:center;
    color:var(--muted);
    text-decoration:none;
    font-weight:900;
    margin-bottom:34px;
}

.site-blog-cta{
    border:1px solid var(--border);
    background:var(--panel);
    padding:32px;
}

.site-blog-cta span{
    display:block;
    color:var(--accent);
    font-size:12px;
    font-weight:900;
    letter-spacing:.18em;
    text-transform:uppercase;
    margin-bottom:16px;
}

.site-blog-cta h3{
    font-size:26px;
    line-height:1.15;
    margin:0 0 16px;
}

.site-blog-cta p{
    color:var(--muted);
    line-height:1.7;
    margin:0 0 28px;
}

.site-blog-cta-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 22px;
    background:var(--accent);
    color:#fff;
    text-decoration:none;
    font-weight:900;
}

.site-blog-article{
    max-width:980px;
}

.site-blog-single-head h1{
    margin-top:18px;
}

.site-blog-single-image{
    margin-top:44px;
}

@media(max-width:980px){
    .site-blog-single{
        padding:64px 0 90px;
    }

    .site-blog-layout{
        width:min(100% - 40px, 760px);
        grid-template-columns:1fr;
        gap:42px;
    }

    .site-blog-sidebar{
        position:relative;
        top:auto;
    }
}


/* BLOG INDEX + SINGLE SPACING FINAL */

.site-section{
    padding-top:76px !important;
}

.site-blog-grid{
    margin-top:42px !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.site-blog-card{
    max-width:none !important;
}

.site-blog-single{
    padding-top:72px !important;
}

.site-blog-layout{
    gap:56px !important;
}

.site-blog-single-head h1{
    font-size:clamp(48px,5.4vw,86px) !important;
    line-height:.95 !important;
}

.site-blog-single-image img{
    max-height:560px !important;
    object-fit:cover !important;
}

@media(max-width:980px){
    .site-blog-grid{
        grid-template-columns:1fr !important;
    }

    .site-section{
        padding-top:56px !important;
    }

    .site-blog-single{
        padding-top:56px !important;
    }
}

/* BLOG INDEX MOVE UP */

body:has(.site-blog-grid) .site-section{
    padding-top:38px !important;
}

body:has(.site-blog-grid) .site-section-container{
    margin-top:0 !important;
}

body:has(.site-blog-grid) .site-section-head{
    margin-top:0 !important;
}

body:has(.site-blog-grid) .site-blog-grid{
    margin-top:34px !important;
}


/* BLOG SINGLE MOVE UP */

.site-blog-single{
    padding-top:34px !important;
}

.site-blog-layout{
    align-items:start !important;
}

.site-blog-sidebar{
    top:110px !important;
}

.site-blog-single-head{
    margin-top:-12px !important;
}

.site-blog-single-head h1{
    margin-top:8px !important;
}


/* GLOBAL PAGE HEADER */

.site-page-header{
    padding:76px 0 52px;
    border-bottom:1px solid var(--border);
    background:var(--body);
}

.site-page-header-container{
    width:min(1500px, calc(100% - 96px));
    margin:0 auto;
}

.site-page-header-eyebrow{
    display:block;
    color:var(--accent);
    font-size:13px;
    font-weight:900;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin-bottom:14px;
}

.site-page-header h1{
    font-size:clamp(42px,5.5vw,82px);
    line-height:.95;
    margin:0;
    max-width:980px;
}

.site-page-header p{
    color:var(--muted);
    font-size:20px;
    line-height:1.6;
    max-width:780px;
    margin:22px 0 0;
}

@media(max-width:768px){
    .site-page-header{
        padding:52px 0 38px;
    }

    .site-page-header-container{
        width:min(100% - 40px, 760px);
    }
}


/* === SYNTRIX UX FRIENDLY PATCH START === */
:root{--site-x:clamp(28px,5vw,92px);--site-wide:1760px;--site-readable:1180px;--primary-soft:rgba(37,99,235,.16);}
.site-header{padding-left:var(--site-x)!important;padding-right:var(--site-x)!important}
.site-section{width:100%!important;max-width:none!important;margin:0!important;padding-left:var(--site-x)!important;padding-right:var(--site-x)!important}
.site-section>.site-section-heading,.site-section>.site-services-grid,.site-section>.site-features-grid,.site-section>.site-cta-inner,.site-section>.site-contact-grid,.site-section.site-content{width:min(var(--site-wide),100%);margin-left:auto;margin-right:auto}
.site-content{max-width:none!important}.site-content h2,.site-content p,.site-content div{max-width:var(--site-readable)}.site-content div{font-size:clamp(17px,1.08vw,20px)}
.site-nav a,.site-mobile-nav a{position:relative;transition:color .2s ease,background .2s ease,border-color .2s ease}.site-nav a.is-active{color:var(--text)!important}.site-nav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-35px;height:3px;background:var(--primary);box-shadow:0 0 18px rgba(37,99,235,.75)}.site-mobile-nav a.is-active,.site-footer-legal a.is-active{color:var(--primary)!important}.site-header-cta.is-active{box-shadow:0 0 0 4px rgba(37,99,235,.18)}
.site-hero{min-height:min(760px,calc(100vh - 92px))!important;padding-top:92px!important;padding-bottom:92px!important}.site-hero h1{font-size:clamp(46px,5.4vw,88px)!important;line-height:1.02!important;letter-spacing:-4px!important;max-width:980px!important}.site-title-large h1{font-size:clamp(50px,6vw,96px)!important}.site-title-small h1{font-size:clamp(38px,4.2vw,68px)!important}.site-hero p{max-width:820px;font-size:clamp(18px,1.45vw,22px)!important}.site-hero-media img{max-height:460px!important;aspect-ratio:16/10}
.site-hero-slideshow{display:block!important;position:relative;overflow:hidden}.site-hero-track{position:relative;width:100%;min-height:inherit}.site-hero-slide{width:min(var(--site-wide),100%);min-height:min(760px,calc(100vh - 92px));margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(42px,5vw,86px);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease;position:absolute;inset:0}.site-hero-slide.is-active{opacity:1;pointer-events:auto;transform:translateY(0);position:relative}.site-hero-dots{width:min(var(--site-wide),100%);margin:24px auto 0;display:flex;gap:10px;position:relative;z-index:5}.site-hero-dots button{width:38px;height:4px;border:0;background:rgba(148,163,184,.35);cursor:pointer}.site-hero-dots button.is-active{background:var(--primary)}
.site-section-heading{max-width:980px!important}.site-section-align-center .site-section-heading{max-width:1080px!important}.site-section-heading h2,.site-content h2,.site-cta h2{font-size:clamp(38px,3.6vw,64px)!important;line-height:1.08}.site-services-grid.columns-4,.site-features-grid.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.site-service-card,.site-feature-card{min-height:280px}.site-service-icon svg,.site-feature-icon svg,.site-input-icon svg,.site-form-icon svg,.site-contact-card svg,.site-nav svg,.site-header-cta svg,.site-mobile-nav svg{display:block}
.site-page-header{position:relative;min-height:360px;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 82% 18%,rgba(37,99,235,.36),transparent 32%),linear-gradient(135deg,rgba(15,23,42,.96),rgba(2,6,23,.96));border-bottom:1px solid var(--border)}.site-page-header.has-image::before{content:"";position:absolute;inset:0;background-image:var(--page-header-image);background-size:cover;background-position:center;opacity:.28;filter:saturate(1.1)}.site-page-header-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,23,.96),rgba(2,6,23,.65),rgba(2,6,23,.92))}.light .site-page-header-overlay{background:linear-gradient(90deg,rgba(248,250,252,.92),rgba(248,250,252,.72),rgba(248,250,252,.9))}.site-page-header-container{position:relative;z-index:2;width:min(var(--site-wide),calc(100% - (var(--site-x) * 2)));margin:0 auto}.site-page-header-eyebrow{display:block;color:var(--primary);font-size:13px;letter-spacing:5px;font-weight:900;text-transform:uppercase;margin-bottom:18px}.site-page-header h1{font-size:clamp(52px,5.2vw,94px);line-height:.98;letter-spacing:-4px;max-width:960px}.site-page-header p{color:var(--muted);font-size:clamp(18px,1.25vw,22px);line-height:1.7;max-width:920px;margin-top:22px}
.site-contact-section{padding-top:92px!important;padding-bottom:92px!important;background:radial-gradient(circle at 20% 10%,rgba(37,99,235,.14),transparent 32%),var(--bg)}.site-contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(42px,5vw,92px);align-items:start}.site-contact-info>span{display:block;color:var(--primary);font-size:13px;letter-spacing:5px;font-weight:900;text-transform:uppercase;margin-bottom:22px}.site-contact-info h2{font-size:clamp(44px,4.6vw,78px);line-height:1;letter-spacing:-3px}.site-contact-info>p{color:var(--muted);font-size:20px;line-height:1.8;margin-top:24px;max-width:720px}.site-contact-cards{display:grid;grid-template-columns:1fr;gap:16px;margin-top:34px}.site-contact-card{display:grid;grid-template-columns:56px 1fr;gap:4px 16px;align-items:center;padding:20px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.035),transparent);text-decoration:none}.site-contact-card div{grid-row:1 / span 2;width:52px;height:52px;display:flex;align-items:center;justify-content:center;color:var(--primary);background:rgba(37,99,235,.12);border:1px solid rgba(37,99,235,.35)}.site-contact-card svg{width:24px;height:24px}.site-contact-card span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:900}.site-contact-card strong{color:var(--text);line-height:1.5}.site-map-card{margin-top:22px;border:1px solid var(--border);background:var(--card);overflow:hidden;min-height:320px}.site-map-card iframe{width:100%;height:360px;border:0;filter:grayscale(.15) contrast(.95)}.site-contact-form{background:rgba(15,23,42,.76);border:1px solid var(--border);padding:clamp(28px,3vw,42px);backdrop-filter:blur(18px)}.light .site-contact-form{background:rgba(255,255,255,.86)}.site-input-icon select{width:100%;min-height:52px;border:none;outline:none;background:transparent;color:var(--text);font:inherit}.site-input-icon select option{color:#020617}
.site-footer-main{padding-left:var(--site-x)!important;padding-right:var(--site-x)!important;grid-template-columns:1.15fr .85fr .7fr!important}.site-footer-bottom{padding-left:var(--site-x)!important;padding-right:var(--site-x)!important}
@media(max-width:1180px){.site-hero-slide,.site-contact-grid{grid-template-columns:1fr}.site-services-grid.columns-4,.site-features-grid.columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}.site-nav a.is-active::after{bottom:-31px}}@media(max-width:760px){:root{--site-x:20px}.site-hero h1{font-size:clamp(40px,13vw,58px)!important;letter-spacing:-2px!important}.site-hero-slide{min-height:auto}.site-services-grid.columns-4,.site-features-grid.columns-4{grid-template-columns:1fr}.site-page-header{min-height:300px}.site-page-header h1{letter-spacing:-2px}.site-contact-form{padding:24px}.site-footer-main{grid-template-columns:1fr!important}}
/* === SYNTRIX UX FRIENDLY PATCH END === */

/* === SYNTRIX FINAL HERO SPACING FIX START === */

/*
 * Reduz o espaço entre o header e o conteúdo do slideshow.
 * Também equilibra o tamanho do título para ficar mais user friendly.
 */

.site-hero {
    min-height: 620px !important;
    padding-top: 36px !important;
    padding-bottom: 64px !important;
}

.site-hero-track {
    min-height: 620px !important;
}

.site-hero-slide {
    min-height: 620px !important;
    align-items: center !important;
}

.site-hero h1 {
    font-size: clamp(44px, 4.8vw, 78px) !important;
    line-height: 1.03 !important;
    letter-spacing: -3px !important;
    max-width: 860px !important;
}

.site-title-large h1 {
    font-size: clamp(46px, 5vw, 82px) !important;
}

.site-hero p {
    font-size: clamp(17px, 1.25vw, 21px) !important;
    line-height: 1.7 !important;
    max-width: 760px !important;
}

.site-hero-media img {
    max-height: 430px !important;
}

.site-hero-dots {
    margin-top: 8px !important;
}

@media (max-width: 1180px) {
    .site-hero {
        min-height: auto !important;
        padding-top: 44px !important;
        padding-bottom: 58px !important;
    }

    .site-hero-track,
    .site-hero-slide {
        min-height: auto !important;
    }
}

@media (max-width: 760px) {
    .site-hero {
        padding-top: 34px !important;
        padding-bottom: 44px !important;
    }

    .site-hero h1,
    .site-title-large h1 {
        font-size: clamp(38px, 12vw, 56px) !important;
        letter-spacing: -2px !important;
    }
}

/* === SYNTRIX FINAL HERO SPACING FIX END === */


/* === SYNTRIX HERO TIGHT FINAL START === */

/* Reduz espaço entre menu/header e slideshow da Home */
.site-hero {
    padding-top: 0 !important;
    padding-bottom: 48px !important;
    min-height: 540px !important;
}

.site-hero-track,
.site-hero-slide {
    min-height: 540px !important;
}

.site-hero-slide {
    align-items: flex-start !important;
    padding-top: 58px !important;
}

.site-hero .site-container,
.site-hero .site-wide-container {
    padding-top: 0 !important;
}

.site-hero h1 {
    font-size: clamp(42px, 4.2vw, 68px) !important;
    line-height: 1.04 !important;
    letter-spacing: -2.5px !important;
    margin-bottom: 24px !important;
}

.site-hero .site-eyebrow {
    margin-bottom: 22px !important;
}

.site-hero p {
    font-size: 20px !important;
    line-height: 1.65 !important;
    margin-bottom: 34px !important;
}

.site-hero-media img {
    max-height: 390px !important;
    object-fit: cover !important;
}

.site-hero-actions {
    margin-top: 0 !important;
}

.site-hero-dots {
    margin-top: 18px !important;
}

@media (max-width: 1180px) {
    .site-hero {
        padding-top: 0 !important;
        padding-bottom: 42px !important;
        min-height: auto !important;
    }

    .site-hero-track,
    .site-hero-slide {
        min-height: auto !important;
    }

    .site-hero-slide {
        padding-top: 38px !important;
    }
}

@media (max-width: 760px) {
    .site-hero-slide {
        padding-top: 28px !important;
    }

    .site-hero h1 {
        font-size: clamp(36px, 11vw, 52px) !important;
        letter-spacing: -1.8px !important;
    }
}

/* === SYNTRIX HERO TIGHT FINAL END === */


/* === SYNTRIX CONTACT FORM SECURITY START === */
.site-hp-field {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.site-form-error {
    margin: 18px 0;
    padding: 16px 18px;
    border: 1px solid rgba(239, 68, 68, .35);
    background: rgba(239, 68, 68, .08);
    color: #fecaca;
    font-weight: 700;
    line-height: 1.5;
}

.light .site-form-error {
    color: #991b1b;
    background: rgba(239, 68, 68, .08);
}

.site-form-error ul {
    margin: 8px 0 0;
    padding-left: 18px;
    font-weight: 600;
}
/* === SYNTRIX CONTACT FORM SECURITY END === */


/* === SYNTRIX SERVICOS BALANCED INTRO START === */

html.syntrix-route-servicos {
    --servicos-max: min(1760px, calc(100vw - 96px));
}

html.syntrix-route-servicos .site-page-header {
    min-height: 300px !important;
    padding-top: 58px !important;
    padding-bottom: 58px !important;
}

html.syntrix-route-servicos .site-servicos-overview-duo {
    width: var(--servicos-max) !important;
    max-width: var(--servicos-max) !important;
    margin: 0 auto !important;
    padding: 72px 0 64px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;
    align-items: stretch !important;
    border-bottom: 1px solid rgba(148, 163, 184, .18) !important;
}

html.syntrix-route-servicos .site-servicos-overview-card {
    min-width: 0 !important;
    padding: clamp(34px, 3.2vw, 54px) !important;
    border: 1px solid rgba(148, 163, 184, .14) !important;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, .12), transparent 36%),
        linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.008)) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

html.syntrix-route-servicos .site-servicos-overview-eyebrow {
    display: block !important;
    color: var(--primary, #2563eb) !important;
    font-size: 12px !important;
    letter-spacing: 5px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    margin-bottom: 22px !important;
}

html.syntrix-route-servicos .site-servicos-overview-card h2 {
    max-width: 760px !important;
    min-height: 132px !important;
    margin: 0 0 24px 0 !important;
    font-size: clamp(34px, 2.65vw, 52px) !important;
    line-height: 1.08 !important;
    letter-spacing: -1.8px !important;
}

html.syntrix-route-servicos .site-servicos-overview-subtitle {
    min-height: 92px !important;
    margin: 0 0 22px 0 !important;
    color: var(--muted, #94a3b8) !important;
    font-size: 18px !important;
    line-height: 1.72 !important;
    max-width: 780px !important;
}

html.syntrix-route-servicos .site-servicos-overview-copy {
    color: var(--muted, #94a3b8) !important;
    font-size: 17px !important;
    line-height: 1.78 !important;
    max-width: 820px !important;
}

html.syntrix-route-servicos .site-servicos-overview-copy br + br {
    display: block !important;
    content: "" !important;
    margin-top: 16px !important;
}

html.syntrix-route-servicos .site-section.site-services {
    width: var(--servicos-max) !important;
    max-width: var(--servicos-max) !important;
    margin: 0 auto !important;
    padding: 60px 0 110px !important;
}

html.syntrix-route-servicos .site-section.site-services.site-services-without-heading > .site-section-heading {
    display: none !important;
}

html.syntrix-route-servicos .site-section.site-services > .site-services-grid,
html.syntrix-route-servicos .site-section.site-services > .site-services-grid.columns-4,
html.syntrix-route-servicos .site-section.site-services > .site-services-grid.columns-3,
html.syntrix-route-servicos .site-section.site-services > .site-services-grid.columns-2 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
}

html.syntrix-route-servicos .site-service-card {
    min-width: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: clamp(28px, 2.3vw, 42px) !important;
}

html.syntrix-route-servicos .site-service-card h3 {
    font-size: 23px !important;
    line-height: 1.22 !important;
    letter-spacing: -.5px !important;
}

html.syntrix-route-servicos .site-service-card p {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

@media (max-width: 1180px) {
    html.syntrix-route-servicos {
        --servicos-max: min(100% - 48px, 980px);
    }

    html.syntrix-route-servicos .site-servicos-overview-duo {
        grid-template-columns: 1fr !important;
    }

    html.syntrix-route-servicos .site-servicos-overview-card h2,
    html.syntrix-route-servicos .site-servicos-overview-subtitle {
        min-height: 0 !important;
    }

    html.syntrix-route-servicos .site-section.site-services > .site-services-grid,
    html.syntrix-route-servicos .site-section.site-services > .site-services-grid.columns-4,
    html.syntrix-route-servicos .site-section.site-services > .site-services-grid.columns-3,
    html.syntrix-route-servicos .site-section.site-services > .site-services-grid.columns-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    html.syntrix-route-servicos {
        --servicos-max: calc(100% - 28px);
    }

    html.syntrix-route-servicos .site-servicos-overview-duo {
        padding: 44px 0 38px !important;
    }

    html.syntrix-route-servicos .site-servicos-overview-card {
        padding: 28px 22px !important;
    }

    html.syntrix-route-servicos .site-servicos-overview-card h2 {
        font-size: clamp(32px, 10vw, 44px) !important;
    }

    html.syntrix-route-servicos .site-section.site-services > .site-services-grid,
    html.syntrix-route-servicos .site-section.site-services > .site-services-grid.columns-4,
    html.syntrix-route-servicos .site-section.site-services > .site-services-grid.columns-3,
    html.syntrix-route-servicos .site-section.site-services > .site-services-grid.columns-2 {
        grid-template-columns: 1fr !important;
    }
}

/* === SYNTRIX SERVICOS BALANCED INTRO END === */

/* === SYNTRIX SOBRE CARDS START === */

html.syntrix-route-sobre {
    --sobre-max: min(1760px, calc(100vw - 96px));
}

html.syntrix-route-sobre .site-page-header {
    min-height: 300px !important;
    padding-top: 58px !important;
    padding-bottom: 58px !important;
}

html.syntrix-route-sobre .site-sobre-cards {
    width: var(--sobre-max) !important;
    max-width: var(--sobre-max) !important;
    margin: 0 auto !important;
    padding: 72px 0 96px !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

html.syntrix-route-sobre .site-sobre-card {
    min-width: 0 !important;
    min-height: 100% !important;
    padding: clamp(30px, 2.6vw, 46px) !important;
    border: 1px solid rgba(148, 163, 184, .15) !important;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, .12), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.038), rgba(255,255,255,.01)) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

html.syntrix-route-sobre .site-sobre-card-eyebrow {
    display: block !important;
    margin-bottom: 20px !important;
    color: var(--primary, #2563eb) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 5px !important;
    text-transform: uppercase !important;
}

html.syntrix-route-sobre .site-sobre-card h2 {
    margin: 0 0 20px 0 !important;
    min-height: 118px !important;
    font-size: clamp(30px, 2.05vw, 42px) !important;
    line-height: 1.1 !important;
    letter-spacing: -1.4px !important;
}

html.syntrix-route-sobre .site-sobre-card-subtitle {
    margin: 0 0 22px 0 !important;
    min-height: 90px !important;
    color: var(--muted, #94a3b8) !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
}

html.syntrix-route-sobre .site-sobre-card-copy {
    color: var(--muted, #94a3b8) !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
}

html.syntrix-route-sobre .site-sobre-card-copy br + br {
    display: block !important;
    content: "" !important;
    margin-top: 12px !important;
}

html.syntrix-route-sobre .site-sobre-card-values {
    display: grid !important;
    gap: 14px !important;
    margin-top: 4px !important;
}

html.syntrix-route-sobre .site-sobre-card-value {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: flex-start !important;
    padding: 14px !important;
    border: 1px solid rgba(148, 163, 184, .12) !important;
    background: rgba(15, 23, 42, .28) !important;
}

html.syntrix-route-sobre .site-sobre-card-value-icon {
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--primary, #2563eb) !important;
    border: 1px solid rgba(37, 99, 235, .45) !important;
    background: rgba(37, 99, 235, .1) !important;
}

html.syntrix-route-sobre .site-sobre-card-value-icon svg {
    width: 18px !important;
    height: 18px !important;
    stroke: currentColor !important;
}

html.syntrix-route-sobre .site-sobre-card-value strong {
    display: block !important;
    color: var(--text, #f8fafc) !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    margin-bottom: 5px !important;
}

html.syntrix-route-sobre .site-sobre-card-value small {
    display: block !important;
    color: var(--muted, #94a3b8) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

html.syntrix-route-sobre .site-section:not(.site-sobre-cards) {
    width: var(--sobre-max) !important;
    max-width: var(--sobre-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 1240px) {
    html.syntrix-route-sobre {
        --sobre-max: min(100% - 48px, 1080px);
    }

    html.syntrix-route-sobre .site-sobre-cards {
        grid-template-columns: 1fr !important;
    }

    html.syntrix-route-sobre .site-sobre-card h2,
    html.syntrix-route-sobre .site-sobre-card-subtitle {
        min-height: 0 !important;
    }
}

@media (max-width: 720px) {
    html.syntrix-route-sobre {
        --sobre-max: calc(100% - 28px);
    }

    html.syntrix-route-sobre .site-sobre-cards {
        padding: 44px 0 64px !important;
    }

    html.syntrix-route-sobre .site-sobre-card {
        padding: 28px 22px !important;
    }

    html.syntrix-route-sobre .site-sobre-card h2 {
        font-size: clamp(30px, 10vw, 42px) !important;
    }
}

/* === SYNTRIX SOBRE CARDS END === */

/* === SYNTRIX SOBRE FINAL CLEANUP START === */

html.syntrix-route-sobre .site-sobre-cards {
    padding-bottom: 72px !important;
    border-bottom: 1px solid rgba(148, 163, 184, .14) !important;
}

html.syntrix-route-sobre .site-sobre-card {
    min-height: 520px !important;
}

html.syntrix-route-sobre .site-sobre-card h2 {
    min-height: 104px !important;
    font-size: clamp(28px, 1.85vw, 38px) !important;
}

html.syntrix-route-sobre .site-sobre-card-subtitle {
    min-height: 78px !important;
}

html.syntrix-route-sobre .site-sobre-card-copy {
    max-width: none !important;
}

/* Evita que qualquer bloco antigo de conteúdo fique gigante depois dos cards. */
html.syntrix-route-sobre .site-sobre-cards + .site-section {
    display: none !important;
}

html.syntrix-route-sobre .site-footer {
    margin-top: 0 !important;
}

@media (max-width: 1240px) {
    html.syntrix-route-sobre .site-sobre-card {
        min-height: auto !important;
    }

    html.syntrix-route-sobre .site-sobre-card h2,
    html.syntrix-route-sobre .site-sobre-card-subtitle {
        min-height: 0 !important;
    }
}

/* === SYNTRIX SOBRE FINAL CLEANUP END === */

/* === SYNTRIX CONTACT HARD RESTORE V2 START === */
body:has(.syntrix-contact-v2) .site-section.syntrix-contact-v2 {
    width: 100% !important;
    max-width: none !important;
    padding: 72px var(--site-x, clamp(28px,5vw,92px)) 92px !important;
    margin: 0 !important;
}

.syntrix-contact-v2,
.syntrix-contact-v2 * {
    box-sizing: border-box !important;
}

.syntrix-contact-v2-layout {
    width: min(1680px, 100%) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr) !important;
    gap: clamp(42px, 5vw, 86px) !important;
    align-items: start !important;
}

.syntrix-contact-v2-eyebrow,
.syntrix-contact-v2-grid label > span {
    display: block !important;
    color: var(--primary, #2563eb) !important;
    text-transform: uppercase !important;
    letter-spacing: .34em !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    margin-bottom: 18px !important;
}

.syntrix-contact-v2-left h2 {
    color: var(--text, #fff) !important;
    font-size: clamp(52px, 4.2vw, 82px) !important;
    line-height: 1.02 !important;
    letter-spacing: -3px !important;
    margin: 0 0 26px !important;
    max-width: 760px !important;
}

.syntrix-contact-v2-left p {
    color: var(--muted, #9fb3cc) !important;
    font-size: clamp(18px, 1.2vw, 22px) !important;
    line-height: 1.72 !important;
    max-width: 760px !important;
    margin: 0 0 34px !important;
}

.syntrix-contact-v2-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin: 0 0 22px !important;
}

.syntrix-contact-v2-card {
    min-height: 104px !important;
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: center !important;
    padding: 20px 22px !important;
    background: rgba(15, 23, 42, .58) !important;
    border: 1px solid rgba(148, 163, 184, .18) !important;
    color: inherit !important;
    text-decoration: none !important;
}

.syntrix-contact-v2-address {
    grid-column: 1 / -1 !important;
}

.syntrix-contact-v2-icon {
    width: 52px !important;
    height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(37, 99, 235, .13) !important;
    border: 1px solid rgba(37, 99, 235, .44) !important;
    color: var(--primary, #2563eb) !important;
    flex: none !important;
}

.syntrix-contact-v2-icon svg,
.syntrix-contact-v2-input svg,
.syntrix-contact-v2-submit svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    color: currentColor !important;
    stroke: currentColor !important;
    flex: none !important;
}

.syntrix-contact-v2-card span {
    display: block !important;
    color: var(--muted, #9fb3cc) !important;
    text-transform: uppercase !important;
    letter-spacing: .24em !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    margin: 0 0 8px !important;
}

.syntrix-contact-v2-card strong {
    display: block !important;
    color: var(--text, #fff) !important;
    font-size: 15px !important;
    line-height: 1.38 !important;
    overflow-wrap: anywhere !important;
}

.syntrix-contact-v2-map {
    width: 100% !important;
    height: 290px !important;
    overflow: hidden !important;
    border: 1px solid rgba(148, 163, 184, .18) !important;
    background: rgba(15, 23, 42, .58) !important;
}

.syntrix-contact-v2-map iframe {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    display: block !important;
}

.syntrix-contact-v2-form {
    margin-top: 40px !important;
    padding: clamp(28px, 3vw, 42px) !important;
    background: rgba(15, 23, 42, .66) !important;
    border: 1px solid rgba(148, 163, 184, .18) !important;
}

.syntrix-contact-v2-form-head {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: center !important;
    margin: 0 0 28px !important;
}

.syntrix-contact-v2-form-head h3 {
    color: var(--text, #fff) !important;
    font-size: clamp(28px, 2vw, 36px) !important;
    line-height: 1.15 !important;
    letter-spacing: -1px !important;
    margin: 0 0 8px !important;
}

.syntrix-contact-v2-form-head p {
    color: var(--muted, #9fb3cc) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

.syntrix-contact-v2-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.syntrix-contact-v2-grid label {
    display: block !important;
    margin: 0 !important;
}

.syntrix-contact-v2-grid label.is-wide {
    grid-column: 1 / -1 !important;
}

.syntrix-contact-v2-grid label > span {
    color: var(--muted, #9fb3cc) !important;
    font-size: 12px !important;
    margin: 0 0 9px !important;
}

.syntrix-contact-v2-input {
    min-height: 58px !important;
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    align-items: center !important;
    background: rgba(2, 6, 23, .7) !important;
    border: 1px solid rgba(148, 163, 184, .18) !important;
    color: rgba(148, 163, 184, .95) !important;
}

.syntrix-contact-v2-input.is-textarea {
    align-items: start !important;
}

.syntrix-contact-v2-input svg {
    justify-self: center !important;
}

.syntrix-contact-v2-input input,
.syntrix-contact-v2-input select,
.syntrix-contact-v2-input textarea {
    width: 100% !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: var(--text, #fff) !important;
    padding: 0 16px 0 0 !important;
    font: inherit !important;
    min-height: 56px !important;
}

.syntrix-contact-v2-input textarea {
    padding-top: 18px !important;
    resize: vertical !important;
}

.syntrix-contact-v2-submit {
    width: 100% !important;
    margin-top: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
}

@media (max-width: 1100px) {
    .syntrix-contact-v2-layout {
        grid-template-columns: 1fr !important;
    }

    .syntrix-contact-v2-form {
        margin-top: 0 !important;
    }
}

@media (max-width: 720px) {
    .syntrix-contact-v2-cards,
    .syntrix-contact-v2-grid {
        grid-template-columns: 1fr !important;
    }

    .syntrix-contact-v2-address,
    .syntrix-contact-v2-grid label.is-wide {
        grid-column: auto !important;
    }
}
/* === SYNTRIX CONTACT HARD RESTORE V2 END === */

/* === SYNTRIX CONTACT V2 CSS ONLY FIX START === */
/* Escopo fechado: só mexe na secção Contactos, não altera header nem footer. */

.syntrix-contact-v2,
.syntrix-contact-v2 * {
    box-sizing: border-box;
}

.syntrix-contact-v2 {
    width: 100%;
    padding: 76px 0 86px !important;
    background: #050918;
    color: #ffffff;
    border-top: 1px solid rgba(148, 163, 184, 0.16);
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
    overflow: hidden;
    clear: both;
}

.syntrix-contact-v2-layout {
    width: min(100% - 96px, 1680px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(560px, 1.05fr);
    gap: 80px;
    align-items: flex-start;
}

.syntrix-contact-v2-left {
    min-width: 0;
    padding-top: 40px;
}

.syntrix-contact-v2-eyebrow {
    display: inline-block;
    margin-bottom: 22px;
    color: #2f6df6;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 8px;
    text-transform: uppercase;
}

.syntrix-contact-v2 h2 {
    margin: 0;
    max-width: 760px;
    color: #ffffff;
    font-size: clamp(48px, 5vw, 82px);
    line-height: 0.98;
    letter-spacing: -4px;
    font-weight: 900;
}

.syntrix-contact-v2-left > p {
    margin: 28px 0 0;
    max-width: 720px;
    color: #b8c7df;
    font-size: 20px;
    line-height: 1.65;
}

.syntrix-contact-v2-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 34px;
}

.syntrix-contact-v2-card {
    min-height: 96px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 22px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(15, 23, 42, 0.52);
    color: #ffffff;
    text-decoration: none;
}

.syntrix-contact-v2-card:hover {
    border-color: rgba(47, 109, 246, 0.72);
    background: rgba(47, 109, 246, 0.08);
}

.syntrix-contact-v2-address {
    grid-column: 1 / -1;
}

.syntrix-contact-v2-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2f6df6;
    border: 1px solid rgba(47, 109, 246, 0.6);
    background: rgba(47, 109, 246, 0.12);
}

.syntrix-contact-v2-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}

.syntrix-contact-v2-card span {
    display: block;
    margin-bottom: 7px;
    color: #94a3b8;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.syntrix-contact-v2-card strong {
    display: block;
    color: #ffffff;
    font-size: 15px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.syntrix-contact-v2-map {
    margin-top: 18px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(15, 23, 42, 0.52);
}

.syntrix-contact-v2-map iframe {
    display: block;
    width: 100%;
    height: 330px;
    border: 0;
}

.syntrix-contact-v2-form {
    margin-top: 40px !important;
    padding: 42px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.72);
    min-width: 0;
}

.syntrix-contact-v2-form-head {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0 0 30px;
}

.syntrix-contact-v2-form-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: 28px;
    line-height: 1.15;
    letter-spacing: -0.8px;
    font-weight: 900;
}

.syntrix-contact-v2-form-head p {
    margin: 8px 0 0;
    color: #94a3b8;
    font-size: 15px;
    line-height: 1.55;
}

.syntrix-contact-v2-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.syntrix-contact-v2-grid label {
    display: block;
    margin: 0;
}

.syntrix-contact-v2-grid label > span {
    display: block;
    margin-bottom: 9px;
    color: #94a3b8;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.syntrix-contact-v2-grid .is-wide {
    grid-column: 1 / -1;
}

.syntrix-contact-v2-input {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: #050918;
    color: #94a3b8;
}

.syntrix-contact-v2-input svg {
    width: 20px;
    height: 20px;
    min-width: 20px;
    color: #94a3b8;
}

.syntrix-contact-v2-input input,
.syntrix-contact-v2-input select,
.syntrix-contact-v2-input textarea {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #ffffff;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
}

.syntrix-contact-v2-input input::placeholder,
.syntrix-contact-v2-input textarea::placeholder {
    color: #77849a;
}

.syntrix-contact-v2-input select {
    cursor: pointer;
}

.syntrix-contact-v2-input select option {
    color: #0f172a;
    background: #ffffff;
}

.syntrix-contact-v2-input.is-textarea {
    min-height: 150px;
    align-items: flex-start;
    padding-top: 18px;
}

.syntrix-contact-v2-input textarea {
    min-height: 112px;
    resize: vertical;
    line-height: 1.55;
}

.syntrix-contact-v2-submit {
    width: 100%;
    min-height: 58px;
    margin-top: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 0;
    cursor: pointer;
    background: #2f6df6;
    color: #ffffff;
    font-weight: 900;
    text-decoration: none;
}

.syntrix-contact-v2-submit svg {
    width: 20px;
    height: 20px;
}

.syntrix-contact-v2 .site-form-success,
.syntrix-contact-v2 .site-form-error {
    margin-bottom: 22px;
    padding: 16px 18px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.82);
    color: #ffffff;
    font-size: 14px;
    line-height: 1.5;
}

.syntrix-contact-v2 .site-form-success {
    border-color: rgba(34, 197, 94, 0.45);
}

.syntrix-contact-v2 .site-form-error {
    border-color: rgba(239, 68, 68, 0.45);
}

.syntrix-contact-v2 .site-form-error ul {
    margin: 8px 0 0;
    padding-left: 18px;
}

@media (max-width: 1180px) {
    .syntrix-contact-v2-layout {
        width: min(100% - 48px, 980px);
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .syntrix-contact-v2-left {
        padding-top: 0;
    }

    .syntrix-contact-v2-form {
        margin-top: 0 !important;
    }
}

@media (max-width: 760px) {
    .syntrix-contact-v2 {
        padding: 48px 0 54px !important;
    }

    .syntrix-contact-v2-layout {
        width: min(100% - 32px, 640px);
    }

    .syntrix-contact-v2 h2 {
        font-size: clamp(40px, 12vw, 58px);
        letter-spacing: -2.5px;
    }

    .syntrix-contact-v2-left > p {
        font-size: 17px;
    }

    .syntrix-contact-v2-cards,
    .syntrix-contact-v2-grid {
        grid-template-columns: 1fr;
    }

    .syntrix-contact-v2-form {
        padding: 28px 22px;
    }

    .syntrix-contact-v2-form-head {
        align-items: flex-start;
    }
}

/* === SYNTRIX CONTACT V2 CSS ONLY FIX END === */

/* ==========================================================
   SYNTRIX_CONTACTOS_CLEAN_SECTION
   Secção limpa da página Contactos
========================================================== */

.syntrix-contactos-section,
.syntrix-contactos-section * {
    box-sizing: border-box;
}

.syntrix-contactos-section {
    --sx-contact-bg: #050918;
    --sx-contact-card: rgba(15, 23, 42, 0.72);
    --sx-contact-card-soft: rgba(15, 23, 42, 0.52);
    --sx-contact-heading: #ffffff;
    --sx-contact-text: #b8c7df;
    --sx-contact-muted: #94a3b8;
    --sx-contact-border: rgba(148, 163, 184, 0.22);
    --sx-contact-input: #050918;
    --sx-contact-primary: #2f6df6;

    width: 100%;
    padding: 72px 0 84px;
    background: var(--sx-contact-bg);
    color: var(--sx-contact-text);
    border-top: 1px solid var(--sx-contact-border);
}

html.light .syntrix-contactos-section {
    --sx-contact-bg: #f8fafc;
    --sx-contact-card: #ffffff;
    --sx-contact-card-soft: #ffffff;
    --sx-contact-heading: #030712;
    --sx-contact-text: #475569;
    --sx-contact-muted: #64748b;
    --sx-contact-border: #e2e8f0;
    --sx-contact-input: #f8fafc;
}

.syntrix-contactos-wrap {
    width: min(100% - 96px, 1680px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(560px, 1.05fr);
    gap: 72px;
    align-items: start;
}

.syntrix-contactos-eyebrow {
    display: block;
    margin-bottom: 20px;
    color: var(--sx-contact-primary);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 8px;
    text-transform: uppercase;
}

.syntrix-contactos-info h2 {
    max-width: 760px;
    margin: 0;
    color: var(--sx-contact-heading);
    font-size: clamp(48px, 5vw, 82px);
    line-height: 0.98;
    letter-spacing: -4px;
    font-weight: 900;
}

.syntrix-contactos-info p {
    max-width: 720px;
    margin: 28px 0 0;
    color: var(--sx-contact-text);
    font-size: 20px;
    line-height: 1.65;
}

.syntrix-contactos-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 34px;
}

.syntrix-contactos-card {
    min-height: 96px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 22px;
    border: 1px solid var(--sx-contact-border);
    background: var(--sx-contact-card-soft);
    color: inherit;
    text-decoration: none;
}

.syntrix-contactos-card:hover {
    border-color: rgba(47, 109, 246, 0.72);
    background: rgba(47, 109, 246, 0.08);
}

.syntrix-contactos-card-wide {
    grid-column: 1 / -1;
}

.syntrix-contactos-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--sx-contact-primary);
    border: 1px solid rgba(47, 109, 246, 0.55);
    background: rgba(47, 109, 246, 0.11);
}

.syntrix-contactos-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}

.syntrix-contactos-card small {
    display: block;
    margin-bottom: 7px;
    color: var(--sx-contact-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.syntrix-contactos-card strong {
    display: block;
    color: var(--sx-contact-heading);
    font-size: 15px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.syntrix-contactos-map {
    margin-top: 18px;
    overflow: hidden;
    border: 1px solid var(--sx-contact-border);
    background: var(--sx-contact-card-soft);
}

.syntrix-contactos-map iframe {
    display: block;
    width: 100%;
    height: 330px;
    border: 0;
}

.syntrix-contactos-form {
    margin-top: 40px;
    padding: 42px;
    border: 1px solid var(--sx-contact-border);
    background: var(--sx-contact-card);
}

.syntrix-contactos-form-head {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 30px;
}

.syntrix-contactos-form-head h3 {
    margin: 0;
    color: var(--sx-contact-heading);
    font-size: 28px;
    line-height: 1.15;
    letter-spacing: -0.8px;
    font-weight: 900;
}

.syntrix-contactos-form-head p {
    margin: 8px 0 0;
    color: var(--sx-contact-muted);
    font-size: 15px;
    line-height: 1.55;
}

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

.syntrix-contactos-form-grid label {
    display: block;
}

.syntrix-contactos-form-grid label > span {
    display: block;
    margin-bottom: 9px;
    color: var(--sx-contact-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.syntrix-contactos-form-grid .is-wide {
    grid-column: 1 / -1;
}

.syntrix-contactos-input {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    border: 1px solid var(--sx-contact-border);
    background: var(--sx-contact-input);
    color: var(--sx-contact-muted);
}

.syntrix-contactos-input svg {
    width: 20px;
    height: 20px;
    min-width: 20px;
    color: var(--sx-contact-muted);
}

.syntrix-contactos-input input,
.syntrix-contactos-input select,
.syntrix-contactos-input textarea {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--sx-contact-heading);
    font: inherit;
    font-size: 15px;
    font-weight: 700;
}

.syntrix-contactos-input input::placeholder,
.syntrix-contactos-input textarea::placeholder {
    color: var(--sx-contact-muted);
    opacity: 0.8;
}

.syntrix-contactos-input select option {
    color: #0f172a;
    background: #ffffff;
}

.syntrix-contactos-input.is-textarea {
    min-height: 150px;
    align-items: flex-start;
    padding-top: 18px;
}

.syntrix-contactos-input textarea {
    min-height: 112px;
    resize: vertical;
    line-height: 1.55;
}

.syntrix-contactos-submit {
    width: 100%;
    min-height: 58px;
    margin-top: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 0;
    cursor: pointer;
    background: var(--sx-contact-primary);
    color: #ffffff;
    font-weight: 900;
}

.syntrix-contactos-submit svg {
    width: 20px;
    height: 20px;
}

.syntrix-contactos-success,
.syntrix-contactos-error {
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid var(--sx-contact-border);
    font-size: 14px;
    line-height: 1.5;
}

.syntrix-contactos-success {
    color: #22c55e;
    background: rgba(34, 197, 94, 0.08);
}

.syntrix-contactos-error {
    color: #f87171;
    background: rgba(248, 113, 113, 0.08);
}

.syntrix-contactos-error ul {
    margin: 8px 0 0;
    padding-left: 18px;
}

@media (max-width: 1180px) {
    .syntrix-contactos-wrap {
        width: min(100% - 48px, 980px);
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .syntrix-contactos-form {
        margin-top: 0;
    }
}

@media (max-width: 760px) {
    .syntrix-contactos-section {
        padding: 48px 0 54px;
    }

    .syntrix-contactos-wrap {
        width: min(100% - 32px, 640px);
    }

    .syntrix-contactos-info h2 {
        font-size: clamp(40px, 12vw, 58px);
        letter-spacing: -2.5px;
    }

    .syntrix-contactos-info p {
        font-size: 17px;
    }

    .syntrix-contactos-cards,
    .syntrix-contactos-form-grid {
        grid-template-columns: 1fr;
    }

    .syntrix-contactos-form {
        padding: 28px 22px;
    }
}


/* Redes sociais no rodapé */
.site-footer-socials {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.site-footer-social {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
    border: 1px solid rgba(148, 163, 184, 0.26);
    text-decoration: none;
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.site-footer-social svg {
    width: 18px;
    height: 18px;
    display: block;
}

.site-footer-social:hover {
    color: #ffffff;
    border-color: #2f6df6;
    background: #2f6df6;
}

html.light .site-footer-social:hover {
    color: #ffffff;
}

/* ==========================================================
   SYNTRIX FOOTER CLEAN GRID FINAL
   Corrige apenas o layout do rodapé.
   Sem position, sem left, sem deslocamentos forçados.
========================================================== */

html body .site-footer-premium {
    display: block !important;
    padding: 0 !important;
    margin-top: auto !important;
    border-top: 1px solid var(--border) !important;
    background: var(--bg) !important;
    overflow: hidden !important;
}

html body .site-footer-premium .site-footer-main {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(44px, 5vw, 86px) !important;
    align-items: start !important;
    padding: 58px var(--site-x, 64px) !important;
    border-bottom: 1px solid var(--border) !important;
}

/* Garante que nenhuma coluna fica presa ou deslocada */
html body .site-footer-premium .site-footer-column,
html body .site-footer-premium .site-footer-main > .site-footer-column:nth-child(1),
html body .site-footer-premium .site-footer-main > .site-footer-column:nth-child(2),
html body .site-footer-premium .site-footer-main > .site-footer-column:nth-child(3) {
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    justify-self: stretch !important;
}

/* Marca */
html body .site-footer-premium .site-footer-about p {
    max-width: 430px !important;
}

/* Títulos */
html body .site-footer-premium .site-footer-column h3 {
    margin: 0 0 24px !important;
    color: var(--primary) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
}

/* Atendimento */
html body .site-footer-premium .site-footer-hours {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

html body .site-footer-premium .site-footer-hours div {
    width: 100% !important;
    min-height: 44px !important;
    display: grid !important;
    grid-template-columns: minmax(130px, 1fr) auto !important;
    gap: 24px !important;
    align-items: center !important;
    padding: 0 0 14px !important;
    margin: 0 0 14px !important;
    border-bottom: 1px solid var(--border) !important;
}

html body .site-footer-premium .site-footer-hours div:last-child {
    margin-bottom: 0 !important;
}

html body .site-footer-premium .site-footer-hours span {
    color: var(--muted) !important;
}

html body .site-footer-premium .site-footer-hours strong {
    color: var(--text) !important;
    font-weight: 900 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

/* Informações: ocupa toda a terceira coluna */
html body .site-footer-premium .site-footer-legal {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

html body .site-footer-premium .site-footer-legal a {
    width: 100% !important;
    max-width: none !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    padding: 0 0 14px !important;
    margin: 0 0 14px !important;
    border-bottom: 1px solid var(--border) !important;
    color: var(--muted) !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
}

html body .site-footer-premium .site-footer-legal a:last-child {
    margin-bottom: 0 !important;
}

html body .site-footer-premium .site-footer-legal a:hover {
    color: var(--text) !important;
}

html body .site-footer-premium .site-footer-legal a svg {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    color: var(--primary) !important;
}

html body .site-footer-premium .site-footer-legal a span {
    display: inline-block !important;
    min-width: 0 !important;
}

/* Copyright e redes sociais */
html body .site-footer-premium .site-footer-bottom {
    min-height: 68px !important;
    padding: 0 var(--site-x, 64px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
}

/* Tablet */
@media (max-width: 1180px) {
    html body .site-footer-premium .site-footer-main {
        grid-template-columns: 1fr 1fr !important;
        gap: 42px !important;
    }

    html body .site-footer-premium .site-footer-about {
        grid-column: 1 / -1 !important;
    }
}

/* Mobile */
@media (max-width: 760px) {
    html body .site-footer-premium .site-footer-main {
        grid-template-columns: 1fr !important;
        padding-top: 42px !important;
        padding-bottom: 42px !important;
        gap: 38px !important;
    }

    html body .site-footer-premium .site-footer-hours div {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    html body .site-footer-premium .site-footer-hours strong {
        text-align: left !important;
        white-space: normal !important;
    }

    html body .site-footer-premium .site-footer-bottom {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }
}

/* ==========================================================
   SYNTRIX HOME CTA FULL WIDTH ONLY
   Só corrige o CTA da Home. Não mexe no footer nem noutras secções.
========================================================== */

body:has(.site-hero) .site-cta {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body:has(.site-hero) .site-cta .site-cta-inner {
    width: min(var(--site-wide, 1760px), calc(100% - (var(--site-x, 64px) * 2))) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 0.95fr) minmax(560px, 1.05fr) !important;
    gap: clamp(56px, 6vw, 110px) !important;
    align-items: center !important;
}

body:has(.site-hero) .site-cta .site-cta-content {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.site-hero) .site-cta .site-cta-form {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

@media (max-width: 1180px) {
    body:has(.site-hero) .site-cta .site-cta-inner {
        width: min(100% - 48px, 980px) !important;
        grid-template-columns: 1fr !important;
        gap: 42px !important;
    }

    body:has(.site-hero) .site-cta .site-cta-content {
        max-width: 760px !important;
    }
}

@media (max-width: 760px) {
    body:has(.site-hero) .site-cta .site-cta-inner {
        width: min(100% - 32px, 640px) !important;
    }
}



/* ==========================================================
   SYNTRIX PRODUCTS AREA
========================================================== */

.site-products-hero {
    padding: 96px var(--site-x, 64px) 72px;
    border-bottom: 1px solid var(--border);
    background:
        radial-gradient(circle at 78% 18%, rgba(37, 99, 235, .18), transparent 34%),
        var(--bg);
}

.site-products-hero-inner {
    width: min(var(--site-wide, 1760px), 100%);
    margin: 0 auto;
}

.site-products-hero span,
.site-products-head span,
.site-product-category {
    display: inline-flex;
    color: var(--primary);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.site-products-hero h1 {
    max-width: 980px;
    margin: 22px 0 0;
    font-size: clamp(46px, 5.4vw, 92px);
    line-height: .98;
    letter-spacing: -4px;
}

.site-products-hero p {
    max-width: 860px;
    margin: 26px 0 0;
    color: var(--muted);
    font-size: clamp(18px, 1.35vw, 22px);
    line-height: 1.75;
}

.site-products-section {
    padding: 76px var(--site-x, 64px) 110px;
}

.site-products-head {
    width: min(var(--site-wide, 1760px), 100%);
    margin: 0 auto 34px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 28px;
}

.site-products-head h2 {
    margin: 14px 0 0;
    font-size: clamp(34px, 3.4vw, 58px);
    line-height: 1.08;
    letter-spacing: -2px;
}

.site-products-categories {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.site-products-categories span {
    border: 1px solid var(--border);
    padding: 10px 14px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.site-products-grid {
    width: min(var(--site-wide, 1760px), 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.site-product-card {
    position: relative;
    min-width: 0;
    border: 1px solid var(--border);
    background: var(--card);
    display: flex;
    flex-direction: column;
}

.site-product-card.is-featured {
    border-color: rgba(37, 99, 235, .65);
    box-shadow: 0 0 0 1px rgba(37, 99, 235, .16);
}

.site-product-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    background: var(--primary);
    color: #fff;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.site-product-media {
    display: block;
    aspect-ratio: 16 / 10;
    border-bottom: 1px solid var(--border);
    overflow: hidden;
    background: var(--panel);
}

.site-product-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.site-product-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    background: linear-gradient(145deg, rgba(37,99,235,.14), transparent);
}

.site-product-placeholder svg {
    width: 54px;
    height: 54px;
}

.site-product-body {
    padding: 30px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.site-product-body h3 {
    margin: 14px 0 0;
    font-size: 26px;
    line-height: 1.15;
    letter-spacing: -1px;
}

.site-product-body h3 a {
    text-decoration: none;
    color: var(--text);
}

.site-product-body p {
    margin: 16px 0 0;
    color: var(--muted);
    line-height: 1.7;
}

.site-product-price {
    margin: 24px 0 0;
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.site-product-price strong,
.site-product-detail-price strong {
    color: var(--text);
    font-size: 28px;
    letter-spacing: -1px;
}

.site-product-price small,
.site-product-detail-price small {
    color: var(--muted);
    font-weight: 800;
}

.site-product-features {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
    color: var(--muted);
}

.site-product-features li,
.site-product-detail-features li {
    position: relative;
    padding-left: 22px;
    line-height: 1.55;
}

.site-product-features li::before,
.site-product-detail-features li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .65em;
    width: 8px;
    height: 8px;
    background: var(--primary);
}

.site-product-actions {
    margin-top: auto;
    padding-top: 26px;
}

.site-product-actions .site-button {
    width: 100%;
}

.site-product-detail {
    padding: 86px var(--site-x, 64px) 110px;
}

.site-product-detail-grid {
    width: min(var(--site-wide, 1760px), 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 520px);
    gap: clamp(44px, 5vw, 90px);
    align-items: start;
}

.site-product-detail-info h1 {
    max-width: 980px;
    margin: 18px 0 0;
    font-size: clamp(48px, 5vw, 88px);
    line-height: .98;
    letter-spacing: -4px;
}

.site-product-detail-lead {
    max-width: 820px;
    margin: 26px 0 0;
    color: var(--muted);
    font-size: clamp(18px, 1.3vw, 22px);
    line-height: 1.75;
}

.site-product-detail-price {
    margin-top: 30px;
    padding: 22px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.site-product-detail-features,
.site-product-detail-copy {
    margin-top: 38px;
}

.site-product-detail-features h2 {
    font-size: 30px;
    margin-bottom: 18px;
}

.site-product-detail-features ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 22px;
    padding: 0;
    list-style: none;
    color: var(--muted);
}

.site-product-detail-copy {
    color: var(--muted);
    font-size: 18px;
    line-height: 1.85;
    max-width: 920px;
}

.site-product-purchase-card {
    position: sticky;
    top: 120px;
    border: 1px solid var(--border);
    background: var(--card);
    padding: 32px;
}

.site-product-purchase-card > img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border: 1px solid var(--border);
    margin-bottom: 26px;
}

.site-product-purchase-card h2 {
    font-size: 30px;
    margin-bottom: 12px;
}

.site-product-purchase-card p {
    color: var(--muted);
    line-height: 1.7;
    margin-bottom: 24px;
}

.site-product-form {
    display: grid;
    gap: 14px;
}

.site-product-form label {
    display: grid;
    gap: 8px;
}

.site-product-form label span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.site-product-form input,
.site-product-form textarea {
    width: 100%;
    border: 1px solid var(--border);
    background: var(--bg);
    color: var(--text);
    padding: 14px 16px;
    outline: none;
    font: inherit;
}

.site-product-form input:focus,
.site-product-form textarea:focus {
    border-color: var(--primary);
}

.site-product-submit {
    width: 100%;
    border: 0;
    cursor: pointer;
}

.site-products-related {
    padding-top: 0;
}

@media (max-width: 1180px) {
    .site-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-product-detail-grid {
        grid-template-columns: 1fr;
    }

    .site-product-purchase-card {
        position: static;
    }
}

@media (max-width: 760px) {
    .site-products-hero,
    .site-products-section,
    .site-product-detail {
        padding-left: 20px;
        padding-right: 20px;
    }

    .site-products-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .site-products-grid,
    .site-product-detail-features ul {
        grid-template-columns: 1fr;
    }

    .site-product-body,
    .site-product-purchase-card {
        padding: 24px;
    }
}


/* ==========================================================
   SYNTRIX PRODUCTS PAGE HEADER ALIGN
   Mantém Produtos coerente com as outras páginas.
========================================================== */

html.syntrix-route-produtos .site-products-hero {
    display: none !important;
}

html.syntrix-route-produtos .site-page-header {
    min-height: 300px !important;
    padding-top: 58px !important;
    padding-bottom: 58px !important;
}

html.syntrix-route-produtos .site-products-section {
    padding-top: 72px !important;
}

@media (max-width: 760px) {
    html.syntrix-route-produtos .site-page-header {
        min-height: 260px !important;
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    html.syntrix-route-produtos .site-products-section {
        padding-top: 48px !important;
    }
}


/* ==========================================================
   SYNTRIX PRODUCT PURCHASE FORM UX SECURITY
   Só melhora o formulário da página individual do produto.
========================================================== */

.site-product-purchase-card .site-product-form-premium {
    display: grid !important;
    gap: 14px !important;
}

.site-product-purchase-card .site-product-form-premium label {
    display: grid !important;
    gap: 8px !important;
}

.site-product-purchase-card .site-product-form-premium label > span {
    color: var(--muted) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
}

.site-product-purchase-card .site-product-input {
    min-height: 54px !important;
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    align-items: center !important;
    border: 1px solid var(--border) !important;
    background: var(--bg) !important;
    color: var(--muted) !important;
}

.site-product-purchase-card .site-product-input:focus-within {
    border-color: var(--primary) !important;
    color: var(--primary) !important;
}

.site-product-purchase-card .site-product-input svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    justify-self: center !important;
    color: currentColor !important;
    stroke: currentColor !important;
}

.site-product-purchase-card .site-product-input input,
.site-product-purchase-card .site-product-input textarea {
    width: 100% !important;
    min-height: 52px !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: var(--text) !important;
    padding: 0 14px 0 0 !important;
    font: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.site-product-purchase-card .site-product-input input::placeholder,
.site-product-purchase-card .site-product-input textarea::placeholder {
    color: var(--muted) !important;
    opacity: .74 !important;
    font-weight: 700 !important;
}

.site-product-purchase-card .site-product-input.is-textarea {
    min-height: 120px !important;
    align-items: start !important;
    padding-top: 14px !important;
}

.site-product-purchase-card .site-product-input.is-textarea textarea {
    min-height: 96px !important;
    padding-top: 0 !important;
    resize: vertical !important;
    line-height: 1.55 !important;
}

.site-product-purchase-card .site-product-submit {
    width: 100% !important;
    min-height: 56px !important;
    margin-top: 8px !important;
    border: 0 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

.site-product-purchase-card .site-product-submit svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
}

.site-product-purchase-card .site-hp-field {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* ==========================================================
   SYNTRIX FINISH ESSENTIALS
   Ajustes finais essenciais: erros, form security e Produtos.
========================================================== */

.site-hp-field {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

html.syntrix-route-produtos .site-products-hero {
    display: none !important;
}

html.syntrix-route-produtos .site-page-header {
    min-height: 300px !important;
    padding-top: 58px !important;
    padding-bottom: 58px !important;
}

html.syntrix-route-produtos .site-products-section {
    padding-top: 72px !important;
}

.site-error-page {
    min-height: 62vh;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--border);
    padding: 96px var(--site-x, 64px);
    background:
        radial-gradient(circle at 82% 18%, rgba(37, 99, 235, .22), transparent 32%),
        var(--bg);
}

.site-error-inner {
    width: min(920px, 100%);
}

.site-error-inner span {
    display: block;
    color: var(--primary);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 5px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.site-error-inner h1 {
    font-size: clamp(48px, 6vw, 92px);
    line-height: .98;
    letter-spacing: -4px;
    margin: 0;
}

.site-error-inner p {
    color: var(--muted);
    font-size: clamp(18px, 1.4vw, 22px);
    line-height: 1.7;
    max-width: 760px;
    margin-top: 24px;
}

.site-form-success,
.site-form-error {
    margin-bottom: 18px;
}

@media (max-width: 760px) {
    html.syntrix-route-produtos .site-page-header {
        min-height: 260px !important;
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    html.syntrix-route-produtos .site-products-section {
        padding-top: 48px !important;
    }

    .site-error-page {
        padding-top: 72px;
        padding-bottom: 72px;
    }
}


/* ==========================================================
   SYNTRIX BLOG PAGE HEADER ALIGN
   Mantém o Blog no mesmo padrão de page title das restantes páginas.
========================================================== */

html.syntrix-route-blog .site-blog-hero,
html.syntrix-route-blog .blog-hero,
html.syntrix-route-blog .blog-page-hero,
html.syntrix-route-blog .site-blog-header {
    display: none !important;
}

html.syntrix-route-blog .site-page-header {
    margin-top: 0 !important;
}

html.syntrix-route-blog .site-page-header + .site-blog-section,
html.syntrix-route-blog .site-page-header + .blog-section,
html.syntrix-route-blog .site-page-header + section {
    padding-top: 72px !important;
}

@media (max-width: 760px) {
    html.syntrix-route-blog .site-page-header + .site-blog-section,
    html.syntrix-route-blog .site-page-header + .blog-section,
    html.syntrix-route-blog .site-page-header + section {
        padding-top: 48px !important;
    }
}


/* ==========================================================
   SYNTRIX BLOG INDEX RESTORE
   Blog com page-header padrão + posts visíveis.
========================================================== */

html.syntrix-route-blog .syntrix-blog-index {
    padding: 72px 0 96px !important;
    background: var(--bg) !important;
}

html.syntrix-route-blog .syntrix-blog-index-inner {
    width: min(var(--site-wide, 1760px), calc(100% - (var(--site-x, 64px) * 2))) !important;
    margin: 0 auto !important;
}

html.syntrix-route-blog .syntrix-blog-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

html.syntrix-route-blog .syntrix-blog-card {
    min-width: 0 !important;
    border: 1px solid var(--border) !important;
    background: var(--surface) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

html.syntrix-route-blog .syntrix-blog-card-image {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    background: color-mix(in srgb, var(--primary) 10%, var(--surface)) !important;
    overflow: hidden !important;
}

html.syntrix-route-blog .syntrix-blog-card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .35s ease !important;
}

html.syntrix-route-blog .syntrix-blog-card:hover .syntrix-blog-card-image img {
    transform: scale(1.045) !important;
}

html.syntrix-route-blog .syntrix-blog-card-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: grid !important;
    place-items: center !important;
    color: var(--primary) !important;
}

html.syntrix-route-blog .syntrix-blog-card-placeholder svg {
    width: 44px !important;
    height: 44px !important;
}

html.syntrix-route-blog .syntrix-blog-card-body {
    padding: 28px !important;
    display: grid !important;
    gap: 14px !important;
    flex: 1 !important;
}

html.syntrix-route-blog .syntrix-blog-card time {
    color: var(--primary) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
}

html.syntrix-route-blog .syntrix-blog-card h2 {
    margin: 0 !important;
    font-size: clamp(24px, 1.8vw, 34px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em !important;
}

html.syntrix-route-blog .syntrix-blog-card h2 a {
    color: var(--text) !important;
    text-decoration: none !important;
}

html.syntrix-route-blog .syntrix-blog-card p {
    margin: 0 !important;
    color: var(--muted) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

html.syntrix-route-blog .syntrix-blog-read-more {
    margin-top: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: var(--primary) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

html.syntrix-route-blog .syntrix-blog-read-more svg {
    width: 18px !important;
    height: 18px !important;
}

html.syntrix-route-blog .syntrix-blog-pagination {
    margin-top: 44px !important;
}

html.syntrix-route-blog .syntrix-blog-empty {
    border: 1px solid var(--border) !important;
    background: var(--surface) !important;
    padding: 56px !important;
}

html.syntrix-route-blog .syntrix-blog-empty span {
    color: var(--primary) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
}

html.syntrix-route-blog .syntrix-blog-empty h2 {
    margin: 12px 0 !important;
    color: var(--text) !important;
    font-size: clamp(30px, 4vw, 54px) !important;
    letter-spacing: -0.05em !important;
}

html.syntrix-route-blog .syntrix-blog-empty p {
    color: var(--muted) !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
}

@media (max-width: 1100px) {
    html.syntrix-route-blog .syntrix-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    html.syntrix-route-blog .syntrix-blog-index {
        padding: 48px 0 72px !important;
    }

    html.syntrix-route-blog .syntrix-blog-index-inner {
        width: min(100% - 36px, 100%) !important;
    }

    html.syntrix-route-blog .syntrix-blog-grid {
        grid-template-columns: 1fr !important;
    }

    html.syntrix-route-blog .syntrix-blog-card-body {
        padding: 22px !important;
    }
}


/* ==========================================================
   SYNTRIX FORM FEEDBACK SUCCESS EMAIL
   Feedback visual para submissões de formulários.
========================================================== */

.site-form-feedback-wrap {
    width: min(var(--site-wide, 1760px), calc(100% - (var(--site-x, 64px) * 2))) !important;
    margin: 28px auto 0 !important;
    position: relative !important;
    z-index: 20 !important;
}

.site-form-feedback {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
    border: 1px solid var(--border) !important;
    background: var(--surface) !important;
    color: var(--text) !important;
    padding: 22px 24px !important;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .08) !important;
}

.site-form-feedback + .site-form-feedback {
    margin-top: 14px !important;
}

.site-form-feedback-icon {
    width: 54px !important;
    height: 54px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid currentColor !important;
    color: var(--primary) !important;
    background: color-mix(in srgb, var(--primary) 10%, transparent) !important;
}

.site-form-feedback-icon svg {
    width: 25px !important;
    height: 25px !important;
    display: block !important;
}

.site-form-feedback strong {
    display: block !important;
    margin: 0 0 8px !important;
    color: var(--text) !important;
    font-size: clamp(20px, 1.7vw, 28px) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.03em !important;
}

.site-form-feedback p {
    margin: 0 !important;
    color: var(--muted) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.site-form-feedback ul {
    margin: 12px 0 0 !important;
    padding-left: 18px !important;
    color: var(--muted) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.site-form-feedback.is-success {
    border-color: color-mix(in srgb, #16a34a 45%, var(--border)) !important;
}

.site-form-feedback.is-success .site-form-feedback-icon {
    color: #16a34a !important;
    background: rgba(22, 163, 74, .10) !important;
}

.site-form-feedback.is-error {
    border-color: color-mix(in srgb, #dc2626 45%, var(--border)) !important;
}

.site-form-feedback.is-error .site-form-feedback-icon {
    color: #dc2626 !important;
    background: rgba(220, 38, 38, .10) !important;
}

@media (max-width: 760px) {
    .site-form-feedback-wrap {
        width: min(100% - 36px, 100%) !important;
        margin-top: 20px !important;
    }

    .site-form-feedback {
        grid-template-columns: 1fr !important;
        padding: 20px !important;
    }

    .site-form-feedback-icon {
        width: 48px !important;
        height: 48px !important;
    }
}

/* SYNTRIX CLIENT AREA START */
html.syntrix-route-area-de-cliente .site-main,
html.syntrix-route-cliente .site-main {
    background:
        radial-gradient(circle at 12% 18%, rgba(37, 99, 235, .14), transparent 32%),
        var(--bg);
}

.client-auth-section,
.client-portal-section {
    width: min(1560px, calc(100% - 96px));
    margin: 0 auto;
    padding-top: 88px !important;
    padding-bottom: 96px !important;
}

.client-auth-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    gap: clamp(36px, 6vw, 96px);
    align-items: start;
}

.client-auth-copy > span,
.client-portal-nav a.is-active,
.client-kpi-card span,
.client-panel h2,
.client-card-head span {
    color: var(--primary);
}

.client-auth-copy > span {
    display: block;
    font-size: 13px;
    letter-spacing: 5px;
    text-transform: uppercase;
    font-weight: 900;
    margin-bottom: 18px;
}

.client-auth-copy h2 {
    font-size: clamp(40px, 4vw, 72px);
    line-height: 1;
    letter-spacing: -3px;
    margin-bottom: 22px;
}

.client-auth-copy p {
    color: var(--muted);
    font-size: 19px;
    line-height: 1.8;
    max-width: 760px;
}

.client-auth-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 34px;
}

.client-auth-points div,
.client-login-card,
.client-panel,
.client-kpi-card,
.client-form-panel,
.client-portal-nav {
    border: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}

.light .client-auth-points div,
.light .client-login-card,
.light .client-panel,
.light .client-kpi-card,
.light .client-form-panel,
.light .client-portal-nav {
    background: rgba(255,255,255,.9);
}

.client-auth-points div {
    padding: 22px;
    min-height: 150px;
}

.client-auth-points svg,
.client-primary-btn svg,
.client-portal-nav svg {
    width: 20px;
    height: 20px;
}

.client-auth-points strong,
.client-auth-points small,
.client-list-row strong,
.client-list-row span,
.client-table small {
    display: block;
}

.client-auth-points strong {
    margin: 14px 0 8px;
    color: var(--text);
}

.client-auth-points small,
.client-login-help,
.client-empty,
.client-list-row span,
.client-table small,
.client-detail-grid span {
    color: var(--muted);
}

.client-login-card,
.client-form-panel,
.client-panel {
    padding: clamp(24px, 3vw, 38px);
}

.client-card-head {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 16px;
    align-items: center;
    margin-bottom: 26px;
}

.client-card-head > span {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--primary) 45%, var(--border));
    background: color-mix(in srgb, var(--primary) 12%, transparent);
}

.client-card-head strong {
    display: block;
    color: var(--text);
    font-size: 22px;
    letter-spacing: -0.03em;
}

.client-card-head small {
    color: var(--muted);
    line-height: 1.6;
}

.client-field,
.client-form-panel label {
    display: grid;
    gap: 9px;
    margin-bottom: 18px;
}

.client-field span,
.client-form-panel label span {
    color: var(--text);
    font-weight: 900;
    font-size: 14px;
}

.client-field input,
.client-form-panel input,
.client-form-panel select,
.client-form-panel textarea {
    width: 100%;
    min-height: 56px;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--panel) 82%, transparent);
    color: var(--text);
    padding: 0 16px;
    font: inherit;
    outline: none;
}

.client-form-panel textarea {
    min-height: 170px;
    padding: 16px;
    resize: vertical;
}

.client-field input:focus,
.client-form-panel input:focus,
.client-form-panel select:focus,
.client-form-panel textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 16%, transparent);
}

.client-primary-btn {
    min-height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 0;
    background: var(--primary);
    color: #fff;
    padding: 0 24px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.client-login-card .client-primary-btn {
    width: 100%;
}

.client-login-help {
    margin-top: 18px;
    line-height: 1.7;
    font-size: 14px;
}

.client-inline-alert {
    padding: 14px 16px;
    border: 1px solid var(--border);
    margin-bottom: 18px;
    color: var(--text);
}

.client-inline-alert.is-error {
    border-color: rgba(220, 38, 38, .5);
    background: rgba(220, 38, 38, .08);
}

.client-portal-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 12px;
    margin-bottom: 28px;
}

.client-portal-nav a,
.client-portal-nav button {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 16px;
    color: var(--muted);
    text-decoration: none;
    border: 1px solid transparent;
    background: transparent;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.client-portal-nav a.is-active {
    border-color: color-mix(in srgb, var(--primary) 45%, var(--border));
    background: color-mix(in srgb, var(--primary) 10%, transparent);
}

.client-portal-nav form {
    margin-left: auto;
}

.client-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 28px;
}

.client-kpi-card {
    padding: 24px;
    text-decoration: none;
}

.client-kpi-card span {
    display: block;
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 900;
    margin-bottom: 18px;
}

.client-kpi-card strong {
    color: var(--text);
    font-size: clamp(40px, 4vw, 64px);
    line-height: 1;
}

.client-portal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.client-panel-wide,
.client-field-full {
    grid-column: 1 / -1;
}

.client-panel h2 {
    font-size: 13px;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.client-list-row {
    display: grid;
    gap: 6px;
    padding: 16px 0;
    border-top: 1px solid var(--border);
    color: inherit;
    text-decoration: none;
}

.client-list-row:first-of-type {
    border-top: 0;
}

.client-page-actions {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
}

.client-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--border);
}

.client-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.client-table th,
.client-table td {
    padding: 18px;
    border-bottom: 1px solid var(--border);
    text-align: left;
    vertical-align: top;
}

.client-table th {
    color: var(--text);
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.client-table td {
    color: var(--muted);
}

.client-table td strong {
    color: var(--text);
}

.client-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

.client-detail-grid div,
.client-message-box {
    border: 1px solid var(--border);
    padding: 18px;
    background: color-mix(in srgb, var(--panel) 70%, transparent);
}

.client-detail-grid strong {
    color: var(--text);
}

.client-message-box {
    margin-top: 18px;
}

.client-message-box h3 {
    color: var(--text);
    margin-bottom: 10px;
}

.client-message-box p {
    color: var(--muted);
    line-height: 1.8;
    white-space: pre-wrap;
}

@media (max-width: 1100px) {
    .client-auth-grid,
    .client-portal-grid,
    .client-kpi-grid,
    .client-detail-grid {
        grid-template-columns: 1fr 1fr;
    }

    .client-auth-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .client-auth-section,
    .client-portal-section {
        width: calc(100% - 40px);
        padding-top: 58px !important;
    }

    .client-auth-points,
    .client-portal-grid,
    .client-kpi-grid,
    .client-detail-grid {
        grid-template-columns: 1fr;
    }

    .client-portal-nav form {
        margin-left: 0;
        width: 100%;
    }

    .client-portal-nav button {
        width: 100%;
        justify-content: center;
    }
}
/* SYNTRIX CLIENT AREA END */

/* ==========================================================
   SYNTRIX HERO PREMIUM V2
   Variação real por slide:
   Slide 1: imagem à direita
   Slide 2: imagem à esquerda
   Slide 3: imagem de fundo premium
========================================================== */

html body .site-hero-premium-v2 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 var(--site-x, 64px) 54px !important;
    min-height: 600px !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 82% 18%, rgba(37, 99, 235, .12), transparent 34%),
        var(--bg) !important;
}

html body .site-hero-premium-v2 .site-hero-track {
    width: min(var(--site-wide, 1760px), 100%) !important;
    min-height: 600px !important;
    margin: 0 auto !important;
    position: relative !important;
}

html body .site-hero-premium-v2 .site-hero-slide {
    width: 100% !important;
    min-height: 600px !important;
    padding: 52px 0 42px !important;
    display: grid !important;
    align-items: center !important;
    gap: clamp(48px, 5vw, 96px) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(14px) scale(.992) !important;
    transition: opacity .55s ease, transform .55s ease !important;
    position: absolute !important;
    inset: 0 !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-active {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
    position: relative !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-right {
    grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr) !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-left {
    grid-template-columns: minmax(420px, .96fr) minmax(0, 1.04fr) !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-left .site-hero-media {
    order: 1 !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-left .site-hero-content {
    order: 2 !important;
}

html body .site-hero-premium-v2 .site-hero-content {
    position: relative !important;
    z-index: 4 !important;
    max-width: 900px !important;
}

html body .site-hero-premium-v2 .site-hero-content span {
    color: var(--primary) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 6px !important;
    text-transform: uppercase !important;
    margin-bottom: 22px !important;
}

html body .site-hero-premium-v2 .site-hero-content h1 {
    max-width: 880px !important;
    margin: 0 !important;
    font-size: clamp(46px, 4.6vw, 78px) !important;
    line-height: 1.02 !important;
    letter-spacing: -3px !important;
}

html body .site-hero-premium-v2 .site-hero-content p {
    max-width: 760px !important;
    margin-top: 28px !important;
    color: var(--muted) !important;
    font-size: clamp(18px, 1.25vw, 21px) !important;
    line-height: 1.72 !important;
}

html body .site-hero-premium-v2 .site-actions {
    margin-top: 36px !important;
}

html body .site-hero-premium-v2 .site-hero-media {
    position: relative !important;
    z-index: 3 !important;
    min-width: 0 !important;
}

html body .site-hero-premium-v2 .site-hero-media::before {
    content: "" !important;
    position: absolute !important;
    inset: -28px -24px auto auto !important;
    width: 180px !important;
    height: 180px !important;
    background: radial-gradient(circle, rgba(37, 99, 235, .38), transparent 68%) !important;
    filter: blur(4px) !important;
    opacity: .8 !important;
    z-index: -1 !important;
}

html body .site-hero-premium-v2 .site-hero-media::after {
    content: "" !important;
    position: absolute !important;
    inset: auto auto -28px -22px !important;
    width: 220px !important;
    height: 120px !important;
    border: 1px solid rgba(37, 99, 235, .22) !important;
    background:
        linear-gradient(90deg, rgba(37, 99, 235, .16), transparent),
        rgba(15, 23, 42, .18) !important;
    z-index: -1 !important;
}

html body .site-hero-premium-v2 .site-hero-frame {
    position: relative !important;
    padding: 10px !important;
    border: 1px solid rgba(148, 163, 184, .22) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.018)),
        rgba(15, 23, 42, .64) !important;
    box-shadow:
        0 28px 90px rgba(0, 0, 0, .38),
        0 0 0 1px rgba(37, 99, 235, .08),
        0 0 70px rgba(37, 99, 235, .14) !important;
    overflow: hidden !important;
}

html body .site-hero-premium-v2 .site-hero-frame::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background:
        linear-gradient(120deg, rgba(255,255,255,.18), transparent 28%, transparent 70%, rgba(37,99,235,.16)) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

html body .site-hero-premium-v2 .site-hero-frame img {
    width: 100% !important;
    height: clamp(330px, 26vw, 455px) !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    display: block !important;
    border: 0 !important;
    background: var(--panel) !important;
    transform: scale(1.01) !important;
}

/* Slide 2 com visual ligeiramente diferente */
html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-left .site-hero-frame {
    transform: perspective(900px) rotateY(2.2deg) !important;
    box-shadow:
        0 32px 100px rgba(0, 0, 0, .42),
        -24px 24px 0 rgba(37, 99, 235, .08) !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-left .site-hero-media::before {
    inset: -24px auto auto -28px !important;
}

/* Slide de fundo premium */
html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background {
    min-height: 560px !important;
    grid-template-columns: 1fr !important;
    align-items: center !important;
    padding: 70px clamp(28px, 5vw, 82px) !important;
    border: 1px solid rgba(148, 163, 184, .16) !important;
    overflow: hidden !important;
    background: #020617 !important;
}

html body .site-hero-premium-v2 .site-hero-bg-premium {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background-size: cover !important;
    background-position: center !important;
    opacity: .52 !important;
    filter: saturate(1.08) contrast(1.04) !important;
    transform: scale(1.03) !important;
}

html body .site-hero-premium-v2 .site-hero-bg-shade {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    background:
        linear-gradient(90deg, rgba(2,6,23,.95) 0%, rgba(2,6,23,.74) 37%, rgba(2,6,23,.42) 68%, rgba(2,6,23,.82) 100%),
        radial-gradient(circle at 80% 22%, rgba(37,99,235,.20), transparent 34%) !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background .site-hero-content {
    max-width: 820px !important;
    padding: 0 !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background h1 {
    max-width: 840px !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background p {
    max-width: 720px !important;
    color: #c7d7ee !important;
}

/* Dots */
html body .site-hero-premium-v2 .site-hero-dots {
    width: min(var(--site-wide, 1760px), 100%) !important;
    margin: -4px auto 0 !important;
    display: flex !important;
    gap: 10px !important;
    position: relative !important;
    z-index: 8 !important;
}

html body .site-hero-premium-v2 .site-hero-dots button {
    width: 38px !important;
    height: 4px !important;
    border: 0 !important;
    background: rgba(148, 163, 184, .35) !important;
    cursor: pointer !important;
}

html body .site-hero-premium-v2 .site-hero-dots button.is-active {
    background: var(--primary) !important;
    box-shadow: 0 0 18px rgba(37, 99, 235, .7) !important;
}

/* Light mode */
html.light body .site-hero-premium-v2 {
    background:
        radial-gradient(circle at 82% 18%, rgba(37, 99, 235, .10), transparent 34%),
        var(--bg) !important;
}

html.light body .site-hero-premium-v2 .site-hero-frame {
    background: rgba(255,255,255,.86) !important;
    box-shadow:
        0 28px 80px rgba(15, 23, 42, .12),
        0 0 0 1px rgba(37, 99, 235, .08) !important;
}

html.light body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background .site-hero-bg-shade {
    background:
        linear-gradient(90deg, rgba(248,250,252,.96) 0%, rgba(248,250,252,.80) 42%, rgba(248,250,252,.50) 72%, rgba(248,250,252,.86) 100%),
        radial-gradient(circle at 80% 22%, rgba(37,99,235,.14), transparent 34%) !important;
}

/* Responsive */
@media (max-width: 1180px) {
    html body .site-hero-premium-v2 {
        padding-top: 0 !important;
        padding-bottom: 46px !important;
        min-height: auto !important;
    }

    html body .site-hero-premium-v2 .site-hero-track,
    html body .site-hero-premium-v2 .site-hero-slide {
        min-height: auto !important;
    }

    html body .site-hero-premium-v2 .site-hero-slide,
    html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-right,
    html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-left {
        grid-template-columns: 1fr !important;
        gap: 42px !important;
        padding-top: 44px !important;
    }

    html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-left .site-hero-content,
    html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-left .site-hero-media {
        order: initial !important;
    }

    html body .site-hero-premium-v2 .site-hero-frame img {
        height: auto !important;
        max-height: 440px !important;
    }

    html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background {
        padding: 54px 28px !important;
    }
}

@media (max-width: 760px) {
    html body .site-hero-premium-v2 {
        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-bottom: 38px !important;
    }

    html body .site-hero-premium-v2 .site-hero-slide {
        padding-top: 34px !important;
    }

    html body .site-hero-premium-v2 .site-hero-content h1 {
        font-size: clamp(38px, 11vw, 56px) !important;
        letter-spacing: -2px !important;
    }

    html body .site-hero-premium-v2 .site-hero-content p {
        font-size: 17px !important;
    }

    html body .site-hero-premium-v2 .site-actions {
        align-items: stretch !important;
    }

    html body .site-hero-premium-v2 .site-button {
        width: 100% !important;
    }

    html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background {
        min-height: auto !important;
        padding: 46px 22px !important;
    }

    html body .site-hero-premium-v2 .site-hero-bg-premium {
        opacity: .36 !important;
    }
}

/* ==========================================================
   SYNTRIX HERO SLIDE 3 BACKGROUND CENTER FIX
   Centraliza e equilibra o slide em fundo cinematográfico.
========================================================== */

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 560px !important;
    padding: 70px clamp(28px, 6vw, 96px) !important;
    text-align: center !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background .site-hero-content {
    width: min(980px, 100%) !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background .site-hero-content span {
    margin-left: auto !important;
    margin-right: auto !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background h1 {
    max-width: 960px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background p {
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    color: #d8e6ff !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background .site-actions {
    justify-content: center !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background .site-hero-bg-premium {
    opacity: .58 !important;
    background-position: center !important;
}

html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background .site-hero-bg-shade {
    background:
        linear-gradient(
            90deg,
            rgba(2,6,23,.86) 0%,
            rgba(2,6,23,.62) 28%,
            rgba(2,6,23,.58) 50%,
            rgba(2,6,23,.62) 72%,
            rgba(2,6,23,.86) 100%
        ),
        radial-gradient(circle at center, rgba(37,99,235,.18), transparent 42%) !important;
}

/* Mobile */
@media (max-width: 760px) {
    html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background {
        padding: 48px 22px !important;
        min-height: auto !important;
    }

    html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background .site-hero-content {
        text-align: left !important;
    }

    html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background h1,
    html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background p {
        text-align: left !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    html body .site-hero-premium-v2 .site-hero-slide.is-layout-image-background .site-actions {
        justify-content: flex-start !important;
    }
}