﻿
/* ==========================================================
   ALICERCE IMBATÍVEL
   CONTACTOS — CINEMATIC
   12/09/2026
   ========================================================== */

/* === HEADER_SERVICOS_COPIATO_2026_09_12_START === */

.site-header{
    position:fixed !important;

    top:24px !important;
    left:50% !important;
    right:auto !important;

    transform:translateX(-50%) !important;

    width:calc(100% - 150px) !important;
    max-width:1500px !important;

    height:30px !important;
    min-height:30px !important;

    padding:0 14px !important;

    background:rgba(255,248,226,.67) !important;

    border:1px solid rgba(255,255,255,.20) !important;
    border-radius:8px !important;

    backdrop-filter:blur(10px);

    z-index:99999 !important;
}

.site-header .brand{
    height:30px !important;

    display:flex !important;
    align-items:center !important;
}

.site-header .brand-logo{
    width:30px !important;
    height:30px !important;

    padding:0 !important;

    object-fit:contain !important;

    background:transparent !important;

    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

.site-header .brand h1{
    margin:0 0 0 10px !important;

    font-size:13px !important;

    line-height:1 !important;

    white-space:nowrap !important;
}

.site-header .brand p,
.site-header .header-btn{
    display:none !important;
}

@media(min-width:901px){

    .site-header nav{
        position:absolute !important;

        left:50% !important;
        top:50% !important;

        transform:translate(-50%,-50%) !important;

        display:flex !important;

        align-items:center !important;

        gap:36px !important;

        margin:0 !important;
    }

    .site-header nav a{
        padding:0 !important;

        font-size:13px !important;

        line-height:1 !important;
    }

}

    .site-header{
        width:calc(100% - 40px) !important;
    }

/* === HEADER_SERVICOS_COPIATO_2026_09_12_END === */


.ctc-page{

    --navy:#07182d;
    --blue:#102442;
    --orange:#f05a17;
    --cream:#f6e5bd;
    --white:#ffffff;

    width:100%;
    overflow:hidden;

    background:var(--navy);
    color:white;
}


/* ==========================================================
   HERO
   ========================================================== */

.ctc-hero{

    position:relative;

    min-height:100svh;

    display:flex;
    align-items:center;

    overflow:hidden;

    padding:
        145px
        clamp(28px,7vw,125px)
        80px;

    isolation:isolate;
}


.ctc-grid{

    position:absolute;
    inset:0;
    z-index:-4;

    background-image:

        linear-gradient(
            rgba(255,255,255,.045) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,.045) 1px,
            transparent 1px
        );

    background-size:
        8vw 8vw;

    mask-image:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.7),
            transparent 90%
        );
}


.ctc-glow{

    position:absolute;

    width:55vw;
    height:55vw;

    left:var(--mouse-x,68%);
    top:var(--mouse-y,28%);

    transform:translate(-50%,-50%);

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(240,90,23,.16) 0%,
            rgba(240,90,23,.06) 22%,
            transparent 65%
        );

    filter:blur(8px);

    z-index:-3;

    pointer-events:none;
}


.ctc-hero-inner{

    position:relative;
    z-index:2;

    width:min(1450px,92vw);

    margin:auto;
}


.ctc-kicker{

    display:block;

    margin-bottom:35px;

    color:var(--orange);

    font-size:12px;
    font-weight:900;

    letter-spacing:.25em;

    opacity:0;

    transform:translateY(20px);

    animation:
        ctcFadeUp .7s ease .15s forwards;
}


.ctc-title-mask{

    overflow:hidden;
}


.ctc-hero h1{

    margin:0;

    font-size:
        clamp(90px,13vw,225px);

    line-height:.75;

    font-weight:900;

    letter-spacing:-.075em;
}


.ctc-hero h1 span,
.ctc-hero h1 em{

    display:block;

    opacity:0;

    transform:
        translateY(115%);

    animation:
        ctcTitleIn 1s
        cubic-bezier(.16,1,.3,1)
        forwards;
}


.ctc-hero h1 span{
    animation-delay:.22s;
}


.ctc-hero h1 em{

    color:var(--orange);

    font-style:normal;

    animation-delay:.39s;
}


@keyframes ctcTitleIn{

    to{
        opacity:1;
        transform:translateY(0);
    }

}


.ctc-hero-bottom{

    width:min(620px,55vw);

    margin:
        55px
        0
        0
        auto;

    display:grid;

    grid-template-columns:
        70px 1fr;

    gap:22px;

    align-items:start;

    opacity:0;

    animation:
        ctcFadeUp .8s ease .95s forwards;
}


.ctc-hero-line{

    width:70px;
    height:2px;

    margin-top:13px;

    background:var(--orange);

    transform-origin:left;

    animation:
        ctcLine 1.2s ease 1.2s both;
}


@keyframes ctcLine{

    from{
        transform:scaleX(0);
    }

    to{
        transform:scaleX(1);
    }

}


.ctc-hero-bottom p{

    margin:0;

    color:rgba(255,255,255,.72);

    font-size:
        clamp(16px,1.3vw,21px);

    line-height:1.6;
}


.ctc-outline-word{

    position:absolute;

    left:50%;
    bottom:-2vw;

    transform:
        translateX(-50%);

    color:transparent;

    -webkit-text-fill-color:transparent;

    -webkit-text-stroke:
        1px rgba(255,255,255,.11);

    font-size:15vw;

    font-weight:900;

    line-height:.75;

    letter-spacing:-.07em;

    white-space:nowrap;

    pointer-events:none;

    animation:
        ctcOutlinePulse 5s
        ease-in-out
        infinite;
}


@keyframes ctcOutlinePulse{

    0%,100%{

        -webkit-text-stroke-color:
            rgba(255,255,255,.08);

        filter:
            drop-shadow(
                0 0 0 rgba(255,255,255,0)
            );
    }

    50%{

        -webkit-text-stroke-color:
            rgba(255,255,255,.22);

        filter:
            drop-shadow(
                0 0 10px rgba(255,255,255,.08)
            );
    }

}


.ctc-scroll{

    position:absolute;

    right:40px;
    bottom:80px;

    display:flex;
    gap:15px;
    align-items:center;

    transform:rotate(90deg);

    transform-origin:right bottom;

    font-size:10px;
    font-weight:900;

    letter-spacing:.2em;
}


.ctc-scroll i{

    width:65px;
    height:1px;

    background:
        rgba(255,255,255,.45);
}


/* ==========================================================
   CONTATTI DIRETTI
   ========================================================== */

.ctc-direct{

    padding:
        clamp(110px,15vh,190px)
        clamp(28px,6vw,110px);

    background:var(--cream);

    color:var(--blue);
}


.ctc-section-head{

    max-width:1200px;

    margin-bottom:
        clamp(75px,11vh,140px);
}


.ctc-section-head > span,
.ctc-zone-left > span,
.ctc-form-intro > span{

    display:block;

    margin-bottom:22px;

    color:var(--orange);

    font-size:12px;
    font-weight:900;

    letter-spacing:.23em;
}


.ctc-section-head h2,
.ctc-zone h2,
.ctc-form-intro h2{

    margin:0;

    font-size:
        clamp(62px,9vw,155px);

    line-height:.82;

    font-weight:900;

    letter-spacing:-.065em;
}


.ctc-section-head h2 em,
.ctc-zone h2 em,
.ctc-form-intro h2 em{

    color:var(--orange);

    font-style:normal;
}


.ctc-contact-list{

    border-top:
        1px solid rgba(16,36,66,.25);
}


.ctc-contact-row{

    position:relative;

    display:grid;

    grid-template-columns:
        60px
        minmax(230px,1fr)
        minmax(250px,.8fr)
        60px;

    gap:25px;

    align-items:center;

    min-height:150px;

    border-bottom:
        1px solid rgba(16,36,66,.25);

    color:var(--blue);

    text-decoration:none;

    overflow:hidden;

    transition:
        color .35s ease,
        padding .35s ease;
}


.ctc-contact-row::before{

    content:"";

    position:absolute;
    inset:0;

    background:var(--orange);

    transform:
        scaleY(0);

    transform-origin:bottom;

    transition:
        transform .45s
        cubic-bezier(.16,1,.3,1);

    z-index:0;
}


.ctc-contact-row:hover::before{

    transform:
        scaleY(1);
}


.ctc-contact-row > *{

    position:relative;
    z-index:1;
}


.ctc-contact-row:hover{

    color:white;

    padding:
        0 25px;
}


.ctc-num{

    color:var(--orange);

    font-size:11px;
    font-weight:900;

    letter-spacing:.2em;
}


.ctc-contact-row:hover .ctc-num{
    color:white;
}


.ctc-contact-name{

    font-size:
        clamp(38px,4vw,72px);

    font-weight:900;

    letter-spacing:-.045em;
}


.ctc-contact-value{

    font-size:
        clamp(14px,1.2vw,18px);

    line-height:1.5;
}


.ctc-contact-row strong{

    text-align:right;

    font-size:35px;

    transition:
        transform .3s ease;
}


.ctc-contact-row:hover strong{

    transform:
        translateX(10px);
}


/* ==========================================================
   ZONA
   ========================================================== */

.ctc-zone{

    position:relative;

    min-height:88vh;

    display:grid;

    grid-template-columns:
        1.15fr .85fr;

    gap:
        clamp(50px,8vw,150px);

    align-items:center;

    padding:
        clamp(100px,14vh,180px)
        clamp(28px,7vw,125px);

    background:var(--orange);

    color:white;

    overflow:hidden;
}


.ctc-zone-bg{

    position:absolute;

    right:-3vw;
    bottom:-5vw;

    color:
        rgba(255,255,255,.075);

    font-size:24vw;

    font-weight:900;

    letter-spacing:-.09em;

    pointer-events:none;
}


.ctc-zone-left,
.ctc-zone-right{

    position:relative;
    z-index:2;
}


.ctc-zone-left > span{
    color:white;
}


.ctc-zone h2 em{
    color:var(--blue);
}


.ctc-zone-right p{

    margin:0 0 50px;

    max-width:570px;

    font-size:
        clamp(24px,2.7vw,48px);

    line-height:1.15;

    font-weight:700;

    letter-spacing:-.03em;
}


.ctc-zone-right a{

    width:100%;

    display:flex;

    justify-content:space-between;
    align-items:center;

    padding:
        22px 0;

    border-top:
        1px solid rgba(255,255,255,.55);

    border-bottom:
        1px solid rgba(255,255,255,.55);

    color:white;

    text-decoration:none;

    font-size:12px;
    font-weight:900;

    letter-spacing:.17em;
}


.ctc-zone-right strong{

    font-size:28px;

    transition:
        transform .3s ease;
}


.ctc-zone-right a:hover strong{

    transform:
        translate(7px,-7px);
}


/* ==========================================================
   FORM
   ========================================================== */

.ctc-form-section{

    display:grid;

    grid-template-columns:
        .9fr 1.1fr;

    min-height:100vh;

    background:var(--navy);
}


.ctc-form-intro{

    position:relative;

    padding:
        clamp(110px,15vh,180px)
        clamp(28px,6vw,100px);

    border-right:
        1px solid rgba(255,255,255,.1);

    overflow:hidden;
}


.ctc-form-intro::after{

    content:"06";

    position:absolute;

    left:-1vw;
    bottom:-6vw;

    color:
        rgba(255,255,255,.035);

    font-size:28vw;

    font-weight:900;

    line-height:.7;
}


.ctc-form-intro p{

    max-width:420px;

    margin-top:40px;

    color:
        rgba(255,255,255,.65);

    line-height:1.65;
}


.ctc-form-tip{

    position:relative;
    z-index:2;

    max-width:450px;

    margin-top:70px;

    display:grid;

    grid-template-columns:
        45px 1fr;

    gap:18px;

    padding-top:25px;

    border-top:
        1px solid rgba(255,255,255,.18);
}


.ctc-form-tip > span{

    color:var(--orange);

    font-size:32px;

    font-weight:300;
}


.ctc-form-tip p{

    margin:0;

    font-size:14px;
}


.ctc-form-wrap{

    padding:
        clamp(110px,15vh,180px)
        clamp(28px,6vw,100px);
}


.ctc-form{

    width:100%;
}


.ctc-field-row{

    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        clamp(20px,3vw,45px);
}


.ctc-form label{

    display:block;

    margin-bottom:38px;
}


.ctc-form label > span{

    display:block;

    margin-bottom:10px;

    color:
        rgba(255,255,255,.48);

    font-size:10px;
    font-weight:900;

    letter-spacing:.18em;
}


.ctc-form input,
.ctc-form select,
.ctc-form textarea{

    width:100%;

    padding:
        15px 0 17px;

    border:0;

    border-bottom:
        1px solid rgba(255,255,255,.28);

    border-radius:0;

    outline:none;

    background:transparent;

    color:white;

    font-family:inherit;

    font-size:
        clamp(17px,1.5vw,23px);

    transition:
        border-color .25s ease;
}


.ctc-form select{

    cursor:pointer;
}


.ctc-form select option{

    color:#07182d;
    background:white;
}


.ctc-form textarea{

    min-height:150px;

    resize:vertical;
}


.ctc-form input::placeholder,
.ctc-form textarea::placeholder{

    color:
        rgba(255,255,255,.3);
}


.ctc-form input:focus,
.ctc-form select:focus,
.ctc-form textarea:focus{

    border-bottom-color:
        var(--orange);
}


.ctc-privacy{

    margin:
        10px 0 40px;

    color:
        rgba(255,255,255,.45);

    font-size:12px;

    line-height:1.6;
}


.ctc-privacy a{

    color:white;

    text-decoration:underline;
}


.ctc-actions{

    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:15px;
}


.ctc-btn{

    min-height:72px;

    display:flex;

    justify-content:space-between;
    align-items:center;

    padding:
        0 22px;

    border:0;

    cursor:pointer;

    font-family:inherit;

    font-size:11px;
    font-weight:900;

    letter-spacing:.15em;

    transition:
        transform .25s ease,
        background .25s ease;
}


.ctc-btn:hover{

    transform:
        translateY(-4px);
}


.ctc-btn-orange{

    background:var(--orange);

    color:white;
}


.ctc-btn-light{

    background:var(--cream);

    color:var(--blue);
}


.ctc-btn strong{

    font-size:25px;
}


/* ==========================================================
   FECHO
   ========================================================== */

.ctc-end{

    min-height:42vh;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:
        clamp(25px,4vw,70px);

    padding:
        70px
        clamp(25px,5vw,90px);

    background:var(--cream);

    color:var(--blue);
}


.ctc-end-line{

    flex:1;

    height:1px;

    background:
        rgba(16,36,66,.3);
}


.ctc-end p{

    margin:0;

    text-align:center;

    font-size:
        clamp(24px,3vw,52px);

    font-weight:900;

    letter-spacing:-.045em;
}


.ctc-end p span{

    color:var(--orange);
}


/* ==========================================================
   REVEALS
   ========================================================== */

.ctc-reveal{

    opacity:0;

    transform:
        translateY(55px);

    transition:

        opacity .8s ease,

        transform .9s
        cubic-bezier(.16,1,.3,1);
}


.ctc-reveal.is-in{

    opacity:1;

    transform:
        translateY(0);
}


@keyframes ctcFadeUp{

    to{

        opacity:1;

        transform:
            translateY(0);
    }

}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:900px){

    .ctc-hero{

        min-height:90svh;

        padding:
            125px
            22px
            70px;
    }


    .ctc-hero h1{

        font-size:
            clamp(76px,18vw,135px);
    }


    .ctc-hero-bottom{

        width:100%;

        margin:
            40px 0 0;

        grid-template-columns:
            45px 1fr;
    }


    .ctc-scroll{
        display:none;
    }


    .ctc-outline-word{

        font-size:21vw;
    }


    .ctc-direct{

        padding:
            100px 22px;
    }


    .ctc-contact-row{

        grid-template-columns:
            40px 1fr 45px;

        gap:15px;

        min-height:120px;
    }


    .ctc-contact-value{

        grid-column:
            2 / 3;
    }


    .ctc-contact-row strong{

        grid-column:3;
        grid-row:1 / 3;
    }


    .ctc-zone{

        grid-template-columns:1fr;

        min-height:auto;

        padding:
            110px 22px;
    }


    .ctc-form-section{

        grid-template-columns:1fr;
    }


    .ctc-form-intro{

        border-right:0;

        border-bottom:
            1px solid rgba(255,255,255,.1);

        padding:
            100px 22px;
    }


    .ctc-form-wrap{

        padding:
            90px 22px;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:560px){

    .ctc-hero{

        min-height:82svh;
    }


    .ctc-hero h1{

        font-size:
            clamp(65px,20vw,95px);
    }


    .ctc-section-head h2,
    .ctc-zone h2,
    .ctc-form-intro h2{

        font-size:
            clamp(53px,15vw,82px);
    }


    .ctc-contact-name{

        font-size:
            clamp(35px,11vw,55px);
    }


    .ctc-field-row{

        grid-template-columns:1fr;
        gap:0;
    }


    .ctc-actions{

        grid-template-columns:1fr;
    }


    .ctc-end{

        min-height:32vh;

        gap:15px;
    }


    .ctc-end-line{

        display:none;
    }

}


/* ==========================================================
   REDUCED MOTION
   ========================================================== */

@media(prefers-reduced-motion:reduce){

    .ctc-reveal,
    .ctc-kicker,
    .ctc-hero h1 span,
    .ctc-hero h1 em,
    .ctc-hero-bottom{

        opacity:1 !important;

        transform:none !important;

        animation:none !important;

        transition:none !important;
    }


    .ctc-outline-word{

        animation:none !important;
    }

}


/* === FIX_AREA_BG_START === */

.ctc-zone{
    overflow:hidden !important;
}

.ctc-zone-bg{
    right:4.5vw !important;
    bottom:-2vw !important;

    font-size:21vw !important;
    line-height:.82 !important;
    letter-spacing:-.08em !important;

    color:rgba(255,255,255,.065) !important;

    white-space:nowrap !important;
    transform:none !important;
}

/* tablet */
@media(max-width:900px){
    .ctc-zone-bg{
        right:2vw !important;
        bottom:-1vw !important;
        font-size:26vw !important;
    }
}

/* === FIX_AREA_BG_END === */



/* =========================================================
   CONTACTOS_MOBILE_FINAL_2026_09_12
   Solo mobile/tablet - desktop invariato
   ========================================================= */

@media(max-width:900px){

    html,
    body{
        width:100% !important;
        max-width:100% !important;
        overflow-x:hidden !important;
    }

    body{
        padding-bottom:88px !important;
    }

    .ctc-page{
        width:100% !important;
        max-width:100% !important;
        overflow-x:hidden !important;
    }


    /* ================= HEADER ================= */

    .site-header{
        top:10px !important;
        left:50% !important;
        right:auto !important;

        width:calc(100% - 24px) !important;
        max-width:none !important;

        height:58px !important;
        min-height:58px !important;

        padding:8px 10px !important;

        transform:translateX(-50%) !important;

        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;

        border-radius:18px !important;
    }

    .site-header .brand{
        flex:1 1 auto !important;
        min-width:0 !important;
        height:auto !important;
    }

    .site-header .brand-logo{
        width:34px !important;
        height:34px !important;
        flex:0 0 34px !important;
    }

    .site-header .brand h1{
        margin-left:8px !important;
        font-size:13px !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }

    .site-header .brand p,
    .site-header .header-btn{
        display:none !important;
    }

    .site-header .mobile-menu-btn{
        width:44px !important;
        height:40px !important;
        flex:0 0 44px !important;
        border-radius:14px !important;
    }

    .site-header nav{
        top:calc(100% + 8px) !important;
        left:0 !important;
        right:0 !important;
    }


    /* ================= REVEAL ================= */

    .ctc-reveal,
    .ctc-reveal.is-in{
        opacity:1 !important;
        visibility:visible !important;
        transform:none !important;
        transition:none !important;
    }


    /* ================= HERO ================= */

    .ctc-hero{
        min-height:auto !important;

        padding:
            105px
            20px
            72px !important;

        display:block !important;
    }

    .ctc-grid{
        background-size:54px 54px !important;
    }

    .ctc-glow{
        width:110vw !important;
        height:110vw !important;
    }

    .ctc-hero-inner{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
    }

    .ctc-kicker{
        margin-bottom:25px !important;

        opacity:1 !important;
        transform:none !important;
        animation:none !important;

        font-size:9px !important;
        line-height:1.3 !important;
    }

    .ctc-title-mask{
        width:100% !important;
        overflow:visible !important;
    }

    .ctc-hero h1{
        width:100% !important;
        max-width:100% !important;

        margin:0 !important;

        font-size:clamp(52px,15vw,68px) !important;
        line-height:.84 !important;
        letter-spacing:-.055em !important;
    }

    .ctc-hero h1 span,
    .ctc-hero h1 em{
        opacity:1 !important;
        transform:none !important;
        animation:none !important;
    }

    .ctc-hero-bottom{
        width:100% !important;
        max-width:100% !important;

        margin:35px 0 0 !important;

        grid-template-columns:44px 1fr !important;
        gap:14px !important;

        opacity:1 !important;
        animation:none !important;
    }

    .ctc-hero-line{
        width:44px !important;
        animation:none !important;
        transform:none !important;
    }

    .ctc-hero-bottom p{
        font-size:14px !important;
        line-height:1.55 !important;
    }

    .ctc-outline-word{
        bottom:-10px !important;

        font-size:25vw !important;
        line-height:.75 !important;

        animation:none !important;
    }

    .ctc-scroll{
        display:none !important;
    }


    /* ================= CONTACTO DIRETO ================= */

    .ctc-direct{
        padding:
            72px
            20px
            78px !important;
    }

    .ctc-section-head{
        width:100% !important;
        max-width:100% !important;

        margin:0 0 48px !important;
    }

    .ctc-section-head > span{
        margin-bottom:16px !important;
        font-size:10px !important;
    }

    .ctc-section-head h2{
        width:100% !important;
        max-width:100% !important;

        font-size:clamp(42px,12vw,54px) !important;
        line-height:.88 !important;
        letter-spacing:-.05em !important;

        word-break:normal !important;
        overflow-wrap:normal !important;
    }

    .ctc-contact-list{
        width:100% !important;
    }

    .ctc-contact-row{
        width:100% !important;

        grid-template-columns:
            32px
            minmax(0,1fr)
            26px !important;

        grid-template-rows:auto auto !important;

        gap:
            8px
            12px !important;

        min-height:0 !important;

        padding:
            22px
            0 !important;

        overflow:visible !important;
    }

    .ctc-contact-row::before{
        display:none !important;
    }

    .ctc-contact-row:hover{
        padding:
            22px
            0 !important;

        color:var(--blue) !important;
    }

    .ctc-num{
        grid-column:1 !important;
        grid-row:1 / 3 !important;

        align-self:start !important;

        padding-top:5px !important;

        font-size:9px !important;
    }

    .ctc-contact-name{
        grid-column:2 !important;
        grid-row:1 !important;

        min-width:0 !important;

        font-size:clamp(26px,8vw,34px) !important;
        line-height:.95 !important;
        letter-spacing:-.04em !important;
    }

    .ctc-contact-value{
        grid-column:2 !important;
        grid-row:2 !important;

        min-width:0 !important;

        font-size:13px !important;
        line-height:1.45 !important;

        overflow-wrap:anywhere !important;
    }

    .ctc-contact-row strong{
        grid-column:3 !important;
        grid-row:1 / 3 !important;

        align-self:center !important;

        font-size:24px !important;

        transform:none !important;
    }


    /* ================= ZONA ================= */

    .ctc-zone{
        min-height:0 !important;

        grid-template-columns:1fr !important;

        gap:42px !important;

        padding:
            76px
            20px !important;
    }

    .ctc-zone-left > span{
        margin-bottom:16px !important;
        font-size:10px !important;
    }

    .ctc-zone h2{
        width:100% !important;
        max-width:100% !important;

        font-size:clamp(42px,12vw,54px) !important;
        line-height:.88 !important;
        letter-spacing:-.05em !important;
    }

    .ctc-zone-right p{
        max-width:100% !important;

        margin:0 0 30px !important;

        font-size:clamp(21px,6.5vw,27px) !important;
        line-height:1.12 !important;
    }

    .ctc-zone-right a{
        padding:
            18px
            0 !important;

        font-size:10px !important;
        line-height:1.4 !important;
    }

    .ctc-zone-bg{
        right:-10px !important;
        bottom:0 !important;

        font-size:30vw !important;
    }


    /* ================= FORM ================= */

    .ctc-form-section{
        display:block !important;
        min-height:0 !important;
    }

    .ctc-form-intro{
        padding:
            76px
            20px !important;

        border-right:0 !important;
        border-bottom:
            1px solid rgba(255,255,255,.1) !important;
    }

    .ctc-form-intro > span{
        margin-bottom:16px !important;
        font-size:10px !important;
    }

    .ctc-form-intro h2{
        width:100% !important;
        max-width:100% !important;

        font-size:clamp(42px,12vw,54px) !important;
        line-height:.88 !important;
        letter-spacing:-.05em !important;
    }

    .ctc-form-intro p{
        max-width:100% !important;

        margin-top:25px !important;

        font-size:14px !important;
        line-height:1.55 !important;
    }

    .ctc-form-tip{
        max-width:100% !important;

        margin-top:42px !important;

        grid-template-columns:30px 1fr !important;
        gap:12px !important;

        padding-top:20px !important;
    }

    .ctc-form-tip > span{
        font-size:25px !important;
    }

    .ctc-form-tip p{
        margin:0 !important;
        font-size:13px !important;
    }

    .ctc-form-intro::after{
        display:none !important;
    }

    .ctc-form-wrap{
        padding:
            68px
            20px
            78px !important;
    }

    .ctc-field-row{
        grid-template-columns:1fr !important;
        gap:0 !important;
    }

    .ctc-form label{
        margin-bottom:30px !important;
    }

    .ctc-form label > span{
        font-size:9px !important;
    }

    .ctc-form input,
    .ctc-form select,
    .ctc-form textarea{
        width:100% !important;
        max-width:100% !important;

        font-size:16px !important;
    }

    .ctc-form textarea{
        min-height:125px !important;
    }

    .ctc-privacy{
        margin:
            5px
            0
            30px !important;

        font-size:11px !important;
        line-height:1.55 !important;
    }

    .ctc-actions{
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    .ctc-btn{
        width:100% !important;

        min-height:58px !important;

        padding:
            0
            16px !important;

        font-size:10px !important;
    }


    /* ================= FINALE ================= */

    .ctc-end{
        min-height:0 !important;

        display:block !important;

        padding:
            62px
            20px
            80px !important;
    }

    .ctc-end-line{
        display:none !important;
    }

    .ctc-end p{
        width:100% !important;

        font-size:clamp(26px,8vw,34px) !important;
        line-height:1 !important;
    }


    /* ================= FOOTER ================= */

    .footer-landmark-inner{
        width:calc(100% - 32px) !important;
        max-width:100% !important;

        display:block !important;

        padding:
            48px
            0
            34px !important;
    }

    .footer-landmark-brand{
        min-height:0 !important;
        padding:
            0
            0
            38px !important;
    }

    .footer-landmark-brand-top{
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;

        text-align:left !important;
    }

    .footer-landmark-logo{
        width:58px !important;
        height:58px !important;

        margin:
            0
            0
            18px !important;
    }

    .footer-landmark-brand h2{
        position:static !important;

        width:100% !important;
        max-width:100% !important;

        margin:0 !important;

        transform:none !important;

        font-size:32px !important;
        line-height:1 !important;

        white-space:normal !important;

        text-align:left !important;
    }

    .footer-landmark-bottom{
        display:block !important;

        margin-top:34px !important;
        padding-top:0 !important;
    }

    .footer-landmark-column,
    .footer-landmark-column + .footer-landmark-column{
        padding-left:0 !important;
        padding-right:0 !important;

        border-left:0 !important;
    }


    /* ================= BARRA MOBILE ================= */

    .mobile-contact-bar{
        left:10px !important;
        right:10px !important;
        bottom:8px !important;

        display:grid !important;
        grid-template-columns:1fr 1fr !important;

        gap:8px !important;

        padding:7px !important;

        border-radius:20px !important;
    }

    .mobile-contact-bar .phone-cost-note{
        display:none !important;
    }

    .mobile-contact-bar a{
        min-width:0 !important;
        min-height:42px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        margin:0 !important;

        border-radius:15px !important;

        font-size:13px !important;
    }

}


@media(max-width:520px){

    .site-header .brand h1{
        font-size:12px !important;
    }

    .ctc-hero h1{
        font-size:clamp(50px,14vw,62px) !important;
    }

    .ctc-section-head h2,
    .ctc-zone h2,
    .ctc-form-intro h2{
        font-size:clamp(40px,11vw,50px) !important;
    }

}


/* =========================================================
   FIM CONTACTOS_MOBILE_FINAL_2026_09_12
   ========================================================= */

/* =========================================================
   CONTACTOS_MOBILE_PATCH_FINALE_2026_09_12
   ========================================================= */

@media(max-width:600px){

    /* ZONA DE ATUACAO */

    .ctc-zone{
        padding-left:20px !important;
        padding-right:20px !important;
    }

    .ctc-zone-left,
    .ctc-zone-right{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    .ctc-zone h2{
        width:100% !important;
        max-width:100% !important;

        margin:0 !important;

        font-size:clamp(34px,10vw,38px) !important;
        line-height:.92 !important;
        letter-spacing:-.045em !important;

        white-space:normal !important;
        overflow:visible !important;
    }

    .ctc-zone h2 em{
        display:block !important;
        width:100% !important;

        white-space:normal !important;
    }

    .ctc-zone-right p{
        width:100% !important;
        max-width:100% !important;

        margin:0 0 32px !important;

        font-size:18px !important;
        line-height:1.18 !important;
        letter-spacing:-.025em !important;

        white-space:normal !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
    }


    /* BARRA FISSA: SOLO DUE PULSANTI */

    .mobile-contact-bar{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
        grid-template-rows:1fr !important;

        left:10px !important;
        right:10px !important;
        bottom:8px !important;

        gap:8px !important;

        padding:7px !important;
    }

    .mobile-contact-bar .phone-cost-note{
        display:none !important;
    }

    .mobile-contact-bar a{
        grid-row:1 !important;

        width:100% !important;
        min-width:0 !important;

        margin:0 !important;
    }

    .mobile-contact-bar a:first-of-type{
        grid-column:1 !important;
    }

    .mobile-contact-bar a:last-of-type{
        grid-column:2 !important;
    }

}

/* FIM CONTACTOS_MOBILE_PATCH_FINALE_2026_09_12 */


/* =========================================================
   CONTACTOS_360_FINAL_FIX
   Ultimi ritocchi telefono piccolo
   ========================================================= */

@media(max-width:400px){

    /* CONTACTO decorativo: più piccolo e dentro lo schermo */
    .ctc-outline-word{
        left:50% !important;
        bottom:4px !important;

        font-size:13.5vw !important;
        line-height:.8 !important;
        letter-spacing:-.07em !important;

        transform:translateX(-50%) !important;

        white-space:nowrap !important;
    }


    /* ONDE TRABALHAMOS */
    .ctc-zone h2{
        width:100% !important;
        max-width:100% !important;

        font-size:30px !important;
        line-height:.92 !important;
        letter-spacing:-.035em !important;

        white-space:normal !important;
    }

    .ctc-zone h2 em{
        display:block !important;
    }


    /* CITTA / ZONA */
    .ctc-zone-right p{
        width:100% !important;
        max-width:100% !important;

        font-size:16px !important;
        line-height:1.28 !important;
        letter-spacing:-.01em !important;

        white-space:normal !important;
        overflow-wrap:anywhere !important;
        word-break:normal !important;
    }

}

/* FIM CONTACTOS_360_FINAL_FIX */


/* =========================================================
   CONTACTOS - ULTIMO RIDIMENSIONAMENTO TESTI TELEFONO
   ========================================================= */

@media(max-width:400px){

    /* CONTACTO decorativo */
    .ctc-outline-word{
        left:50% !important;
        right:auto !important;
        bottom:8px !important;

        width:auto !important;
        max-width:90% !important;

        font-size:40px !important;
        line-height:1 !important;
        letter-spacing:-.03em !important;

        white-space:nowrap !important;

        transform:translateX(-50%) !important;
    }

    /* ESCOLHA O CANAL */
    .ctc-section-head h2{
        width:100% !important;
        max-width:100% !important;

        font-size:34px !important;
        line-height:.94 !important;
        letter-spacing:-.035em !important;

        white-space:normal !important;
    }

}


/* CONTACTOS_AREA_SMALL_FINAL */
@media(max-width:400px){

    .ctc-zone-bg{
        font-size:18vw !important;
        right:8px !important;
        bottom:6px !important;
        line-height:1 !important;
    }

}
