:root {
    --cor-principal: #ff8c00;
    --texto: #282828;
    --muted: #626262;
    --linha: #e7e7e7;
    --bg-soft: #f6f7f9;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: #fff;
    color: var(--texto);
    line-height: 1.65;
}

.topbar {
    background: var(--cor-principal);
    color: #fff;
    padding: 14px 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.logo {
    color: #fff;
    text-decoration: none;
    font-weight: 900;
    font-size: 1.6rem;
}

.logo span { font-weight: 300; }

nav {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: flex-end;
}

nav a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 0.9rem;
}

.page {
    width: min(900px, calc(100% - 40px));
    margin: 0 auto;
    padding: 34px 0 42px;
}

.text-page {
    border: 1px solid var(--linha);
    border-radius: 8px;
    background: #fff;
    padding: 28px;
}

h1 {
    margin: 0 0 14px;
    font-size: clamp(2rem, 5vw, 3rem);
    line-height: 1.1;
    letter-spacing: 0;
}

h2 {
    margin-top: 24px;
    line-height: 1.25;
}

p { margin: 0 0 15px; }
a { color: #111; font-weight: bold; }

.footer {
    width: min(900px, calc(100% - 40px));
    margin: 0 auto;
    border-top: 1px solid var(--linha);
    padding: 20px 0 30px;
    color: var(--muted);
    display: flex;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    font-size: 0.92rem;
}

.footer a {
    color: #333;
    text-decoration: none;
}

@media (max-width: 760px) {
    .topbar {
        align-items: flex-start;
        flex-direction: column;
    }

    nav { justify-content: flex-start; }
    .page, .footer { width: min(100% - 30px, 900px); }
    .text-page { padding: 22px; }
}
