:root{
  --black:#111111;
  --black-2:#1a1a1a;
  --card:#202020;
  --gold:#d4af37;
  --gold-light:#ffd95a;
  --white:#ffffff;
  --muted:#bdbdbd;
  --line:rgba(212,175,55,.18);
  --green:#25d366;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  min-height:100vh;
  font-family:'Poppins',sans-serif;
  color:var(--white);
  background:
    radial-gradient(circle at 10% 0%,rgba(212,175,55,.12),transparent 28rem),
    linear-gradient(180deg,#0d0d0d 0%,#1a1a1a 48%,#0d0d0d 100%);
}
a{color:inherit;text-decoration:none}
button{font:inherit}
.card-shell{width:min(100%,520px);margin:auto;padding:24px 18px 48px}
.profile-card,.review-card,.section-block,.coverage-card,.social-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(24,24,24,.92);
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}
.profile-card{text-align:center;padding:36px 24px 30px}
.brand-logo{width:104px;height:104px;object-fit:contain;margin:0 auto 18px;border-radius:22px}
.eyebrow{color:var(--gold);letter-spacing:2px;font-size:12px;font-weight:600}
h1{font-size:32px;margin:8px 0 10px}.tagline{color:#ddd;line-height:1.7}
.save-contact,.gold-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;font-weight:700;transition:.3s}
.save-contact{margin-top:24px;padding:14px 20px;background:var(--gold);color:var(--black)}
.save-contact:active,.quick-action:active,.service-link:active,.gold-button:active{transform:scale(.97)}
.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0}
.quick-action{min-height:112px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.3s}
.quick-action span{font-size:28px;margin-bottom:7px}.quick-action strong{font-size:15px}.quick-action small{color:var(--muted);font-size:11px;margin-top:3px}.quick-action.primary{background:var(--green);color:white;border-color:transparent}.quick-action.primary small{color:rgba(255,255,255,.82)}
.review-card{padding:30px 24px;text-align:center}.stars{color:var(--gold-light);letter-spacing:4px;font-size:22px}.review-card h2{margin:10px 0 8px;font-size:23px}.review-card p{color:var(--muted);font-size:14px;line-height:1.7}.gold-button{position:relative;overflow:hidden;width:100%;padding:15px;margin-top:20px;background:var(--gold);color:var(--black)}
.shine::after{content:"";position:absolute;top:-100%;left:-35%;width:30%;height:300%;background:rgba(255,255,255,.35);transform:rotate(25deg);animation:shine 8s infinite}
@keyframes shine{0%,72%{left:-35%}88%,100%{left:140%}}
.section-block,.coverage-card,.social-card{margin-top:16px;padding:28px 20px}.section-heading{text-align:center;margin-bottom:22px}.section-heading span{color:var(--gold);font-size:12px;letter-spacing:2px;font-weight:600}.section-heading h2{font-size:23px;margin-top:7px}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.service-link{min-height:112px;padding:16px 10px;text-align:center;border-radius:16px;background:#262626;border:1px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.3s}.service-link span{font-size:29px;margin-bottom:9px}.service-link strong{font-size:13px}.service-link.wide{grid-column:1/-1}.service-link:hover{border-color:var(--gold);transform:translateY(-4px)}
.portfolio-cta{padding:18px;border-radius:16px;background:#262626;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;transition:.3s}.portfolio-cta strong{display:block}.portfolio-cta small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.portfolio-cta>span{color:var(--gold);font-size:30px}.portfolio-cta:hover{border-color:var(--gold);transform:translateY(-4px)}
.coverage-card{display:grid;gap:18px}.coverage-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--gold);font-size:28px}.coverage-card h2{font-size:23px;margin:5px 0}.coverage-card p{color:var(--muted);line-height:1.7;font-size:14px}.neighborhoods{display:flex;flex-wrap:wrap;gap:8px}.neighborhoods span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#232323;font-size:12px}.coverage-note{padding:14px;border-left:3px solid var(--gold);background:rgba(212,175,55,.08);border-radius:10px}
.social-card h2{text-align:center;font-size:22px;margin-bottom:18px}.social-links{display:grid;gap:10px}.social-links a{padding:15px 18px;border-radius:14px;background:#262626;border:1px solid var(--line);transition:.3s}.social-links a:hover{border-color:var(--gold);transform:translateX(4px)}
footer{text-align:center;padding:34px 12px 0}.footer-logo{width:56px;height:56px;object-fit:contain;margin:0 auto 10px}.footer-logo+strong{display:block;color:var(--gold)}footer p{color:var(--muted);font-size:12px;margin:6px 0 14px}footer small{color:#777}
.splash{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#0d0d0d;transition:opacity .55s,visibility .55s}.splash.hide{opacity:0;visibility:hidden}.splash-logo{width:112px;height:112px;object-fit:contain;margin-bottom:18px;animation:pulse 1.2s ease-in-out infinite alternate}.splash strong{color:var(--gold);font-size:24px}.splash span{color:#bbb;max-width:290px;margin-top:8px;font-size:13px}@keyframes pulse{to{transform:scale(1.05)}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s,transform .55s}.reveal.visible{opacity:1;transform:none}

/* ===================================== */
/* LOADING - HANNAH CORRENDO             */
/* ===================================== */

#site-loader{

    position:fixed;
    inset:0;

    z-index:99999;

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

    background:#0d0d0d;

    transition:
        opacity .5s ease,
        visibility .5s ease;
}


#site-loader.loaded{

    opacity:0;
    visibility:hidden;
    pointer-events:none;

}


.loader-content{

    width:min(560px, 86vw);

}


/* ======================= */
/* PISTA                   */
/* ======================= */

.hannah-track{

    position:relative;

    width:100%;
    height:145px;

    overflow:hidden;

}


/* HANNAH */

.hannah-running{

    position:absolute;

    bottom:4px;
    left:0;

    width:120px;
    height:120px;

    object-fit:contain;

    transform:translateX(-130px);

    animation:
        hannahTravel 2.6s linear infinite,
        hannahBounce .16s ease-in-out infinite alternate;

}


/* atravessa a tela */

@keyframes hannahTravel{

    from{
        left:0;
        transform:translateX(-130px);
    }

    to{
        left:100%;
        transform:translateX(5px);
    }

}


/* pequena vibração da corrida */

@keyframes hannahBounce{

    from{
        margin-bottom:0;
    }

    to{
        margin-bottom:4px;
    }

}


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

.loader-line{

    position:relative;

    width:100%;
    height:5px;

    overflow:hidden;

    border-radius:20px;

    background:#272727;

}


.loader-progress{

    position:absolute;

    left:0;
    top:0;

    width:40%;
    height:100%;

    border-radius:20px;

    background:#d4af37;

    animation:loadingProgress 1.4s ease-in-out infinite;

}


@keyframes loadingProgress{

    0%{
        transform:translateX(-110%);
    }

    100%{
        transform:translateX(350%);
    }

}


/* ======================= */
/* TEXTO                   */
/* ======================= */

.loader-info{

    display:flex;

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

    gap:7px;

    margin-top:16px;

    color:#fff;

    font-family:"Montserrat", sans-serif;

    font-size:14px;
    font-weight:600;

}


.loader-paw{

    color:#d4af37;

}


.loader-brand{

    margin:9px 0 0;

    text-align:center;

    color:white;

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

    letter-spacing:3px;

}

.card-hannah{
    display:flex;
    align-items:center;
    gap:14px;

    margin:10px 0 20px 0;
    padding:16px;

    background:rgba(212,175,55,.06);

    border:1px solid rgba(212,175,55,.20);
    border-radius:14px;
}

.card-hannah img{
    width:70px;
    height:auto;

    flex-shrink:0;
}

.card-hannah strong{
    display:block;

    margin-bottom:4px;

    color:white;

    font-size:15px;
}

.card-hannah p{
    margin:0;

    color:#777;

    font-size:12px;
    line-height:1.5;
}

/*==============================*/
/*        BOTÕES PRINCIPAIS     */
/*==============================*/

.botoes{
    padding: 5px 00px 10px 00px;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:14px;

    margin-top:30px;

}

.botao-card{

    min-height:82px;

    display:flex;

    align-items:center;

    gap:15px;

    padding:16px 18px;

    background:#1A1A1A;

    border:1px solid rgba(212,175,55,.18);

    border-radius:16px;

    color:#FFF;

    text-align:left;

    text-decoration:none;

    cursor:pointer;

    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;

}

button.botao-card{

    width:100%;

    font-family:inherit;

}

.botao-card:hover{

    transform:translateY(-5px);

    border-color:#D4AF37;

    box-shadow:0 15px 30px rgba(212,175,55,.15);

}

.botao-card:active{

    transform:scale(.97);

}

.botao-icon{

    min-width:48px;

    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#D4AF37;

    color:#111;

    font-size:23px;

}

.botao-card div{

    display:flex;

    flex-direction:column;

    gap:4px;

}

.botao-card strong{

    font-size:16px;

}

.botao-card small{

    color:#AAA;

    font-size:12px;

    line-height:1.4;

}

.botao-card.whatsapp .botao-icon{

    background:#25D366;

    color:#FFF;

}

/*==============================*/
/*        BOTÃO FECHAR          */
/*==============================*/

.fechar-modal{

    position:absolute;

    top:18px;

    right:20px;

    width:42px;

    height:42px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:rgba(212,175,55,.08);

    border:1px solid rgba(212,175,55,.18);

    color:#D4AF37;

    font-size:26px;

    font-weight:700;

    cursor:pointer;

    transition:.3s;

    user-select:none;

}

.fechar-modal:hover{

    background:#D4AF37;

    color:#111;

    transform:rotate(90deg) scale(1.08);

    box-shadow:0 10px 25px rgba(212,175,55,.25);

}

/*==============================*/
/*       FORMULÁRIO E-MAIL      */
/*==============================*/

.email-box{
    width:calc(100% - 24px);
    max-width:500px;
    max-height:88dvh;
    overflow-y:auto;
    padding:38px 24px 28px;
    background:#161616;
    opacity:1;
    scrollbar-width:none;

    -ms-overflow-style:none;
}

.email-modal{

    position:fixed;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(0,0,0,.95);

    backdrop-filter:blur(10px);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:9999;

}

.email-modal.active{

    opacity:1;

    visibility:visible;

}

.email-intro{

    margin:-10px 0 24px;

    color:#BDBDBD;

    font-size:14px;

    line-height:1.7;

}

.email-box form{

    display:flex;

    flex-direction:column;

}

.email-box label{

    margin:0 0 7px;

    color:#D4AF37;

    font-size:13px;

    font-weight:600;

}

.email-box input,
.email-box textarea{

    width:100%;

    margin-bottom:16px;

    padding:15px 16px;

    border:1px solid transparent;

    border-radius:10px;

    outline:none;

    background:#252525;

    color:#FFFFFF;

    font-family:inherit;

    font-size:15px;

    transition:
        border-color .3s ease,
        box-shadow .3s ease;

}

.email-box input:focus,
.email-box textarea:focus{

    border-color:#D4AF37;

    box-shadow:0 0 0 3px rgba(212,175,55,.12);

}

.email-box textarea{

    min-height:135px;

    resize:vertical;

}

.email-box button:disabled{

    opacity:.65;

    cursor:not-allowed;

    transform:none;

}

.botcheck{

    position:absolute !important;

    left:-9999px !important;

    opacity:0 !important;

    pointer-events:none !important;

}

.form-status{

    min-height:24px;

    margin-top:16px;

    text-align:center;

    font-size:14px;

    line-height:1.6;

}

.form-status.success{

    color:#58D68D;

}

.form-status.error{

    color:#FF7675;

}

.hannah-footer{

    width:18px;

    height:18px;

    margin-left:6px;

    vertical-align:middle;

    opacity:.85;

    transition:.3s;

}

.hannah-footer:hover{

    opacity:1;

    transform:scale(1.15);

}

.form-success{

    display:flex;
    align-items:center;

    gap:14px;

    width:100%;

}

.form-success img{

    width:72px;
    height:auto;

    flex-shrink:0;

}

.form-success-text{

    text-align:left;

}

.form-success-text strong{

    display:block;

    margin-bottom:4px;

    font-size:16px;

}

.form-success-text p{

    margin:0;

    font-size:13px;
    line-height:1.5;

}

/*==============================*/
/*        HANNAH - RODAPÉ       */
/*==============================*/

.footer-bottom-container{

    display:flex;
    flex-direction:column;

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

    gap:10px;

    text-align:center;

}

.footer-copy{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:7px;

}

.hannah-trigger{

    width:28px;

    height:28px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:0;

    border:1px solid rgba(212,175,55,.22);

    border-radius:50%;

    background:rgba(212,175,55,.08);

    font-size:16px;

    cursor:pointer;

    transition:
        transform .3s ease,
        background .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;

}

.hannah-trigger:hover{

    transform:scale(1.12);

    background:rgba(212,175,55,.18);

    border-color:#D4AF37;

    box-shadow:0 8px 22px rgba(212,175,55,.18);

}

.hannah-trigger:focus-visible{

    outline:2px solid #D4AF37;

    outline-offset:3px;

}

.footer-legal{

    width:100%;

    display:flex;
    flex-direction:column;

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

    gap:4px;

    margin-top:12px;

    text-align:center;

}

.footer-cnpj,
.footer-fe{

    margin:0;

    text-align:center;

}

.footer-cnpj{

    font-size:11px;

    opacity:.65;

}

.footer-fe{

    margin-top:3px;

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

    letter-spacing:.8px;

    opacity:.55;

}
/*==============================*/
/*         MODAL HANNAH         */
/*==============================*/

.hannah-modal{

    position:fixed;

    inset:0;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:20px;

    background:rgba(0,0,0,.86);

    backdrop-filter:blur(7px);

    opacity:0;

    visibility:hidden;

    transition:
        opacity .35s ease,
        visibility .35s ease;

    z-index:10000;

}

.hannah-modal.active{

    opacity:1;

    visibility:visible;

}

.hannah-box{

    position:relative;

    width:100%;

    max-width:520px;

    max-height:85vh;

    overflow-y:auto;

    padding:45px 34px 38px;

    background:
        radial-gradient(
            circle at top,
            rgba(212,175,55,.08),
            transparent 42%
        ),
        #161616;

    border:1px solid rgba(212,175,55,.30);

    border-radius:22px;

    text-align:center;

    box-shadow:0 30px 80px rgba(0,0,0,.58);

    transform:translateY(22px) scale(.96);

    transition:transform .35s ease;

    scrollbar-width:none;

    -ms-overflow-style:none;

}

.hannah-box::-webkit-scrollbar{

    display:none;

}

.hannah-modal.active .hannah-box{

    transform:translateY(0) scale(1);

}

.hannah-close{

    position:absolute;

    top:16px;

    right:18px;

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid rgba(212,175,55,.18);

    border-radius:50%;

    background:rgba(212,175,55,.08);

    color:#D4AF37;

    font-size:27px;

    line-height:1;

    cursor:pointer;

    transition:.3s;

}

.hannah-close:hover{

    background:#D4AF37;

    color:#111;

    transform:rotate(90deg) scale(1.06);

    box-shadow:0 10px 25px rgba(212,175,55,.25);

}

.hannah-symbol{

    width:92px;

    height:92px;

    margin:0 auto 22px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid rgba(212,175,55,.30);

    border-radius:50%;

    background:rgba(212,175,55,.10);

    font-size:48px;

    box-shadow:0 14px 35px rgba(212,175,55,.12);

}

.hannah-image{

    width:170px;

    height:170px;

    margin:0 auto 22px;

    object-fit:contain;

}

.hannah-eyebrow{

    display:block;

    margin-bottom:10px;

    color:#D4AF37;

    font-size:12px;

    font-weight:700;

    letter-spacing:3px;

}

.hannah-box h2{

    margin:0;

    color:#FFF;

    font-size:34px;

}

.hannah-years{

    margin:7px 0 24px;

    color:#D4AF37;

    font-weight:600;

}

.hannah-box p{

    margin-bottom:17px;

    color:#C8C8C8;

    font-size:15px;

    line-height:1.8;

}

.hannah-box blockquote{

    margin:26px 0 20px;

    padding:20px;

    border-left:3px solid #D4AF37;

    border-radius:0 12px 12px 0;

    background:rgba(212,175,55,.07);

    color:#FFF;

    font-size:17px;

    font-weight:600;

    line-height:1.7;

}

.hannah-dedication{

    display:block;

    color:#D4AF37;

    font-size:14px;

    font-weight:600;

}

@media(max-width:520px){

    .hannah-box{

        padding:42px 24px 30px;

    }

    .hannah-box h2{

        font-size:29px;

    }

    .hannah-symbol{

        width:82px;

        height:82px;

        font-size:42px;

    }

    .botoes{

        grid-template-columns:1fr;

    }

     .email-modal{
        padding:12px;
        align-items:center;
    }

    .email-box{
        width:100%;
        max-height:86dvh;
        border-radius:18px;
    }

    .email-box h2{
        padding-right:45px;
        font-size:28px;
        line-height:1.2;
    }

}

@media(max-width:370px){.quick-actions,.services-grid{grid-template-columns:1fr}.service-link.wide{grid-column:auto}}
@media(hover:hover){.quick-action:hover{border-color:var(--gold);transform:translateY(-5px)}.save-contact:hover,.gold-button:hover{background:var(--gold-light);transform:translateY(-3px)}}


