
:root{--base-color:#c8a15a;--dark-gray:#111;--medium-gray:#6f6f6f;--very-light-gray:#f5f1ea;--gold:#c8a15a;--gold-dark:#9b7435;--ink:#111;--paper:#f7f4ee;--primary-font:'DM Sans',sans-serif;--alt-font:'Playfair Display',serif}
html{scroll-behavior:smooth}body{font-family:var(--primary-font);color:#292929;background:#fff;font-size:17px;line-height:1.65}.skip-link{position:fixed;left:1rem;top:-100px;z-index:9999;background:#fff;color:#111;padding:.75rem 1rem}.skip-link:focus{top:1rem}.site-header .navbar{background:rgba(10,10,10,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(200,161,90,.35);min-height:88px}.navbar-brand{display:flex;align-items:center;padding:0}.navbar-brand img{width:92px;height:62px;max-height:none;object-fit:contain}.navbar .nav-link{color:#fff!important;font-size:15px;position:relative}.navbar .nav-link:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.3rem;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .25s ease}.navbar .nav-link:hover:after,.navbar .nav-link:focus:after{transform:scaleX(1)}
.btn{border-radius:0;font-weight:600;letter-spacing:.01em;position:relative;overflow:hidden;transition:color .28s ease,border-color .28s ease,transform .28s ease,box-shadow .28s ease;background-image:none!important}.btn:before{content:"";position:absolute;inset:0;background:#111;transform:translateX(-102%);transition:transform .28s ease;z-index:0}.btn>*{position:relative;z-index:1}.btn-gold{background:var(--gold);border:1px solid var(--gold);color:#111}.btn-gold:hover,.btn-gold:focus{background:var(--gold);border-color:var(--gold);color:var(--gold);transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.18)}.btn-gold:hover:before,.btn-gold:focus:before{transform:translateX(0)}.btn-outline-gold{background:transparent;border:1px solid var(--gold);color:var(--gold)}.btn-outline-gold:before{background:var(--gold)}.btn-outline-gold:hover,.btn-outline-gold:focus{border-color:var(--gold);color:#111;transform:translateY(-2px)}.btn-outline-gold:hover:before,.btn-outline-gold:focus:before{transform:translateX(0)}.btn-dark-elegant{background:#111;border:1px solid #111;color:#fff}.btn-dark-elegant:before{background:var(--gold)}.btn-dark-elegant:hover,.btn-dark-elegant:focus{border-color:#111;color:#111;transform:translateY(-2px)}.btn-dark-elegant:hover:before,.btn-dark-elegant:focus:before{transform:translateX(0)}.whatsapp-btn i{margin-right:.35rem}.whatsapp-btn:hover{border-color:var(--gold)!important}
.hero-klescia{min-height:82vh;padding:145px 0 82px;background:radial-gradient(circle at 80% 20%,rgba(200,161,90,.17),transparent 32%),linear-gradient(135deg,#090909,#1a1a1a 65%,#080808);color:#fff;overflow:hidden}.hero-klescia h1{font-family:var(--alt-font);font-size:clamp(2.8rem,5.6vw,5.4rem);line-height:1.04;max-width:900px}.hero-klescia .lead{max-width:690px;color:#d8d8d8;font-size:1.12rem;line-height:1.7}.compact-copy{max-width:700px;line-height:1.7;margin-bottom:1.6rem}.eyebrow{display:inline-block;color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;margin-bottom:1rem}.eyebrow.dark{color:#87662c}.brand-card{padding:16px;border:1px solid rgba(200,161,90,.45);background:rgba(255,255,255,.02);box-shadow:0 25px 80px rgba(0,0,0,.35)}.brand-card img{width:100%;height:auto}.py-6{padding-top:5.5rem;padding-bottom:5.5rem}.section-light{background:var(--paper)}.section-dark{background:#111;color:#eee}.section-heading{max-width:720px;margin:auto}.section-heading p{line-height:1.65}.practice-card{height:360px;perspective:1200px;background:transparent}.flip-card-inner{position:relative;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}.flip-card:hover .flip-card-inner,.flip-card:focus-within .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;inset:0;padding:2.1rem;background:#fff;border:1px solid #e3dacb;backface-visibility:hidden;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;box-shadow:0 18px 45px rgba(0,0,0,.06)}.flip-card-back{transform:rotateY(180deg);background:#121212;color:#eee;border-color:var(--gold)}.law-icon{width:64px;height:64px;border:1px solid var(--gold);display:grid;place-items:center;font-size:2rem;color:var(--gold);margin-bottom:1.1rem}.practice-card h3{font-family:var(--alt-font);font-size:1.65rem}.card-hint{font-size:.78rem;color:#85704d;margin-top:auto;text-transform:uppercase;letter-spacing:.08em}.feature-list{list-style:none;padding:0}.feature-list li{padding:.65rem 0;border-bottom:1px solid rgba(255,255,255,.12)}.info-panel,.form-panel{background:#fff;color:#222;padding:2.2rem;border-left:4px solid var(--gold);box-shadow:0 22px 60px rgba(0,0,0,.12)}.editorial-panel{border:1px solid #d5c39f;padding:2rem;background:#fff}.editorial-number{color:var(--gold-dark);font-family:var(--alt-font);font-size:2rem}.map-section iframe{display:block}.footer-dark{background:#090909;color:#aaa}.footer-dark a{color:#d4b26e}.footer-dark p{line-height:1.6}.page-hero{padding:160px 0 80px;background:linear-gradient(135deg,#0a0a0a,#1c1c1c);color:#fff}.page-hero h1{font-family:var(--alt-font);font-size:clamp(2.7rem,5vw,4.8rem)}.page-hero p{max-width:760px;color:#d1d1d1}.areas-intro{max-width:780px;margin-bottom:3rem}.area-showcase{display:grid;grid-template-columns:130px 1fr;gap:2rem;padding:3.3rem 0;border-top:1px solid #d8cdb9}.area-number{font-family:var(--alt-font);font-size:4rem;color:var(--gold);line-height:1}.area-showcase h2{font-size:2.3rem}.service-tags{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.4rem 0 1.8rem}.service-tags span{border:1px solid #d6c6aa;background:#fff;padding:.55rem .8rem;font-size:.9rem;transition:.25s}.service-tags span:hover{background:#111;color:var(--gold);border-color:#111;transform:translateY(-2px)}.legal-note{margin-top:2.5rem;padding:1.25rem;background:#eee6d8}.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}.topic-card{display:block;padding:1.7rem;background:#fff;border:1px solid #ddd;color:#222;transition:.3s;min-height:250px}.topic-card>span{font-family:var(--alt-font);font-size:2rem;color:var(--gold)}.topic-card h3{font-family:var(--alt-font);margin:.6rem 0}.topic-card strong{color:#7d5b21}.topic-card:hover{border-color:var(--gold);transform:translateY(-6px);box-shadow:0 18px 45px rgba(0,0,0,.08)}.consult-box{background:#111;color:#eee;padding:2.2rem;position:sticky;top:120px}.form-control,.form-select{border-radius:0;border:1px solid #aaa;padding:.82rem;background:#fff}.form-control:focus,.form-select:focus{border-color:var(--gold);box-shadow:0 0 0 .2rem rgba(200,161,90,.18)}textarea.form-control{resize:vertical}.character-count{text-align:right;font-size:.78rem;color:#777;margin-top:.35rem}.consent-row{display:grid;grid-template-columns:20px 1fr;gap:.65rem;align-items:start}.consent-row .form-check-input{margin:3px 0 0;width:18px;height:18px}.consent-row .form-check-label{font-size:.82rem;line-height:1.45;color:#555}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:991px){.hero-klescia{padding-top:130px;min-height:auto}.navbar-collapse{background:#111;padding:1rem}.topic-grid{grid-template-columns:1fr}.area-showcase{grid-template-columns:80px 1fr}.consult-box{position:static}.practice-card{height:390px}}
@media(max-width:576px){.navbar-brand img{width:78px;height:54px}.site-header .navbar{min-height:74px}.py-6{padding-top:4rem;padding-bottom:4rem}.hero-klescia h1{font-size:2.65rem}.area-showcase{grid-template-columns:1fr;gap:.8rem}.area-number{font-size:3rem}.flip-card-front,.flip-card-back{padding:1.6rem}.practice-card{height:420px}.btn{width:100%;text-align:center}.hero-klescia .d-flex{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}.flip-card:hover .flip-card-inner{transform:none}.flip-card-back{display:none}}


/* ======================================================
   Ajustes de interface — integração com o padrão Crafto
   ====================================================== */

/* Botões: contraste previsível e borda preservada em todos os estados. */
.btn.btn-gold,
.btn.btn-outline-gold,
.btn.btn-dark-elegant,
.btn.whatsapp-btn {
    background-color: var(--gold) !important;
    background-image: none !important;
    border: 2px solid var(--gold) !important;
    border-radius: 4px !important;
    color: #fff !important;
    font-family: var(--primary-font) !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    padding: 14px 28px !important;
    line-height: 1.25 !important;
    box-shadow: 0 5px 20px rgba(0,0,0,.12) !important;
    transition: background-color .28s ease, color .28s ease, border-color .28s ease, box-shadow .28s ease, transform .28s ease !important;
}

.btn.btn-gold::before,
.btn.btn-outline-gold::before,
.btn.btn-dark-elegant::before,
.btn.whatsapp-btn::before {
    content: none !important;
    display: none !important;
}

.btn.btn-gold:hover,
.btn.btn-gold:focus-visible,
.btn.btn-gold:active,
.btn.btn-outline-gold:hover,
.btn.btn-outline-gold:focus-visible,
.btn.btn-outline-gold:active,
.btn.btn-dark-elegant:hover,
.btn.btn-dark-elegant:focus-visible,
.btn.btn-dark-elegant:active,
.btn.whatsapp-btn:hover,
.btn.whatsapp-btn:focus-visible,
.btn.whatsapp-btn:active {
    background-color: #fff !important;
    border-color: var(--gold) !important;
    color: var(--gold-dark) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.16) !important;
    transform: translateY(-2px) !important;
}

.btn.btn-gold:focus-visible,
.btn.btn-outline-gold:focus-visible,
.btn.btn-dark-elegant:focus-visible,
.btn.whatsapp-btn:focus-visible {
    outline: 3px solid rgba(200,161,90,.35) !important;
    outline-offset: 3px !important;
}

.btn i { margin: 0 .45rem 0 0 !important; }

/* Ícones das áreas: sóbrios, proporcionais e coerentes com o Crafto. */
.law-icon {
    width: 68px;
    height: 68px;
    border: 1px solid rgba(200,161,90,.8);
    border-radius: 50%;
    background: rgba(200,161,90,.07);
    font-size: 1.8rem;
    transition: background-color .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.flip-card:hover .law-icon,
.flip-card:focus-within .law-icon {
    background: var(--gold);
    color: #fff;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 10px 24px rgba(155,116,53,.22);
}
.law-icon i { line-height: 1; }

/* Consentimento: separação visual clara entre checkbox e texto. */
.consent-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 1rem !important;
}
.consent-row .form-check-input {
    flex: 0 0 auto;
    margin: .18rem 0 0 !important;
}
.consent-row .form-check-label {
    display: block;
    padding-left: .15rem;
}

/* WhatsApp flutuante. */
.whatsapp-floating {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1090;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-height: 54px;
    padding: 0 19px;
    border: 2px solid #25d366;
    border-radius: 999px;
    background: #25d366;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 12px 32px rgba(0,0,0,.22);
    transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease;
}
.whatsapp-floating i { font-size: 1.35rem; }
.whatsapp-floating:hover,
.whatsapp-floating:focus-visible {
    background: #fff;
    color: #168b43 !important;
    border-color: #25d366;
    transform: translateY(-3px);
    box-shadow: 0 16px 38px rgba(0,0,0,.27);
}
.whatsapp-floating:focus-visible {
    outline: 3px solid rgba(37,211,102,.3);
    outline-offset: 3px;
}

@media (max-width: 576px) {
    .btn.btn-gold,
    .btn.btn-outline-gold,
    .btn.btn-dark-elegant,
    .btn.whatsapp-btn { padding: 13px 22px !important; }
    .whatsapp-floating {
        right: 14px;
        bottom: 14px;
        width: 54px;
        height: 54px;
        min-height: 54px;
        justify-content: center;
        padding: 0;
    }
    .whatsapp-floating span { display: none; }
    .whatsapp-floating i { margin: 0 !important; }
}
