.public-body {
    --ink: #292d29;
    --muted: #626b62;
    --navy: #2d352e;
    --green-900: #386b2f;
    --green-800: #397d31;
    --green-700: #4c872d;
    --green-600: #65ae25;
    --green-500: #8ac458;
    --lime: #e7f2df;
    --line: #e0e5dd;
    --soft: #f0f1ef;
    --shadow: 0 4px 14px rgba(29, 47, 30, .08);
    background: #f0f1ef;
    color: var(--ink);
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 14px;
    letter-spacing: 0;
}

.public-body .container,
.public-body .header__inner {
    width: min(1240px, calc(100% - 48px));
}

.public-body .topbar {
    color: #5f6b5e;
    background: #f7f8f6;
    border-bottom: 1px solid var(--line);
    font-size: 12px;
    font-weight: 500;
}

.public-body .topbar__inner { min-height: 32px; gap: 20px; }
.public-body .topbar svg { color: var(--green-700); }
.public-body .topbar .whatsapp-link,
.public-body .topbar__right a {
    min-height: 0;
    padding: 0;
    color: #52634f;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    font-size: 12px;
    font-weight: 500;
}
.public-body .topbar__right { gap: 18px; }
.public-body .topbar a:hover,
.public-body .topbar__right a:hover { color: var(--green-800); background: transparent; }

.public-body .site-header {
    background: #fff;
    border-bottom: 1px solid var(--line);
    backdrop-filter: none;
}
.public-body .header__inner { height: 76px; gap: 22px; }
.public-body .brand { min-width: 142px; }
.public-body .brand img { width: 140px; }
.public-body .nav { gap: 20px; margin-right: 4px; font-weight: 500; }
.public-body .nav a { color: #384438; font-size: 13px; }
.public-body .nav a:hover,
.public-body .nav .is-active { color: var(--green-800); }
.public-body .nav a[href="cadastros.php"] { display: none; }
.public-body .student-button,
.public-body .contractor-button {
    min-height: 36px;
    padding-inline: 13px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    box-shadow: none;
}
.public-body .student-button { background: var(--green-700); }
.public-body .contractor-button { border-color: #cad9c3; color: var(--green-800); }
.public-body .student-button svg,
.public-body .contractor-button svg { width: 16px; height: 16px; }
.public-body .menu-toggle { width: 38px; height: 38px; border-radius: 6px; }

.public-body .hero {
    background: #34423a;
    isolation: isolate;
}
.public-body .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(17, 33, 26, .88) 0%, rgba(17, 33, 26, .72) 36%, rgba(17, 33, 26, .14) 72%, transparent 100%);
}
.public-body .hero__content { display: block; min-height: 445px; }
.public-body .hero__copy { max-width: 850px; padding: 70px 0 44px; }
.public-body .hero h1 {
    color: #fff;
    font-size: clamp(38px, 4.3vw, 58px);
    line-height: 1.08;
    font-weight: 600;
}
.public-body .hero h1 span { display: inline; color: #b2de8e; }
.public-body .hero p { max-width: 610px; color: #f0f4ee; font-size: 17px; }
.public-body .hero__visual {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 1;
}
.public-body .hero__visual img {
    width: 100%;
    height: 100%;
    border-radius: 0;
    object-position: center 45%;
    filter: none;
}
.public-body .hero__badge { display: none; }
.public-body .search-box {
    width: min(860px, 100%);
    grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) minmax(180px, 1fr) 112px;
    padding: 8px;
    gap: 8px;
    border: 1px solid #e0e5dd;
    border-radius: 7px;
    box-shadow: 0 8px 24px rgba(12, 26, 14, .12);
}
.public-body .search-box label { min-height: 38px; border-radius: 5px; }
.public-body .search-box select,
.public-body .search-box input { color: #343c34; font-size: 13px; }
.public-body .search-box button,
.public-body .button,
.public-body .form-panel button,
.public-body .newsletter button { background: var(--green-700); box-shadow: none; font-weight: 600; }
.public-body .search-box button { min-height: 38px; border-radius: 5px; }
.public-body .search-box select:disabled { color: #7b8479; cursor: not-allowed; }
.public-body .vacancy-search-note { margin-top: 10px; color: #e7f1e1; font-size: 13px; }
.public-body .search-box--education { width: min(860px, 100%); }
.public-body .search-note { max-width: 760px; margin: 14px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.public-body .jobs-empty { grid-column: 1 / -1; margin: 0; padding: 24px; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.public-body .hero__stats { margin-top: 30px; gap: 18px; color: #edf2e9; }
.public-body .hero__stats div { gap: 9px; }
.public-body .hero__stats span { width: 30px; height: 30px; flex-basis: 30px; border-radius: 5px; background: rgba(178, 222, 142, .2); color: #c6efaa; }
.public-body .hero__stats svg { width: 18px; height: 18px; }
.public-body .hero__stats p { color: #f0f4ee; font-size: 12px; }
.public-body .hero__stats strong { color: #fff; }

.public-body .home-actions {
    width: min(1240px, calc(100% - 48px));
    margin: auto;
    padding: 22px 0 8px;
}
.public-body .quick-links { gap: 12px; }
.public-body .quick-card {
    min-height: 100px;
    padding: 16px;
    grid-template-columns: 36px minmax(0, 1fr) 18px;
    column-gap: 10px;
    row-gap: 4px;
    box-shadow: none;
}
.public-body .quick-card:hover { border-color: #a9c69c; background: #fcfefb; }
.public-body .quick-card span { width: 34px; height: 34px; border-radius: 6px; }
.public-body .quick-card span svg { width: 21px; height: 21px; }
.public-body .quick-card strong { font-size: 14px; font-weight: 600; }
.public-body .quick-card p { font-size: 12px; line-height: 1.4; }
.public-body .quick-card__arrow { border-radius: 5px; }
.public-body .opportunities { margin-top: 16px; border-color: var(--line); }
.public-body .section-title h2 { font-size: 22px; font-weight: 600; }
.public-body .section-title h2::after { display: none; }
.public-body .section-title a { color: var(--green-800); font-weight: 600; }
.public-body .opportunity-list,
.public-body .job-card,
.public-body .form-panel,
.public-body .contractor-features article { box-shadow: none; }
.public-body .opportunity-row h3 { font-size: 14px; font-weight: 600; }
.public-body .opportunity-row > div { min-width: 0; }
.public-body .opportunity-row p { overflow-wrap: anywhere; }
.public-body .opportunity-row p,
.public-body .row-meta { color: var(--muted); font-size: 12px; }
.public-body .status { border-radius: 5px; font-size: 12px; font-weight: 600; }
.public-body .page-hero,
.public-body .student-layout,
.public-body .contact-layout,
.public-body .login-layout,
.public-body .contractor-layout { padding-block: 42px; }
.public-body .page-hero h1,
.public-body .student-copy h1,
.public-body .contact-layout h1,
.public-body .login-panel h1,
.public-body .contractor-copy h1 { font-size: clamp(30px, 3.3vw, 44px); font-weight: 600; }
.public-body .form-panel input,
.public-body .form-panel select,
.public-body .form-panel textarea { min-height: 42px; }
.public-body .about-band { margin-top: 40px; padding-block: 36px; background: #e8eee5; color: var(--ink); }
.public-body .about-band p { color: var(--muted); }
.public-body .footer { padding-block: 22px; color: #606b60; background: #fff; border-top: 1px solid var(--line); }
.public-body .footer a:hover { color: var(--green-800); }

@media (max-width: 1120px) {
    .public-body .header__inner { height: auto; min-height: 70px; padding-block: 10px; }
    .public-body .nav { gap: 14px; }
}

@media (max-width: 760px) {
    .public-body .container,
    .public-body .header__inner,
    .public-body .home-actions { width: calc(100% - 28px); }
    .public-body .topbar { display: none; }
    .public-body .brand img { width: 125px; }
    .public-body .header-actions { flex-direction: row; width: 100%; }
    .public-body .student-button,
    .public-body .contractor-button { width: auto; flex: 1; }
    .public-body .hero__content { min-height: 0; }
    .public-body .hero__copy { max-width: none; padding: 44px 0 30px; }
    .public-body .hero h1 { font-size: 39px; }
    .public-body .hero p { font-size: 15px; }
    .public-body .hero::before { background: rgba(17, 33, 26, .78); }
    .public-body .hero__visual { position: absolute; width: 100%; height: 100%; }
    .public-body .search-box { grid-template-columns: 1fr; }
    .public-body .search-box label:first-child { grid-column: auto; }
    .public-body .search-box button { grid-column: 1 / -1; }
    .public-body .hero__stats { grid-template-columns: 1fr; gap: 10px; margin-top: 22px; }
    .public-body .hero__stats div { align-items: center; }
    .public-body .quick-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .public-body .quick-card { grid-template-columns: 30px minmax(0, 1fr); padding: 12px; }
    .public-body .quick-card span { width: 30px; height: 30px; }
    .public-body .quick-card span svg { width: 18px; height: 18px; }
    .public-body .quick-card__arrow { display: none; }
}

@media (max-width: 470px) {
    .public-body .quick-links { grid-template-columns: 1fr; }
    .public-body .hero h1 { font-size: 35px; }
    .public-body .topbar__inner > span,
    .public-body .topbar__inner > a:not(.whatsapp-link) { display: none; }
}
