/* =========================================================
   SF CONTROL — SITE INSTITUCIONAL
   Arquivo: /public_html/assets/css/site.css
   ========================================================= */

:root{
    --sf-bg:#03070f;
    --sf-bg-2:#071525;
    --sf-card:#0d1828;
    --sf-card-soft:rgba(255,255,255,.055);

    --sf-gold:#D4AF37;
    --sf-gold-2:#FFE58A;
    --sf-cyan:#32D7FF;
    --sf-green:#25D366;

    --sf-white:#FFFFFF;
    --sf-text:#DDE6F3;
    --sf-muted:#9EADBF;

    --sf-line:rgba(255,255,255,.12);
    --sf-line-gold:rgba(212,175,55,.34);

    --sf-shadow:0 34px 110px rgba(0,0,0,.58);
    --sf-radius:28px;
    --sf-container:min(1180px,calc(100% - 40px));
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    min-height:100vh;
    font-family:Inter,Segoe UI,Arial,sans-serif;
    color:var(--sf-text);
    background:var(--sf-bg);
    overflow-x:hidden;
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-4;
    background:
        radial-gradient(circle at 12% 8%, rgba(50,215,255,.18), transparent 28%),
        radial-gradient(circle at 88% 8%, rgba(212,175,55,.16), transparent 30%),
        radial-gradient(circle at 55% 95%, rgba(37,211,102,.10), transparent 32%),
        linear-gradient(135deg,var(--sf-bg),var(--sf-bg-2));
}

body::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:-3;
    background-image:
        linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
    background-size:44px 44px;
    opacity:.6;
    pointer-events:none;
}

img{
    max-width:100%;
    display:block;
}

a{
    color:inherit;
}

.sf-page{
    position:relative;
    width:100%;
    overflow:hidden;
}

/* HEADER */
.sf-header{
    position:fixed;
    top:18px;
    left:50%;
    transform:translateX(-50%);
    z-index:50;

    width:var(--sf-container);
    min-height:78px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    padding:12px 16px;

    border:1px solid var(--sf-line);
    border-radius:999px;

    background:rgba(5,12,22,.72);
    backdrop-filter:blur(22px);

    box-shadow:0 18px 50px rgba(0,0,0,.32);
}

.sf-brand{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    overflow:hidden;
    border:1px solid rgba(212,175,55,.35);
    box-shadow:0 0 28px rgba(212,175,55,.13);
    text-decoration:none;
}

.sf-brand img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.sf-nav{
    display:flex;
    align-items:center;
    gap:10px;
}

.sf-nav a{
    text-decoration:none;
    color:#D7E2F0;
    font-size:14px;
    font-weight:800;
    padding:12px 14px;
    border-radius:999px;
    transition:.25s ease;
}

.sf-nav a:hover{
    color:var(--sf-gold-2);
    background:rgba(255,255,255,.07);
}

.sf-header-whats{
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    border-radius:999px;
    text-decoration:none;
    color:#07120D;
    background:linear-gradient(135deg,var(--sf-green),#86F7A9);
    font-weight:950;
    box-shadow:0 15px 34px rgba(37,211,102,.25);
}

/* HERO */
.sf-hero{
    width:var(--sf-container);
    min-height:100vh;
    margin:0 auto;
    padding:140px 0 72px;

    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:46px;
    align-items:center;
}

.sf-hero__content{
    position:relative;
    z-index:2;
}

.sf-eyebrow,
.sf-label{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    align-items:center;
    gap:10px;

    padding:11px 16px;

    border-radius:999px;
    border:1px solid var(--sf-line-gold);
    background:rgba(212,175,55,.10);

    color:var(--sf-gold-2);
    font-size:12px;
    font-weight:950;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.sf-eyebrow::before,
.sf-label::before{
    content:"";
    width:9px;
    height:9px;
    border-radius:50%;
    background:#00FF66;
    box-shadow:0 0 18px #00FF66;
}

.sf-hero h1{
margin:28px 0 24px;
max-width:760px;
font-size:clamp(48px,6vw,92px);
line-height:1.08;
letter-spacing:-2.5px;
padding-bottom:.14em;
overflow:visible;
color:var(--sf-white);
}

.sf-hero h1 span{
display:block;
margin-top:14px;
padding-bottom:.08em;
line-height:1.08;
background:
linear-gradient(
90deg,
var(--sf-gold-2),
var(--sf-cyan)
);
-webkit-background-clip:text;
background-clip:text;
color:transparent;
}

.sf-hero p{
    max-width:650px;
    color:var(--sf-muted);
    font-size:20px;
    line-height:1.75;
}

.sf-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:34px;
}

.sf-btn{
    min-height:58px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 24px;
    border:none;
    border-radius:18px;
    cursor:pointer;
    text-decoration:none;
    font-size:15px;
    font-weight:950;
    transition:.25s ease;
}

.sf-btn:hover{
    transform:translateY(-3px);
}

.sf-btn--primary{
    color:#07120D;
    background:linear-gradient(135deg,var(--sf-gold),var(--sf-gold-2));
    box-shadow:0 18px 42px rgba(212,175,55,.22);
}

.sf-btn--ghost{
    color:var(--sf-white);
    background:rgba(255,255,255,.055);
    border:1px solid var(--sf-line);
}

.sf-hero__visual{
    position:relative;
}

.sf-hero__visual::before{
    content:"";
    position:absolute;
    inset:9%;
    border-radius:50%;
    background:
        conic-gradient(
            from 180deg,
            rgba(50,215,255,.05),
            rgba(50,215,255,.42),
            rgba(37,211,102,.26),
            rgba(212,175,55,.26),
            rgba(50,215,255,.05)
        );
    filter:blur(34px);
    animation:sf-spin 14s linear infinite;
}

.sf-logo-card{
    position:relative;
    z-index:2;
    padding:34px;
    border-radius:36px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
    border:1px solid var(--sf-line);
    box-shadow:var(--sf-shadow);
    backdrop-filter:blur(24px);
}

.sf-logo-card img{
    width:100%;
    border-radius:26px;
    box-shadow:0 34px 90px rgba(0,0,0,.55);
}

/* MARQUEE */
.sf-marquee-section{
    width:100%;
    padding:40px 0 84px;
}

.sf-marquee{
    width:100%;
    overflow:hidden;
    position:relative;
}

.sf-marquee::before,
.sf-marquee::after{
    content:"";
    position:absolute;
    top:0;
    width:120px;
    height:100%;
    z-index:3;
    pointer-events:none;
}

.sf-marquee::before{
    left:0;
    background:linear-gradient(90deg,var(--sf-bg),transparent);
}

.sf-marquee::after{
    right:0;
    background:linear-gradient(270deg,var(--sf-bg),transparent);
}

.sf-marquee__track{
    display:flex;
    width:max-content;
    gap:22px;
    animation:sf-marquee 42s linear infinite;
}

.sf-marquee:hover .sf-marquee__track{
    animation-play-state:paused;
}

.sf-card-slide{
    width:280px;
    aspect-ratio:1 / 1;
    flex:0 0 auto;
    border-radius:26px;
    overflow:hidden;
    border:1px solid rgba(212,175,55,.22);
    background:#05070B;
    box-shadow:0 26px 60px rgba(0,0,0,.42);
}

.sf-card-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* SECTIONS */
.sf-section{
    width:var(--sf-container);
    margin:0 auto;
    padding:96px 0;
}

.sf-section__head{
    max-width:820px;
    margin-bottom:36px;
}

.sf-section__head h2{
    margin-top:18px;
    color:var(--sf-white);
    font-size:clamp(34px,4vw,58px);
    line-height:1.08;
    letter-spacing:-1.8px;
}

.sf-section__head p{
    margin-top:18px;
    color:var(--sf-muted);
    font-size:18px;
    line-height:1.75;
}

/* ABOUT */
.sf-about__grid{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:28px;
    align-items:stretch;
}

.sf-about__text{
    padding:34px;
    border-radius:var(--sf-radius);
    background:var(--sf-card-soft);
    border:1px solid var(--sf-line);
    backdrop-filter:blur(18px);
}

.sf-about__text p{
    color:var(--sf-muted);
    font-size:18px;
    line-height:1.85;
}

.sf-about__text p + p{
    margin-top:18px;
}

/* ==========================================
   CARD ROTATIVO — ANALISAR → PROJETAR → EXECUTAR
========================================== */

.sf-about__highlight{

position:relative;

min-height:420px;

padding:40px;

overflow:hidden;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

border-radius:var(--sf-radius);

border:1px solid var(--sf-line-gold);

background:
radial-gradient(
circle at top right,
rgba(212,175,55,.18),
transparent 38%
),
linear-gradient(
145deg,
rgba(255,255,255,.08),
rgba(255,255,255,.025)
);

}

/* PALAVRAS */

.sf-about__highlight strong,
.sf-about__highlight span,
.sf-about__highlight em{

position:absolute;

left:50%;
top:50%;

transform:
translate(-50%,40px);

width:100%;

padding:0 24px;

text-align:center;

font-size:
clamp(56px,6vw,88px);

line-height:1;

font-weight:950;

letter-spacing:-3px;

opacity:0;

animation:
sf-cycle 9s infinite;

}

/* ANALISAR */

.sf-about__highlight strong{

color:#fff;

animation-delay:0s;

}

/* PROJETAR */

.sf-about__highlight span{

color:var(--sf-gold-2);

animation-delay:3s;

}

/* EXECUTAR */

.sf-about__highlight em{

color:var(--sf-cyan);

animation-delay:6s;

font-style:normal;

}

/* ANIMAÇÃO */

@keyframes sf-cycle{

0%{

opacity:0;

transform:
translate(-50%,50px);

}

8%{

opacity:1;

transform:
translate(-50%,-50%);

}

28%{

opacity:1;

transform:
translate(-50%,-50%);

}

36%{

opacity:0;

transform:
translate(-50%,-80px);

}

100%{

opacity:0;

}

}

@media(max-width:640px){

.sf-about__highlight{

min-height:280px;

}

.sf-about__highlight strong,
.sf-about__highlight span,
.sf-about__highlight em{

font-size:52px;

}

}

/* SERVICES */
.sf-service-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.sf-service{
    padding:28px;
    min-height:270px;
    border-radius:var(--sf-radius);
    background:
        linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
    border:1px solid var(--sf-line);
    box-shadow:0 22px 54px rgba(0,0,0,.25);
    transition:.25s ease;
}

.sf-service:hover{
    transform:translateY(-6px);
    border-color:rgba(212,175,55,.45);
}

.sf-service span{
    color:var(--sf-gold-2);
    font-size:13px;
    font-weight:950;
    letter-spacing:2px;
}

.sf-service h3{
    margin-top:20px;
    color:var(--sf-white);
    font-size:24px;
    line-height:1.15;
}

.sf-service p{
    margin-top:16px;
    color:var(--sf-muted);
    font-size:15.5px;
    line-height:1.72;
}

/* BENEFITS */
.sf-benefit-list{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.sf-benefit-list div{
    padding:26px;
    border-radius:var(--sf-radius);
    background:rgba(0,0,0,.22);
    border:1px solid var(--sf-line);
}

.sf-benefit-list strong{
    display:block;
    color:var(--sf-gold-2);
    font-size:22px;
    margin-bottom:12px;
}

.sf-benefit-list p{
    color:var(--sf-muted);
    line-height:1.7;
}

/* CONTACT */
.sf-contact{
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:32px;
    align-items:start;
}

.sf-contact__info{
    position:sticky;
    top:125px;
}

.sf-contact__info h2{
    margin:18px 0;
    color:var(--sf-white);
    font-size:clamp(34px,4vw,56px);
    line-height:1.08;
    letter-spacing:-1.7px;
}

.sf-contact__info p{
    color:var(--sf-muted);
    font-size:18px;
    line-height:1.7;
    margin-bottom:24px;
}

.sf-form{
    padding:34px;
    border-radius:32px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035));
    border:1px solid var(--sf-line);
    box-shadow:var(--sf-shadow);
    backdrop-filter:blur(20px);
}

.sf-form__row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.sf-form label{
    display:block;
    color:#D8E4F4;
    font-size:13px;
    font-weight:900;
    letter-spacing:.4px;
    margin-bottom:16px;
}

.sf-form input,
.sf-form select,
.sf-form textarea{
    width:100%;
    margin-top:8px;
    border:1px solid rgba(255,255,255,.13);
    outline:none;
    border-radius:16px;
    background:rgba(0,0,0,.24);
    color:var(--sf-white);
    padding:16px;
    font-size:15px;
    font-family:inherit;
    transition:.25s ease;
}

.sf-form textarea{
    resize:vertical;
    min-height:130px;
}

.sf-form input:focus,
.sf-form select:focus,
.sf-form textarea:focus{
    border-color:rgba(212,175,55,.62);
    box-shadow:0 0 0 4px rgba(212,175,55,.10);
}

.sf-form button{
    width:100%;
}

/* FOOTER */
.sf-footer{
    width:var(--sf-container);
    margin:30px auto 0;
    padding:34px 0 42px;

    display:grid;
    grid-template-columns:1fr auto;
    gap:20px;
    align-items:center;

    border-top:1px solid var(--sf-line);
}

.sf-footer strong{
    display:block;
    color:var(--sf-white);
    font-size:18px;
}

.sf-footer span,
.sf-footer small{
    display:block;
    color:var(--sf-muted);
    margin-top:6px;
}

.sf-footer__links{
    display:flex;
    gap:12px;
}

.sf-footer__links a{
    text-decoration:none;
    padding:12px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.055);
    border:1px solid var(--sf-line);
    color:#D8E4F4;
    font-weight:900;
    font-size:14px;
}

/* FLOATING WHATSAPP */
.sf-floating-whats{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:80;

    width:64px;
    height:64px;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;
    font-size:28px;

    background:linear-gradient(135deg,#25D366,#16B950);
    box-shadow:
        0 18px 42px rgba(37,211,102,.36),
        0 0 0 10px rgba(37,211,102,.08);

    animation:sf-pulse-whats 2s infinite;
}

/* ANIMATIONS */
@keyframes sf-marquee{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}

@keyframes sf-spin{
    to{
        transform:rotate(360deg);
    }
}

@keyframes sf-pulse-whats{
    0%{
        box-shadow:
            0 18px 42px rgba(37,211,102,.36),
            0 0 0 0 rgba(37,211,102,.18);
    }
    70%{
        box-shadow:
            0 18px 42px rgba(37,211,102,.36),
            0 0 0 18px rgba(37,211,102,0);
    }
    100%{
        box-shadow:
            0 18px 42px rgba(37,211,102,.36),
            0 0 0 0 rgba(37,211,102,0);
    }
}

/* TABLET */
@media(max-width:1050px){
    :root{
        --sf-container:min(100% - 30px,900px);
    }

    .sf-header{
        border-radius:26px;
    }

    .sf-nav{
    display:flex;
    }

    .sf-hero{
        grid-template-columns:1fr;
        text-align:center;
        padding-top:126px;
    }

    .sf-hero__content{
        display:flex;
        flex-direction:column;
        align-items:center;
    }

    .sf-hero__actions{
        justify-content:center;
    }

    .sf-hero__visual{
        max-width:520px;
        margin:auto;
    }

    .sf-about__grid,
    .sf-contact{
        grid-template-columns:1fr;
    }

    .sf-contact__info{
        position:relative;
        top:auto;
        text-align:center;
    }

    .sf-service-grid,
    .sf-benefit-list{
        grid-template-columns:repeat(2,1fr);
    }
}

/* MOBILE */
@media(max-width:640px){
    :root{
        --sf-container:calc(100% - 24px);
    }

    .sf-header{
        top:10px;
        min-height:66px;
        padding:9px 10px;
    }

    .sf-brand{
        width:48px;
        height:48px;
    }

    .sf-header-whats{
        min-height:42px;
        padding:0 14px;
        font-size:13px;
    }

    .sf-hero{
        min-height:auto;
        padding:112px 0 48px;
        gap:28px;
    }

    .sf-eyebrow,
    .sf-label{
        justify-content:center;
        white-space:normal;
        text-align:center;
        font-size:10px;
        letter-spacing:1.2px;
        padding:10px 13px;
    }

    .sf-hero h1{
        font-size:43px;
        line-height:1.02;
        letter-spacing:-1.5px;
    }

    .sf-hero p{
        font-size:16px;
        line-height:1.65;
    }

    .sf-hero__actions,
    .sf-btn{
        width:100%;
    }

    .sf-logo-card{
        padding:18px;
        border-radius:26px;
    }

    .sf-logo-card img{
        border-radius:20px;
    }

    .sf-marquee-section{
        padding:18px 0 50px;
    }

    .sf-card-slide{
        width:228px;
        border-radius:22px;
    }

    .sf-marquee__track{
        gap:14px;
        animation-duration:34s;
    }

    .sf-section{
        padding:64px 0;
    }

    .sf-section__head{
        text-align:center;
        margin-left:auto;
        margin-right:auto;
    }

    .sf-section__head .sf-label{
        margin-left:auto;
        margin-right:auto;
    }

    .sf-section__head h2,
    .sf-contact__info h2{
        font-size:34px;
        letter-spacing:-1px;
    }

    .sf-about__text,
    .sf-about__highlight,
    .sf-form{
        padding:22px;
        border-radius:24px;
    }

    .sf-about__text p{
        font-size:16px;
        line-height:1.75;
    }

    .sf-service-grid,
    .sf-benefit-list,
    .sf-form__row{
        grid-template-columns:1fr;
    }

    .sf-service{
        min-height:auto;
        padding:24px;
    }

    .sf-contact{
        gap:24px;
    }

    .sf-footer{
        grid-template-columns:1fr;
        text-align:center;
        padding-bottom:90px;
    }

    .sf-footer__links{
        justify-content:center;
        flex-wrap:wrap;
    }

    .sf-floating-whats{
        width:58px;
        height:58px;
        right:18px;
        bottom:18px;
        font-size:25px;
    }
}

/* =========================================================
   EFEITO PREMIUM — FAIXAS DOURADAS NO CARD DA LOGO
   Cole este bloco no FINAL do site.css
   ========================================================= */

.sf-logo-card{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}

.sf-logo-card::before{
    content:"";
    position:absolute;
    inset:-60%;
    z-index:-1;

    background:
        linear-gradient(
            120deg,
            transparent 0%,
            rgba(212,175,55,0) 18%,
            rgba(212,175,55,.12) 32%,
            rgba(255,229,138,.30) 44%,
            rgba(212,175,55,.12) 56%,
            rgba(212,175,55,0) 70%,
            transparent 100%
        );

    filter:blur(28px);
    transform:rotate(-16deg);
    animation:sf-gold-sweep 10s linear infinite;
    pointer-events:none;
}

.sf-logo-card::after{
    content:"";
    position:absolute;
    inset:-70%;
    z-index:-1;

    background:
        linear-gradient(
            110deg,
            transparent 0%,
            rgba(255,240,190,.20) 45%,
            transparent 70%
        );

    filter:blur(42px);
    transform:rotate(-18deg);
    animation:sf-gold-sweep-reverse 15s linear infinite;
    pointer-events:none;
}

.sf-logo-card img{
    position:relative;
    z-index:2;
}

@keyframes sf-gold-sweep{
    0%{
        transform:translateX(-42%) rotate(-16deg);
    }

    100%{
        transform:translateX(42%) rotate(-16deg);
    }
}

@keyframes sf-gold-sweep-reverse{
    0%{
        transform:translateX(45%) rotate(-18deg);
    }

    100%{
        transform:translateX(-45%) rotate(-18deg);
    }
}

@media(max-width:640px){
    .sf-logo-card::before{
        filter:blur(22px);
        animation-duration:12s;
    }

    .sf-logo-card::after{
        filter:blur(32px);
        animation-duration:18s;
    }
}

/* =========================================================
   MODAL DE IMAGEM — CARDS DO CARROSSEL
   ========================================================= */

.sf-image-modal{
    position:fixed;
    inset:0;
    z-index:9999;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:28px;

    background:
        radial-gradient(circle at center, rgba(212,175,55,.12), transparent 35%),
        rgba(0,0,0,.88);

    backdrop-filter:blur(16px);

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:.25s ease;
}

.sf-image-modal.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.sf-image-modal__img{
    max-width:min(92vw,1080px);
    max-height:88vh;

    border-radius:24px;
    object-fit:contain;

    border:1px solid rgba(212,175,55,.35);

    box-shadow:
        0 40px 120px rgba(0,0,0,.75),
        0 0 60px rgba(212,175,55,.18);

    animation:sf-modal-zoom .25s ease;
}

.sf-image-modal__close{
    position:absolute;
    top:24px;
    right:28px;

    width:48px;
    height:48px;

    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;

    background:rgba(255,255,255,.08);
    color:#fff;

    font-size:34px;
    line-height:1;

    cursor:pointer;

    transition:.2s ease;
}

.sf-image-modal__close:hover{
    background:rgba(212,175,55,.18);
    border-color:rgba(212,175,55,.45);
    transform:scale(1.05);
}

@keyframes sf-modal-zoom{
    from{
        transform:scale(.94);
        opacity:.2;
    }

    to{
        transform:scale(1);
        opacity:1;
    }
}

@media(max-width:640px){
    .sf-image-modal{
        padding:14px;
    }

    .sf-image-modal__img{
        max-width:96vw;
        max-height:82vh;
        border-radius:18px;
    }

    .sf-image-modal__close{
        top:14px;
        right:14px;
        width:44px;
        height:44px;
        font-size:30px;
    }
}

/* =========================================================
   SETAS DO MODAL DE IMAGEM
   ========================================================= */

.sf-image-modal__nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);

    width:58px;
    height:58px;

    border-radius:50%;
    border:1px solid rgba(212,175,55,.35);

    background:rgba(255,255,255,.08);
    color:#fff;

    font-size:48px;
    line-height:1;

    cursor:pointer;
    z-index:10000;

    backdrop-filter:blur(14px);

    transition:.2s ease;
}

.sf-image-modal__nav:hover{
    background:rgba(212,175,55,.18);
    transform:translateY(-50%) scale(1.08);
}

.sf-image-modal__prev{
    left:34px;
}

.sf-image-modal__next{
    right:34px;
}

@media(max-width:640px){
    .sf-image-modal__nav{
        width:46px;
        height:46px;
        font-size:38px;
    }

    .sf-image-modal__prev{
        left:10px;
    }

    .sf-image-modal__next{
        right:10px;
    }
}

/* ==========================================
MODAL SUCESSO FORMULÁRIO
========================================== */

.sf-success{

position:fixed;

inset:0;

z-index:99999;

display:flex;

align-items:center;

justify-content:center;

background:
rgba(0,0,0,.72);

backdrop-filter:
blur(14px);

opacity:0;

visibility:hidden;

transition:.25s;

}

.sf-success.show{

opacity:1;

visibility:visible;

}

.sf-success__card{

width:min(520px,92vw);

padding:42px;

text-align:center;

border-radius:34px;

background:
linear-gradient(
145deg,
#071423,
#0C1E33
);

border:

1px solid
rgba(
212,
175,
55,
.28
);

box-shadow:

0 40px 120px
rgba(0,0,0,.55);

transform:
translateY(24px);

transition:.25s;

}

.sf-success.show
.sf-success__card{

transform:
translateY(0);

}

.sf-success__icon{

width:88px;

height:88px;

margin:auto;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:44px;

background:

linear-gradient(
135deg,
#D4AF37,
#FFE58A
);

color:#071423;

font-weight:900;

margin-bottom:22px;

}

.sf-success h3{

color:#fff;

font-size:34px;

margin-bottom:12px;

}

.sf-success p{

color:#AAB7C8;

font-size:18px;

line-height:1.7;

margin-bottom:28px;

}

/* =========================================================
   SF CONTROL
   ÍCONES SOCIAIS + CTA WHATS
   BLOCO ÚNICO FINAL
========================================================= */

/* =========================================================
   RODAPÉ — INSTAGRAM
========================================================= */

.sf-instagram-link{
    width:62px;
    height:62px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:8px;

    border-radius:18px;

    overflow:hidden;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.03)
        );

    border:1px solid var(--sf-line);

    box-shadow:
        0 18px 42px rgba(0,0,0,.18);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.sf-instagram-link:hover{

    transform:
        translateY(-4px)
        scale(1.05);

    border-color:
        rgba(212,175,55,.45);

    box-shadow:
        0 24px 60px rgba(212,175,55,.18);

}

.sf-instagram-link img{

    width:100%;
    height:100%;

    object-fit:contain;

    display:block;

}

/* =========================================================
   HERO — INSTAGRAM
========================================================= */

.sf-btn--instagram{

    width:88px;

    height:88px;

    padding:10px;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    border-radius:26px;

    overflow:hidden;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.03)
        );

    border:
        1px solid rgba(255,255,255,.12);

    box-shadow:
        0 22px 60px rgba(0,0,0,.24);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.sf-btn--instagram:hover{

    transform:
        translateY(-5px)
        scale(1.05);

    border-color:
        rgba(212,175,55,.45);

    box-shadow:
        0 30px 80px rgba(212,175,55,.18);

}

.sf-btn--instagram img{

    width:100%;

    height:100%;

    object-fit:contain;

    display:block;

}

/* =========================================================
   WHATSAPP FLUTUANTE
========================================================= */

.sf-floating-whats{

    position:fixed;

    right:24px;

    bottom:24px;

    z-index:80;

    width:72px;

    height:72px;

    padding:8px;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

    border-radius:50%;

    background:
        linear-gradient(
            145deg,
            #25D366,
            #1CB955
        );

    box-shadow:
        0 18px 42px rgba(37,211,102,.30),
        0 0 34px rgba(37,211,102,.18);

    transition:
        transform .25s ease;

    animation:
        sf-pulse-whats
        2.2s infinite;
}

.sf-floating-whats:hover{

    transform:
        scale(1.08);

}

.sf-floating-whats img{

    width:100%;

    height:100%;

    object-fit:contain;

    display:block;

    border-radius:50%;

}

/* =========================================================
   CONTATO — BOTÃO WHATS
========================================================= */

.sf-btn--contact-whats{

    width:92px;

    height:92px;

    padding:10px;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    border-radius:26px;

    overflow:hidden;

    background:
        linear-gradient(
            145deg,
            rgba(37,211,102,.18),
            rgba(37,211,102,.05)
        );

    border:
        1px solid rgba(37,211,102,.28);

    box-shadow:
        0 20px 60px rgba(37,211,102,.18);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.sf-btn--contact-whats:hover{

    transform:
        translateY(-5px)
        scale(1.05);

    box-shadow:
        0 30px 80px rgba(37,211,102,.26);

}

.sf-btn--contact-whats img{

    width:100%;

    height:100%;

    object-fit:contain;

    display:block;

}

/* =========================================================
   RESPONSIVO
========================================================= */

@media(max-width:640px){

.sf-instagram-link{
    width:56px;
    height:56px;
}

.sf-btn--instagram{
    width:72px;
    height:72px;
}

.sf-floating-whats{
    width:62px;
    height:62px;

    right:16px;

    bottom:16px;
}

.sf-btn--contact-whats{
    width:74px;
    height:74px;
}

}

/* =========================================================
   CONTATO — BOTÃO WHATS ESTILO PREMIUM
========================================================= */

.sf-contact .sf-btn--contact-whats{

width:94px !important;

height:94px !important;

min-width:94px;

max-width:94px;

padding:0 !important;

display:flex !important;

align-items:center;

justify-content:center;

flex:0 0 auto;

overflow:hidden;

border-radius:28px;

/* fundo escuro igual ao site */
background:
linear-gradient(
145deg,
rgba(255,255,255,.08),
rgba(255,255,255,.03)
);

border:
1px solid rgba(37,211,102,.24);

box-shadow:
0 18px 48px rgba(0,0,0,.22);

transition:.25s ease;

}

.sf-contact .sf-btn--contact-whats:hover{

transform:
translateY(-4px)
scale(1.04);

border-color:
rgba(37,211,102,.45);

box-shadow:
0 26px 72px rgba(37,211,102,.18);

}

.sf-contact .sf-btn--contact-whats img{

width:56px;

height:56px;

object-fit:contain;

display:block;

border-radius:16px;

/* tira aparência de quadrado colado */
filter:
drop-shadow(
0 0 14px
rgba(37,211,102,.22)
);

}

@media(max-width:640px){

.sf-contact .sf-btn--contact-whats{

width:78px !important;

height:78px !important;

}

.sf-contact .sf-btn--contact-whats img{

width:46px;

height:46px;

}

}

/* =========================================================
   FORMULÁRIO EMPRESARIAL — SF CONTROL
========================================================= */

.sf-form{

max-width:760px;

margin-left:auto;

}

.sf-form label{
margin-bottom:22px;
}

.sf-form input,
.sf-form select,
.sf-form textarea{

min-height:62px;

padding:18px 20px;

font-size:16px;

}

.sf-form textarea{

min-height:180px;

}

.sf-form button{

margin-top:18px;

height:68px;

font-size:18px;

}

/* placeholders */

.sf-form input::placeholder,
.sf-form textarea::placeholder{

color:
rgba(255,255,255,.42);

}

/* =========================================================
   HEADER — INSTAGRAM RESPONSIVO
========================================================= */

.sf-header-instagram{
    width:60px;
    height:60px;

    padding:8px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    border-radius:18px;

    overflow:hidden;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.03)
        );

    border:1px solid rgba(212,175,55,.22);

    transition:.25s ease;
}

.sf-header-instagram:hover{

    transform:
        translateY(-3px)
        scale(1.04);

    border-color:
        rgba(212,175,55,.48);

}

.sf-header-instagram img{

    width:100%;
    height:100%;

    object-fit:contain;

}

/* MOBILE */
@media(max-width:640px){

.sf-header-instagram{

    width:42px;
    height:42px;

    padding:5px;

    border-radius:14px;

}

.sf-header-instagram img{

    width:100%;
    height:100%;

}

}

@media(max-width:420px){

.sf-header-instagram{

    width:38px;
    height:38px;

    padding:4px;

}

}

/* =========================================================
   ALERT PREMIUM
========================================================= */

.sf-alert{

position:fixed;

inset:0;

z-index:99999;

display:flex;

align-items:center;

justify-content:center;

padding:20px;

background:
rgba(0,0,0,.72);

backdrop-filter:
blur(12px);

opacity:0;

visibility:hidden;

transition:.25s;

}

.sf-alert.is-open{

opacity:1;

visibility:visible;

}

.sf-alert__box{

width:min(520px,100%);

padding:42px;

border-radius:34px;

text-align:center;

background:
linear-gradient(
145deg,
#071525,
#0D1828
);

border:
1px solid
rgba(212,175,55,.22);

box-shadow:
0 40px 120px rgba(0,0,0,.45);

transform:
translateY(30px);

transition:.25s;

}

.sf-alert.is-open
.sf-alert__box{

transform:
translateY(0);

}

.sf-alert__icon{

width:90px;

height:90px;

margin:0 auto 20px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:42px;

background:
linear-gradient(
135deg,
#D4AF37,
#FFE58A
);

color:#071525;

font-weight:900;

}

.sf-alert h3{

color:#fff;

font-size:34px;

margin-bottom:12px;

}

.sf-alert p{

color:#BFCADA;

line-height:1.7;

margin-bottom:28px;

}

.sf-alert button{

width:100%;

height:58px;

border:none;

border-radius:18px;

font-size:16px;

font-weight:900;

cursor:pointer;

background:
linear-gradient(
135deg,
#D4AF37,
#FFE58A
);

}

.sf-alert button:hover{

transform:
translateY(-2px);

}

.sf-alert button{

transition:
transform .25s,
box-shadow .25s;

}

.sf-alert button:hover{

transform:
translateY(-3px);

box-shadow:
0 18px 40px
rgba(212,175,55,.24);

}

/* =========================================================
   MENU MOBILE — HEADER
========================================================= */

.sf-header-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.sf-menu-toggle{
    display:none;

    width:52px;
    height:52px;

    border:none;

    border-radius:16px;

    cursor:pointer;

    font-size:28px;

    color:#fff;

    background:
    linear-gradient(
        145deg,
        rgba(255,255,255,.08),
        rgba(255,255,255,.03)
    );

    border:
    1px solid rgba(212,175,55,.20);

    transition:.25s ease;
}

.sf-menu-toggle:hover{

transform:
translateY(-2px);

border-color:
rgba(212,175,55,.45);

}

@media(max-width:640px){

.sf-menu-toggle{

display:flex;

align-items:center;

justify-content:center;

}

.sf-nav{

position:fixed;

top:92px;

left:50%;

transform:
translateX(-50%)
translateY(-20px);

width:calc(100% - 24px);

padding:18px;

display:flex;

flex-direction:column;

gap:10px;

background:
rgba(5,12,22,.96);

border:
1px solid rgba(212,175,55,.18);

border-radius:24px;

backdrop-filter:
blur(20px);

opacity:0;

visibility:hidden;

pointer-events:none;

transition:.25s;

}

.sf-nav.is-open{

opacity:1;

visibility:visible;

pointer-events:auto;

transform:
translateX(-50%)
translateY(0);

}

.sf-nav a{

width:100%;

padding:18px;

text-align:center;

font-size:15px;

}

}

/* =========================================================
   MOBILE — OCULTAR INSTAGRAM DO HEADER
========================================================= */

@media(max-width:640px){

    .sf-header-instagram{
        display:none !important;
    }

    .sf-header-actions{
        gap:0;
    }

}