.co-hero{padding:180px 7vw 90px;background:linear-gradient(135deg,var(--wine-dark),var(--wine));color:#fff}.co-hero>div{max-width:900px}.co-hero h1{font-size:clamp(3.2rem,5.5vw,6rem);line-height:.95;margin:18px 0}.co-hero h1 em{color:#e0c092;font-weight:500}.co-hero p{max-width:620px;color:#eadede;line-height:1.75}
.co-home{padding:105px 7vw 110px;background:#f5f1eb;color:var(--ink)}.co-home-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:48px}.co-home-head h2{font-size:clamp(2.8rem,4.4vw,4.8rem);line-height:1;margin:10px 0 0}.co-home-head h2 em{color:var(--wine)}.co-home-head>p{max-width:430px;color:var(--muted);line-height:1.75;font-size:.9rem}
.co-layout{display:grid;grid-template-columns:.82fr 1.35fr;border:1px solid #d9d0c8;background:#fff;box-shadow:0 30px 70px rgba(65,23,25,.08)}.co-side{padding:54px 48px;background:linear-gradient(150deg,#68282b,#411719);color:#fff;position:relative;overflow:hidden}.co-side:after{display:none!important;content:none!important}.co-side-kicker{font-size:.62rem;text-transform:uppercase;letter-spacing:.17em;color:#e0c092;font-weight:700}.co-side h3{font-size:2.15rem;line-height:1.08;margin:24px 0 18px;max-width:390px}.co-side>p{color:#e2d4cf;line-height:1.75;font-size:.86rem;max-width:410px}.co-contact-list{margin-top:48px;border-top:1px solid #ffffff22}.co-contact-list>div{display:grid;grid-template-columns:38px 1fr;gap:16px;padding:21px 0;border-bottom:1px solid #ffffff1c}.co-line-icon{font-family:'Playfair Display';color:#e0c092;font-size:.82rem}.co-contact-list p{margin:0}.co-contact-list small{display:block;color:#c9a477;text-transform:uppercase;letter-spacing:.12em;font-size:.54rem;margin-bottom:5px}.co-contact-list strong{font-family:'DM Sans';font-weight:500;font-size:.78rem;line-height:1.65;color:#fff}
.co-card{padding:48px 52px 44px}.co-switch{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin-bottom:35px}.co-switch button{border:0;background:transparent;padding:0 0 16px;text-align:left;font-family:'Playfair Display';font-size:1.25rem;color:#9b8d86;cursor:pointer;position:relative}.co-switch button:after{content:'';position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--wine);transition:.3s}.co-switch button.is-active{color:var(--wine)}.co-switch button.is-active:after{width:100%}.co-intro>span{color:var(--wine);text-transform:uppercase;letter-spacing:.15em;font-size:.58rem;font-weight:700}.co-intro h3{font-size:1.85rem;margin:9px 0 8px}.co-intro p{margin:0 0 28px;color:var(--muted);font-size:.84rem;line-height:1.65}
.co-form>label,.co-grid label{display:block;margin-bottom:18px}.co-form label>span,.co-grid label>span{display:block;color:#625650;font-size:.68rem;font-weight:700;margin-bottom:7px}.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.co-grid label:last-child{grid-column:1/-1}.co-form input,.co-form textarea{width:100%;border:1px solid #d8cfc8;background:#faf8f4;padding:14px 15px;color:var(--ink);font:inherit;font-size:.84rem;outline:0;transition:.2s}.co-form textarea{resize:vertical}.co-form input:focus,.co-form textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(104,40,43,.08);background:#fff}.co-types{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 20px}.co-types label{margin:0}.co-types input{position:absolute;opacity:0;pointer-events:none}.co-types span{display:block!important;margin:0!important;padding:11px 12px;border:1px solid #d8cfc8;text-align:center;color:#6e615b!important;font-size:.68rem!important;cursor:pointer}.co-types input:checked+span{background:var(--wine);border-color:var(--wine);color:#fff!important}.co-anon{display:flex!important;align-items:center;gap:9px;padding:13px 15px;background:#f6f1eb;margin-bottom:22px!important}.co-anon input{width:auto}.co-anon span{margin:0!important}.co-personal.is-disabled{opacity:.35}.co-submit{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:26px;padding-top:25px;border-top:1px solid var(--line)}.co-submit p{max-width:330px;margin:0;color:#8b7e77;font-size:.68rem;line-height:1.6}.co-submit .btn{border:0;cursor:pointer;min-width:190px}.co-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.co-success,.co-errors{padding:17px 20px;margin:0 0 24px;border-left:3px solid var(--wine);background:#fff}.co-success{color:#315b3a}.co-errors{color:#7a262a}.co-errors ul{margin:8px 0 0;padding-left:20px}
body.high-contrast .co-home,body.high-contrast .co-layout,body.high-contrast .co-card{background:#000!important;color:#fff!important}body.high-contrast .co-layout,body.high-contrast .co-card,body.high-contrast .co-form input,body.high-contrast .co-form textarea,body.high-contrast .co-types span,body.high-contrast .co-switch{border-color:#fff!important}body.high-contrast .co-side{background:#000!important;border-right:1px solid #fff}body.high-contrast .co-form input,body.high-contrast .co-form textarea,body.high-contrast .co-anon{background:#000!important;color:#fff!important}body.high-contrast .co-home-head h2 em,body.high-contrast .co-side-kicker,body.high-contrast .co-line-icon,body.high-contrast .co-contact-list small,body.high-contrast .co-intro>span,body.high-contrast .co-switch button.is-active{color:#ffd84d!important}body.high-contrast .co-home-head>p,body.high-contrast .co-side>p,body.high-contrast .co-intro p,body.high-contrast .co-form label>span,body.high-contrast .co-submit p{color:#fff!important}
@media(max-width:950px){.co-layout{grid-template-columns:1fr}.co-side{padding:45px}.co-home-head{display:block}.co-home-head>p{margin-top:18px}.co-contact-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.co-contact-list>div{display:block}.co-line-icon{display:block;margin-bottom:8px}}@media(max-width:650px){.co-home{padding:75px 6vw}.co-card,.co-side{padding:32px 25px}.co-grid,.co-types,.co-contact-list{grid-template-columns:1fr}.co-submit{align-items:stretch;flex-direction:column}.co-submit .btn{width:100%}.co-hero{padding:145px 6vw 65px}}



/* HF — FORM ÚNICO DENÚNCIA */

.co-switch {
    display: none !important;
}

.co-denuncia-note {
    margin: 0 0 24px;
    padding: 16px 18px;
    border-left: 3px solid var(--wine);
    background: #f6f1eb;
}

.co-denuncia-note strong {
    display: block;
    margin-bottom: 5px;
    color: var(--wine);
    font-family: 'Playfair Display', serif;
    font-size: 1rem;
    font-weight: 500;
}

.co-denuncia-note p {
    margin: 0;
    color: var(--muted);
    font-size: .76rem;
    line-height: 1.6;
}

body.high-contrast .co-denuncia-note {
    background: #000 !important;
    color: #fff !important;
    border-color: #ffd84d !important;
}

body.high-contrast .co-denuncia-note strong {
    color: #ffd84d !important;
}

body.high-contrast .co-denuncia-note p {
    color: #fff !important;
}


/* HF — CORRECAO OVERFLOW CONTATO */

.co-home,
.co-layout,
.co-side,
.co-card,
.co-form,
.co-grid {
    min-width: 0 !important;
    max-width: 100%;
    box-sizing: border-box;
}

.co-home {
    overflow-x: clip;
}

.co-layout {
    width: 100%;
}

.co-card {
    overflow: hidden;
}

.co-form input,
.co-form textarea,
.co-form select,
.co-form button {
    max-width: 100%;
    box-sizing: border-box;
}

/* honeypot: mantém invisível sem criar largura fora da tela */
.co-hp {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

@media (max-width: 950px) {
    .co-layout,
    .co-grid,
    .co-types {
        min-width: 0 !important;
        max-width: 100% !important;
    }
}



/* HF — CONTATO WHITE + OVERFLOW FINAL */

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

/* fundo branco do bloco */
.co-home {
    background: #fff !important;
    width: 100%;
    max-width: 100%;
    overflow: hidden !important;
    box-sizing: border-box;
}

.co-home *,
.co-home *::before,
.co-home *::after {
    box-sizing: border-box;
}

/* nenhuma coluna pode forçar largura do grid */
.co-layout {
    width: 100%;
    max-width: 100%;
    min-width: 0 !important;
}

.co-side,
.co-card,
.co-form,
.co-grid,
.co-types,
.co-submit,
.co-contact-list {
    min-width: 0 !important;
    max-width: 100% !important;
}

/* textos longos não podem estourar */
.co-home p,
.co-home strong,
.co-home a,
.co-home span,
.co-home label {
    overflow-wrap: anywhere;
    word-break: normal;
}

/* campos nunca ultrapassam o container */
.co-form input,
.co-form textarea,
.co-form select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* honeypot sem deslocamento de -9999px */
.co-hp {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* pseudo-elemento removido de vez */
.co-side::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 950px) {
    .co-layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .co-contact-list {
        min-width: 0 !important;
    }
}

@media (max-width: 650px) {
    .co-grid,
    .co-types {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}


