/* ==========================================================
   HERO PREMIUM
========================================================== */

.prop-hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    overflow:hidden;
}

/* IMAGEM */

.prop-hero img{

    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    object-position:center;
}

/* OVERLAY */

.prop-overlay{

    position:absolute;

    inset:0;

    background:

    linear-gradient(
    135deg,
    rgba(7,42,82,.92) 0%,
    rgba(7,42,82,.78) 45%,
    rgba(7,42,82,.65) 100%);

    z-index:1;
}

/* GLOW TOPO */

.prop-hero::before{

    content:'';

    position:absolute;

    width:750px;
    height:750px;

    border-radius:50%;

    background:
    rgba(30,201,243,.15);

    top:-300px;
    right:-250px;

    filter:blur(120px);

    z-index:1;
}

/* GLOW FUNDO */

.prop-hero::after{

    content:'';

    position:absolute;

    width:550px;
    height:550px;

    border-radius:50%;

    background:
    rgba(86,194,113,.12);

    bottom:-250px;
    left:-150px;

    filter:blur(100px);

    z-index:1;
}

/* CONTAINER */

.prop-hero .container{

    position:relative;

    z-index:5;

    width:90%;

    max-width:1400px;

    margin:auto;
}

/* CONTEÚDO */

.prop-hero-content{

    max-width:720px;

    color:white;
}

/* BADGE */

.prop-hero-content > span{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 18px;

    border-radius:999px;

    background:
    rgba(255,255,255,.08);

    backdrop-filter:blur(15px);

    border:
    1px solid rgba(255,255,255,.10);

    font-size:.78rem;

    font-weight:600;

    letter-spacing:2px;

    color:#fbbf24;

    margin-bottom:28px;

    text-transform:uppercase;
}
/* TITULO */

.prop-hero-content h1{

    font-size:clamp(
    3rem,
    4.3vw,
    3.9rem);

    line-height:1.08;

    font-weight:800;

    margin-bottom:22px;

    max-width:700px;

    text-shadow:
    0 10px 30px rgba(0,0,0,.15);
}

/* TEXTO */

.prop-hero-content p{

    max-width:600px;

    color:
    rgba(255,255,255,.88);

    font-size:1.05rem;

    line-height:1.9;

    margin-bottom:45px;
}

/* ===================================
   FEATURES HERO
=================================== */

.prop-hero-features{

    display:flex;

    align-items:center;

    gap:40px;

    flex-wrap:wrap;
}

/* ITEM */

.prop-feature{

    display:flex;

    align-items:center;

    gap:15px;

    position:relative;
}

/* SEPARADOR */

.prop-feature:not(:last-child)::after{

    content:'';

    position:absolute;

    right:-20px;
    top:50%;

    transform:
    translateY(-50%);

    width:1px;
    height:45px;

    background:
    rgba(255,255,255,.18);
}

/* ÍCONE */

.prop-feature i{

    font-size:1.8rem;

    color:#1EC9F3;

    min-width:30px;
}

/* TEXTO */

.prop-feature strong{

    display:block;

    color:white;

    font-size:1rem;

    font-weight:700;

    line-height:1.2;
}

.prop-feature span{

    display:block;

    color:
    rgba(255,255,255,.78);

    font-size:.92rem;

    margin-top:2px;
}

/* HOVER */

.prop-feature{


    transition:.35s ease;
}

.prop-feature:hover{

    transform:
    translateY(-4px);
}

.prop-feature:hover i{

    color:#56C271;
}


/* ===================================
   RESPONSIVO
=================================== */
/* ==========================================================
   PROPOSTA HERO - MOBILE
========================================================== */

@media (max-width:768px){

/* HERO */

.prop-hero{

    min-height:70vh;

    padding:90px 0 40px;

    display:flex;

    align-items:center;

}

/* IMAGEM */

.prop-hero img{

    object-fit:cover;

    object-position:65% center;

}

/* OVERLAY */

.prop-overlay{

    background:linear-gradient(
        180deg,
        rgba(7,42,82,.90),
        rgba(7,42,82,.72)
    );

}

/* GLOWS */

.prop-hero::before{

    width:320px;

    height:320px;

    top:-150px;

    right:-150px;

    filter:blur(70px);

}

.prop-hero::after{

    width:240px;

    height:240px;

    left:-120px;

    bottom:-120px;

    filter:blur(60px);

}

/* CONTAINER */

.prop-hero .container{

    width:92%;

}

/* CONTEÚDO */

.prop-hero-content{

    max-width:300px;

}

/* BADGE */

.prop-hero-content > span{

    padding:8px 14px;

    font-size:.58rem;

    letter-spacing:1px;

    margin-bottom:18px;

}

/* TÍTULO */

.prop-hero-content h1{

    font-size:1.8rem;

    line-height:1.15;

    margin-bottom:15px;

    max-width:290px;

}

/* TEXTO */

.prop-hero-content p{

    font-size:.84rem;

    line-height:1.7;

    margin-bottom:25px;

    max-width:290px;

}

/* FEATURES */

.prop-hero-features{

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    gap:18px;

}

/* ITEM */

.prop-feature{

    width:100%;

    gap:12px;

}

.prop-feature:not(:last-child)::after{

    display:none;

}

/* ÍCONE */

.prop-feature i{

    font-size:1.35rem;

    min-width:24px;

}

/* TEXTO */

.prop-feature strong{

    font-size:.90rem;

}

.prop-feature span{

    font-size:.78rem;

}

}
/* ==========================================================
   SECTION PREMIUM
========================================================== */

.prop-section{

    position:relative;

    padding:140px 0;

    overflow:hidden;

    background:

    radial-gradient(
    circle at top right,
    rgba(30,201,243,.08),
    transparent 28%),

    radial-gradient(
    circle at bottom left,
    rgba(86,194,113,.08),
    transparent 35%),

    linear-gradient(
    180deg,
    #fafcff 0%,
    #f5f9fc 50%,
    #fbfcfd 100%);
}

/* GLOW */

.prop-section::before{

    content:'';

    position:absolute;

    width:700px;
    height:700px;

    border-radius:50%;

    background:
    rgba(7,42,82,.03);

    top:-250px;
    right:-250px;

    filter:blur(120px);
}

.prop-section::after{

    content:'';

    position:absolute;

    width:550px;
    height:550px;

    border-radius:50%;

    background:
    rgba(86,194,113,.05);

    bottom:-250px;
    left:-250px;

    filter:blur(120px);
}

/* WRAPPER */

.prop-wrapper{

    display:grid;

    grid-template-columns:
    420px 1fr;

    gap:40px;

    align-items:start;

    position:relative;

    z-index:2;
}
/* ==========================================================
   INFO PANEL PREMIUM
========================================================== */

.prop-info{

    position:sticky;

    top:120px;

    padding:45px;

    border-radius:38px;

    background:
    rgba(255,255,255,.75);

    backdrop-filter:
    blur(18px);

    border:
    1px solid rgba(255,255,255,.90);

    box-shadow:
    0 30px 70px rgba(15,23,42,.06);

    overflow:hidden;
}

/* DECORAÇÃO */

.prop-info::before{

    content:'';

    position:absolute;

    top:-120px;
    right:-120px;

    width:250px;
    height:250px;

    border-radius:50%;

    background:
    radial-gradient(
    circle,
    rgba(30,201,243,.12),
    transparent 70%);
}

.prop-info::after{

    content:'';

    position:absolute;

    bottom:-120px;
    left:-120px;

    width:220px;
    height:220px;

    border-radius:50%;

    background:
    radial-gradient(
    circle,
    rgba(86,194,113,.10),
    transparent 70%);
}

/* BADGE */

.prop-info span{

    position:relative;

    z-index:2;

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:#0891b2;

    font-size:.8rem;

    font-weight:700;

    letter-spacing:3px;

    text-transform:uppercase;
}

.prop-info span::before{

    content:'';

    width:40px;
    height:2px;

    background:#1EC9F3;
}

/* TÍTULO */

.prop-info h2{

    position:relative;

    z-index:2;

    font-size:clamp(
    1.3rem,
    1.2vw,
    1.4rem);

    line-height:1.15;

    margin:22px 0;

    font-weight:800;

    background:
    linear-gradient(
    90deg,
    #072A52,
    #1EC9F3,
    #56C271);

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* TEXTO */

.prop-info > p{

    position:relative;

    z-index:2;

    color:#64748b;

    line-height:1.9;

    margin-bottom:40px;
}

/* ==========================================================
   STEPS PREMIUM
========================================================== */

.prop-step{

    position:relative;

    z-index:2;

    display:flex;

    align-items:flex-start;

    gap:18px;

    padding:24px;

    margin-bottom:18px;

    border-radius:24px;

    background:white;

    border:
    1px solid rgba(15,23,42,.05);

    transition:.35s ease;

    box-shadow:
    0 12px 30px rgba(15,23,42,.04);
}

/* HOVER */

.prop-step:hover{

    transform:
    translateX(10px);

    border-color:
    rgba(30,201,243,.15);

    box-shadow:
    0 20px 45px rgba(15,23,42,.08);
}

/* NÚMERO */

.prop-step strong{

    width:60px;
    height:60px;

    min-width:60px;

    border-radius:20px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1rem;

    font-weight:700;

    color:white;

    background:
    linear-gradient(
    135deg,
    #072A52,
    #1EC9F3);

    box-shadow:
    0 15px 30px rgba(30,201,243,.15);
}

/* TÍTULO PASSO */

.prop-step h4{

    color:#072A52;

    font-size:1.05rem;

    margin-bottom:8px;

    font-weight:700;
}

/* TEXTO PASSO */

.prop-step p{

    color:#64748b;

    line-height:1.7;

    font-size:.95rem;

    margin:0;
}
/* ==========================================================
   FORMULÁRIO PREMIUM
========================================================== */

.prop-form{

    position:relative;

    background:
    rgba(255,255,255,.82);

    backdrop-filter:
    blur(20px);

    border:
    1px solid rgba(255,255,255,.90);

    padding:55px;

    border-radius:40px;

    box-shadow:
    0 35px 80px rgba(15,23,42,.08);

    overflow:hidden;
}

/* DECORAÇÃO */

.prop-form::before{

    content:'';

    position:absolute;

    width:280px;
    height:280px;

    border-radius:50%;

    background:
    radial-gradient(
    circle,
    rgba(30,201,243,.10),
    transparent 70%);

    right:-120px;
    top:-120px;
}

.prop-form::after{

    content:'';

    position:absolute;

    width:220px;
    height:220px;

    border-radius:50%;

    background:
    radial-gradient(
    circle,
    rgba(86,194,113,.08),
    transparent 70%);

    left:-120px;
    bottom:-120px;
}

/* TÍTULO */

.prop-form h3{

    position:relative;

    z-index:2;

    font-size:2rem;

    margin-bottom:35px;

    font-weight:800;

    background:
    linear-gradient(
    90deg,
    #072A52,
    #1EC9F3);

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* GRID */

.prop-grid{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:20px;
}

/* CAMPOS */

.prop-form input,
.prop-form select,
.prop-form textarea{

    position:relative;

    z-index:2;

    width:100%;

    border:
    1px solid rgba(15,23,42,.08);

    background:white;

    padding:18px 22px;

    border-radius:18px;

    margin-bottom:18px;

    color:#072A52;

    font-size:.95rem;

    transition:.35s ease;
}

.prop-form input::placeholder,
.prop-form textarea::placeholder{

    color:#94a3b8;
}

.prop-form input:focus,
.prop-form select:focus,
.prop-form textarea:focus{

    outline:none;

    border-color:#1EC9F3;

    box-shadow:
    0 0 0 4px rgba(30,201,243,.12);
}

/* TEXTAREA */

.prop-form textarea{

    resize:none;

    min-height:220px;
}

/* ==========================================================
   UPLOAD PREMIUM
========================================================== */

.prop-upload{

    position:relative;

    z-index:2;

    margin-bottom:25px;
}

.prop-upload label{

    display:block;

    color:#072A52;

    font-weight:700;

    margin-bottom:12px;
}

.prop-upload input[type=file]{

    width:100%;

    padding:22px;

    border-radius:20px;

    background:white;

    border:
    2px dashed rgba(30,201,243,.25);

    cursor:pointer;

    transition:.35s ease;
}

.prop-upload input[type=file]:hover{

    border-color:#1EC9F3;

    background:#f9fcff;
}

.prop-upload small{

    display:block;

    margin-top:12px;

    color:#64748b;

    line-height:1.7;

    font-size:.9rem;
}

/* ==========================================================
   BOTÃO
========================================================== */

.prop-form button{

    position:relative;

    z-index:2;

    border:none;

    cursor:pointer;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:18px 40px;

    border-radius:999px;

    color:white;

    font-weight:600;

    font-size:.95rem;

    background:
    linear-gradient(
    135deg,
    #072A52,
    #1EC9F3);

    transition:.35s ease;

    box-shadow:
    0 20px 40px rgba(7,42,82,.15);
}

.prop-form button:hover{

    transform:
    translateY(-5px);

    box-shadow:
    0 30px 60px rgba(30,201,243,.22);
}

/* ==========================================================
   ALERTAS
========================================================== */

.prop-success{

    position:relative;

    z-index:2;

    background:#dcfce7;

    color:#166534;

    padding:18px 22px;

    border-radius:18px;

    margin-bottom:25px;

    border-left:
    4px solid #22c55e;
}

.prop-error{

    position:relative;

    z-index:2;

    background:#fee2e2;

    color:#991b1b;

    padding:18px 22px;

    border-radius:18px;

    margin-bottom:25px;

    border-left:
    4px solid #ef4444;
}

.prop-error ul{

    margin:0;

    padding-left:20px;
}
/* ==========================================================
   SOLICITAR PROPOSTA - MOBILE
========================================================== */

@media (max-width:768px){

/* SECTION */

.prop-section{

    padding:70px 0;

}

.prop-section::before{

    width:300px;

    height:300px;

    top:-150px;

    right:-150px;

    filter:blur(70px);

}

.prop-section::after{

    width:250px;

    height:250px;

    left:-150px;

    bottom:-150px;

    filter:blur(70px);

}

/* WRAPPER */

.prop-wrapper{

    grid-template-columns:1fr;

    gap:30px;

}

/* ==========================
   INFO
========================== */

.prop-info{

    position:relative;

    top:auto;

    padding:28px;

    border-radius:24px;

}

.prop-info span{

    font-size:.65rem;

    letter-spacing:2px;

}

.prop-info span::before{

    width:25px;

}

.prop-info h2{

    font-size:1.45rem;

    margin:18px 0;

}

.prop-info>p{

    font-size:.85rem;

    line-height:1.7;

    margin-bottom:25px;

}

/* PASSOS */

.prop-step{

    padding:18px;

    gap:14px;

    border-radius:18px;

    margin-bottom:14px;

}

.prop-step:hover{

    transform:none;

}

.prop-step strong{

    width:46px;

    height:46px;

    min-width:46px;

    border-radius:14px;

    font-size:.85rem;

}

.prop-step h4{

    font-size:.92rem;

    margin-bottom:5px;

}

.prop-step p{

    font-size:.78rem;

    line-height:1.5;

}

/* ==========================
   FORMULÁRIO
========================== */

.prop-form{

    padding:28px;

    border-radius:24px;

}

.prop-form h3{

    font-size:1.5rem;

    margin-bottom:22px;

}

/* GRID */

.prop-grid{

    grid-template-columns:1fr;

    gap:0;

}

/* CAMPOS */

.prop-form input,
.prop-form select,
.prop-form textarea{

    padding:15px 18px;

    border-radius:14px;

    font-size:.88rem;

    margin-bottom:15px;

}

.prop-form textarea{

    min-height:160px;

}

/* UPLOAD */

.prop-upload label{

    font-size:.90rem;

}

.prop-upload input[type=file]{

    padding:16px;

    border-radius:14px;

}

.prop-upload small{

    font-size:.75rem;

    line-height:1.5;

}

/* BOTÃO */

.prop-form button{

    width:100%;

    padding:16px;

    font-size:.90rem;

}

/* ALERTAS */

.prop-success,
.prop-error{

    padding:14px 16px;

    font-size:.85rem;

}

}