:root{
    --azul:#064b82;
    --azul-escuro:#002b5c;
    --cinza:#707070;
    --linha:#e6e6e6;
    --papel:#ffffff;
}

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

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    padding:0;
    background:#ffffff;
    color:var(--cinza);
    font-family:Arial, Helvetica, sans-serif;
    line-height:1.48;
}

/* CAPA */

.cover{
    position:relative;
    width:100%;
    max-width:1200px;
    aspect-ratio:992/1512;
    margin:0 auto;
    background:url('../img/capanova.jpg') center/cover no-repeat;
    overflow:hidden;
    box-shadow:none;
    border:none;
}

.cover-copy{
    position:absolute;
    left:7.2%;
    top:39.5%;
    width:80%;
    text-transform:uppercase;
}

.cover-kicker{
    margin:0 0 1.3rem;
    color:#777;
    font-size:clamp(1rem,3.1vw,2.2rem);
    font-weight:400;
    letter-spacing:.02em;
}

.cover h1{
    margin:0;
    color:#07679d;
    font-size:clamp(1.65rem,4vw,3rem);
    line-height:1.45;
    letter-spacing:.015em;
    max-width:860px;
}

.cover-date{
    margin-top:1.25rem;
    color:#707070;
    font-weight:700;
    font-size:clamp(.8rem,1.7vw,1.15rem);
}

/* DOCUMENTO */

.document{
    width:100%;
    max-width:1200px;
    margin:0 auto 48px;
    background:var(--papel);
    box-shadow:none !important;
    filter:none !important;
    border:none !important;
    outline:none !important;
}

/* CABEÇALHO */

.doc-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    padding:28px 32px 18px;
    border-top:5px solid var(--azul-escuro);
    background:#ffffff;
    box-shadow:none;
}

.doc-header img{
    width:160px;
    height:auto;
    display:block;
}

.header-title{
    color:var(--azul-escuro);
    text-align:right;
    font-size:.82rem;
    font-weight:700;
    line-height:1.35;
}

.header-title small{
    display:block;
    font-weight:400;
}

/* CONTEÚDO */

.content{
    padding:16px 32px 56px;
    background:#ffffff;
    box-shadow:none;
}

h2{
    color:#121212;
    font-size:1.23rem;
    line-height:1.25;
    margin:2.4rem 0 1.25rem;
    font-weight:700;
    border-top:1px solid var(--linha);
    padding-top:2rem;
}

h2.sumario{
    border:0;
    padding:0;
    margin-top:.2rem;
    font-size:1.45rem;
}

p{
    margin:.72rem 0;
    text-align:justify;
}

strong{
    color:#626262;
    font-weight:700;
}

/* SUMÁRIO */

.toc{
    display:grid;
    gap:.45rem;
    margin:1.6rem 0 2.1rem;
    padding-left:16px;
}

.toc-link{
    color:#151515;
    text-decoration:none;
    font-weight:700;
}

.toc-link:hover{
    color:var(--azul);
}

/* LISTAS */

ul{
    padding-left:34px;
    margin:1rem 0 1.4rem;
}

li{
    margin:.55rem 0;
    padding-left:.3rem;
    text-align:justify;
}

.subitem{
    margin-left:34px;
}

/* AVISO */

.aviso{
    margin:1.4rem 24px;
    padding:1.05rem 1.25rem;
    background:#f5f7f8;
    border-left:5px solid var(--azul);
    font-weight:700;
    box-shadow:none;
}

.aviso p{
    margin:.35rem 0 0;
}

/* METADADOS */

.metadata{
    margin-top:2rem;
    color:#111;
    font-weight:700;
}

.metadata p{
    margin:.05rem 0;
    text-align:left;
}

/* =========================================================
   TABELAS
========================================================= */

.privacy-table,
.version-table{
    width:100%;
    border-collapse:collapse !important;
    border-spacing:0;
    table-layout:fixed;
    margin:18px 0 30px;
    border:1px solid #bfbfbf !important;
    background:#fff;
}

.privacy-table td,
.version-table td{
    border:1px solid #bfbfbf !important;
    padding:8px 10px;
    vertical-align:top;
    color:#222;
    background:#fff;
}

.privacy-table .privacy-col-label{
    width:170px;
}

.version-table .version-col-label{
    width:180px;
}

.privacy-label{
    font-weight:700;
    color:#111;
    background:#f8f8f8;   /* igual ao Word */
}

.version-table td:first-child{
    font-weight:700;
    background:#f8f8f8;
}
/* RODAPÉ */

.doc-footer{
    height:46px;
    border-bottom:7px solid var(--azul-escuro);
    background:linear-gradient(
        135deg,
        #f7f7f7 0,
        #ffffff 48%,
        #eef2f4 100%
    );
    box-shadow:none;
}

/* BOTÃO VOLTAR AO TOPO */

.back-top{
    position:fixed;
    right:22px;
    bottom:22px;
    background:var(--azul);
    color:#ffffff;
    text-decoration:none;
    width:42px;
    height:42px;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:1.2rem;
    box-shadow:none;
    border:none;
}

/* GARANTIA CONTRA SOMBRAS HERDADAS */

.document,
.document *,
.cover,
.cover *,
.doc-header,
.content,
.doc-footer{
    filter:none;
}

.document,
.doc-header,
.content,
.doc-footer{
    box-shadow:none !important;
}

/* RESPONSIVO */

@media(max-width:700px){

    body{
        background:#ffffff;
    }

    .cover{
        width:100%;
        margin:0;
    }

    .document{
        width:100%;
        margin:0;
    }

    .doc-header{
        padding:22px 18px 16px;
        gap:14px;
    }

    .doc-header img{
        width:110px;
    }

    .header-title{
        font-size:.68rem;
    }

    .content{
        padding:12px 18px 46px;
    }

    .cover-copy{
        top:38%;
    }

    .toc{
        padding-left:0;
    }

    ul{
        padding-left:24px;
    }

    .subitem{
        margin-left:18px;
    }

    .aviso{
        margin:1.2rem 0;
    }

    .data-table{
        font-size:.92rem;
    }

    .data-table th{
        width:32%;
    }

    p,
    li{
        text-align:left;
    }
}

/* IMPRESSÃO */

@media print{

    @page{
        size:A4;
        margin:0;
    }

    body{
        background:#ffffff;
    }

    .cover{
        width:210mm;
        height:297mm;
        max-width:none;
        page-break-after:always;
    }

    .document{
        width:210mm;
        max-width:none;
        margin:0;
        box-shadow:none !important;
        border:none !important;
    }

    .doc-header{
        padding:15mm 12mm 6mm;
    }

    .content{
        padding:5mm 12mm 18mm;
    }

    .back-top{
        display:none;
    }

    a{
        color:inherit;
        text-decoration:none;
    }

    h2{
        break-after:avoid;
    }

    p,
    li{
        orphans:3;
        widows:3;
    }
}
