:root {
    --central-navy: #15336f;
    --central-blue: #1779bd;
    --central-cyan: #14acd0;
    --central-teal: #42b9aa;
    --central-ink: #18324f;
    --central-muted: #66778c;
    --central-line: #dce6ef;
    --central-soft: #f5f9fc;
    --central-white: #ffffff;
    --central-shadow: 0 10px 30px rgba(20, 54, 94, .09);
    --central-shadow-soft: 0 4px 16px rgba(20, 54, 94, .07);
    --central-radius: 18px;
}

html { scroll-behavior: smooth; }
body.central-site {
    margin: 0 !important;
    background: #f7fbfe !important;
    color: var(--central-ink) !important;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.central-site *, body.central-site *::before, body.central-site *::after { box-sizing: border-box; }
body.central-site a { color: inherit; text-decoration: none; }
body.central-site button, body.central-site input { font: inherit; }
body.central-site button { appearance: none; border: 0; }
body.central-site img { max-width: 100%; height: auto; display: block; }
body.central-site .central-icon { width: 24px; height: 24px; display: block; }

.central-shell { min-height: 100vh; background: linear-gradient(180deg, #fff 0%, #f8fbfd 100%); }
.central-container { width: min(1220px, calc(100% - 34px)); margin: 0 auto; }

.central-home { padding: 18px 0 100px; }
.central-carousel { background: #fff; border: 1px solid var(--central-line); border-radius: 20px; overflow: hidden; box-shadow: var(--central-shadow-soft); }
.central-slides { position: relative; aspect-ratio: 21 / 9; width: 100%; background: #eef6fb; overflow: hidden; }
.central-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .45s ease; pointer-events: none; }
.central-slide.is-active { opacity: 1; pointer-events: auto; }
.central-slide img { width: 100%; height: 100%; object-fit: contain; object-position: center; background: #fff; }
.central-carousel-dots { height: 24px; display: flex; align-items: center; justify-content: center; gap: 7px; background: #fff; }
.central-dot { width: 8px; height: 8px; border-radius: 999px; padding: 0; background: #cfdae5; cursor: pointer; transition: width .18s ease, background .18s ease; }
.central-dot.is-active { width: 24px; background: linear-gradient(90deg, var(--central-blue), var(--central-cyan)); }

.central-actions { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 14px; }
.central-action {
    min-width: 0;
    min-height: 92px;
    background: rgba(255,255,255,.98);
    border: 1px solid var(--central-line);
    border-radius: 16px;
    box-shadow: var(--central-shadow-soft);
    display: grid;
    grid-template-columns: 44px minmax(0,1fr) 19px;
    align-items: center;
    gap: 11px;
    padding: 15px 14px;
    text-align: left;
    color: var(--central-ink) !important;
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.central-action:hover, .central-action:focus-visible { transform: translateY(-2px); border-color: #bdd8e9; box-shadow: 0 12px 25px rgba(20,54,94,.11); outline: none; }
.central-action-icon { width: 44px; height: 44px; border-radius: 13px; background: linear-gradient(145deg, #eff9fd, #e8f5fb); color: var(--central-blue); display: grid; place-items: center; }
.central-action-icon .central-icon { width: 27px; height: 27px; }
.central-action-copy { display: block; min-width: 0; }
.central-action-copy strong { display: block; color: var(--central-navy); font-size: 16px; line-height: 1.15; margin-bottom: 5px; }
.central-action-copy small { display: block; color: var(--central-muted); font-size: 12.5px; line-height: 1.25; }
.central-action-arrow { color: var(--central-cyan); display: grid; place-items: center; }
.central-action-arrow .central-icon { width: 18px; height: 18px; }
.central-action-primary { background: linear-gradient(135deg, #0f69b1, #11b7cc); border-color: transparent; }
.central-action-primary .central-action-icon { background: rgba(255,255,255,.15); color: #fff; }
.central-action-primary .central-action-copy strong, .central-action-primary .central-action-copy small, .central-action-primary .central-action-arrow { color: #fff; }
.central-action-primary .central-action-copy small { opacity: .9; }


.central-desktop-nav {
    position: fixed;
    z-index: 70;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px;
    background: rgba(255,255,255,.94);
    border: 1px solid var(--central-line);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(20,54,94,.12);
    backdrop-filter: blur(14px);
}
.central-desktop-nav a, .central-desktop-nav button {
    min-height: 42px;
    padding: 0 11px;
    border-radius: 11px;
    background: transparent;
    color: #5e7389 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 780;
    cursor: pointer;
    transition: background .15s ease, color .15s ease, transform .15s ease;
}
.central-desktop-nav a:hover, .central-desktop-nav button:hover,
.central-desktop-nav a:focus-visible, .central-desktop-nav button:focus-visible {
    background: #eef7fc;
    color: var(--central-blue) !important;
    outline: none;
    transform: translateY(-1px);
}
.central-desktop-nav a.is-active { background: linear-gradient(135deg,#eef8fd,#edf4ff); color: var(--central-blue) !important; }
.central-desktop-nav .central-icon { width: 19px; height: 19px; }

.central-bottom-nav { display: none; }

/* Inner pages */
.central-inner { padding: 52px 0 110px; }
.central-page-heading { max-width: 850px; margin-bottom: 30px; }
.central-eyebrow { display: inline-flex; color: var(--central-blue); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.central-page-heading h1 { margin: 0 0 12px; font-size: clamp(32px,4vw,52px); line-height: 1.04; letter-spacing: -.035em; color: var(--central-navy); }
.central-page-heading p { margin: 0; font-size: 18px; line-height: 1.55; color: var(--central-muted); }
.central-content-grid { display: grid; gap: 14px; }
.central-content-grid-3 { grid-template-columns: repeat(3,1fr); }
.central-info-card, .central-note-card, .central-unit-card, .central-region-card, .central-focus-card, .central-about-copy, .central-values-grid {
    background: #fff; border: 1px solid var(--central-line); border-radius: 18px; box-shadow: var(--central-shadow-soft);
}
.central-info-card { padding: 24px; }
.central-info-card > span, .central-unit-icon { width: 48px; height: 48px; border-radius: 14px; background: linear-gradient(135deg,#e9f8fd,#edf4ff); color: var(--central-blue); display: grid; place-items: center; margin-bottom: 18px; }
.central-info-card h2, .central-note-card h2, .central-region-card h2, .central-unit-card h2, .central-focus-card h2, .central-about-copy h2 { color: var(--central-navy); margin: 0 0 10px; font-size: 21px; }
.central-info-card p, .central-note-card p, .central-region-card p, .central-unit-card p, .central-about-copy p { color: var(--central-muted); margin: 0; line-height: 1.62; }
.central-note-card { margin-top: 16px; padding: 24px; }
.central-note-card p + p { margin-top: 7px; }
.central-region-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.central-region-card { padding: 25px; }
.central-region-card > strong { display: inline-grid; place-items: center; width: 50px; height: 50px; border-radius: 15px; background: linear-gradient(135deg,var(--central-navy),var(--central-cyan)); color: #fff; font-size: 18px; margin-bottom: 18px; }
.central-units-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.central-unit-card { padding: 28px; }
.central-unit-card > p { margin-bottom: 18px; }
.central-contact-lines { display: grid; gap: 8px; margin: 18px 0 22px; }
.central-contact-lines a { display: flex; align-items: center; gap: 8px; color: var(--central-navy) !important; font-weight: 650; }
.central-contact-lines .central-icon { width: 18px; height: 18px; color: var(--central-blue); }
.central-focus-card { max-width: 650px; padding: 34px; text-align: center; }
.central-focus-card > div { width: 62px; height: 62px; border-radius: 18px; background: linear-gradient(135deg,#e9f8fd,#edf4ff); color: var(--central-blue); display: grid; place-items: center; margin: 0 auto 18px; }
.central-focus-card > div .central-icon { width: 32px; height: 32px; }
.central-focus-card p { font-size: 24px; font-weight: 850; color: var(--central-navy); }
.central-about-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 16px; }
.central-about-copy { padding: 28px; }
.central-about-copy p + p { margin-top: 16px; }
.central-values-grid { padding: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.central-values-grid > div { border: 1px solid #e8f0f6; border-radius: 13px; padding: 15px; display: flex; align-items: center; gap: 10px; color: var(--central-navy); }
.central-values-grid span { color: var(--central-blue); }
.central-values-grid .central-icon { width: 22px; height: 22px; }
.central-inner-cta { margin-top: 28px; padding: 20px; border-radius: 18px; background: linear-gradient(120deg, #effaff, #f2f6ff); border: 1px solid #cfe4f1; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px; }
.central-inner-cta > div { display: grid; gap: 3px; }
.central-inner-cta strong { color: var(--central-navy); font-size: 18px; }
.central-inner-cta span { color: var(--central-muted); font-size: 13px; }
.central-secondary-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; border-radius: 12px; padding: 0 18px; background: #fff; border: 1px solid #c7d9e6 !important; color: var(--central-navy); font-weight: 800; cursor: pointer; }

/* Modal */
.central-modal[hidden] { display: none !important; }
.central-modal { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 20px; }
.central-modal-backdrop { position: absolute; inset: 0; background: rgba(7,25,46,.46); backdrop-filter: blur(3px); }
.central-modal-panel { width: min(520px,100%); position: relative; z-index: 1; background: #fff; border-radius: 22px; padding: 28px; box-shadow: 0 24px 70px rgba(7,25,46,.28); }
.central-modal-close { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; border-radius: 11px; background: #f3f7fa; color: var(--central-navy); display: grid; place-items: center; cursor: pointer; }
.central-modal-close .central-icon { width: 20px; height: 20px; }
.central-modal-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; background: linear-gradient(135deg,#e9f8fd,#edf4ff); color: var(--central-blue); margin-bottom: 16px; }
.central-modal-icon .central-icon { width: 29px; height: 29px; }
.central-modal-panel h2 { margin: 0 0 7px; font-size: 26px; color: var(--central-navy); }
.central-modal-panel > p { margin: 0 0 18px; color: var(--central-muted); }
.central-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.central-choice-grid-single { grid-template-columns: 1fr; }
.central-choice-grid a { border: 1px solid var(--central-line); border-radius: 15px; padding: 17px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3px 8px; transition: border .15s ease, transform .15s ease, box-shadow .15s ease; }
.central-choice-grid a:hover { border-color: #add5ea; transform: translateY(-1px); box-shadow: var(--central-shadow-soft); }
.central-choice-grid strong { color: var(--central-navy); font-size: 16px; }
.central-choice-grid span { grid-column: 1; color: var(--central-muted); font-size: 13px; }
.central-choice-grid .central-icon { grid-column: 2; grid-row: 1 / 3; width: 18px; height: 18px; color: var(--central-cyan); }
body.central-modal-open { overflow: hidden !important; }

@media (max-width: 900px) {
    .central-container { width: min(100% - 20px, 760px); }
    .central-home { padding-top: 10px; padding-bottom: 88px; }
    .central-carousel { border-radius: 14px; }
    .central-carousel-dots { height: 19px; gap: 5px; }
    .central-dot { width: 6px; height: 6px; }
    .central-dot.is-active { width: 18px; }
    .central-actions { grid-template-columns: repeat(2,1fr); gap: 8px; margin-top: 9px; }
    .central-action { min-height: 72px; grid-template-columns: 38px minmax(0,1fr) 15px; gap: 8px; padding: 10px; border-radius: 13px; }
    .central-action-icon { width: 38px; height: 38px; border-radius: 11px; }
    .central-action-icon .central-icon { width: 23px; height: 23px; }
    .central-action-copy strong { font-size: 13.5px; margin-bottom: 3px; }
    .central-action-copy small { font-size: 10.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .central-action-arrow .central-icon { width: 15px; height: 15px; }
    .central-desktop-nav { display: none; }
    .central-bottom-nav { position: fixed; z-index: 60; left: 0; right: 0; bottom: 0; min-height: 67px; padding: 7px 8px calc(7px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); border-top: 1px solid var(--central-line); display: grid; grid-template-columns: repeat(4,1fr); backdrop-filter: blur(14px); box-shadow: 0 -8px 26px rgba(20,54,94,.08); }
    .central-bottom-nav a, .central-bottom-nav button { background: transparent; color: #60748a; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; font-size: 10.5px; font-weight: 750; cursor: pointer; }
    .central-bottom-nav .central-icon { width: 23px; height: 23px; }
    .central-bottom-nav a.is-active { color: var(--central-blue); }

    .central-inner { padding: 30px 0 92px; }
    .central-page-heading { margin-bottom: 20px; }
    .central-page-heading h1 { font-size: 34px; }
    .central-page-heading p { font-size: 16px; }
    .central-content-grid-3, .central-region-grid, .central-units-grid, .central-about-layout { grid-template-columns: 1fr; }
    .central-info-card, .central-region-card, .central-unit-card, .central-about-copy, .central-values-grid { padding: 20px; }
    .central-values-grid { grid-template-columns: 1fr 1fr; }
    .central-inner-cta { grid-template-columns: 1fr 1fr; }
    .central-inner-cta > div { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
    .central-container { width: calc(100% - 14px); }
    .central-slides { aspect-ratio: 21 / 9; }
    .central-action { min-height: 68px; }
    .central-action-copy small { display: none; }
    .central-action-copy strong { font-size: 13px; margin: 0; }
    .central-modal { align-items: end; padding: 0; }
    .central-modal-panel { width: 100%; border-radius: 22px 22px 0 0; padding: 24px 18px calc(22px + env(safe-area-inset-bottom)); }
    .central-choice-grid { grid-template-columns: 1fr; }
    .central-values-grid { grid-template-columns: 1fr; }
    .central-inner-cta { grid-template-columns: 1fr; }
    .central-inner-cta > div { grid-column: auto; }
    .central-primary-button, .central-secondary-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Padronização dos botões de ação nas páginas internas */
.central-primary-button,
.central-secondary-button {
    min-height: 44px;
    border-radius: 12px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
.central-primary-button {
    background: linear-gradient(135deg, #0f69b1, #11b7cc) !important;
    border: 1px solid transparent !important;
    color: #fff !important;
    box-shadow: 0 6px 16px rgba(20, 112, 175, .16);
}
.central-primary-button:hover,
.central-primary-button:focus-visible {
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 9px 20px rgba(20, 112, 175, .22);
    outline: none;
}
.central-secondary-button {
    background: #fff !important;
    border: 1px solid #c7d9e6 !important;
    color: var(--central-navy) !important;
}
.central-secondary-button:hover,
.central-secondary-button:focus-visible {
    background: #f4faff !important;
    border-color: #a9cfe5 !important;
    color: var(--central-blue) !important;
    transform: translateY(-1px);
    outline: none;
}
.central-primary-button .central-icon,
.central-secondary-button .central-icon { width: 19px; height: 19px; flex: 0 0 auto; }
.central-primary-button .central-icon[viewBox="0 0 24 24"] { overflow: visible; }
.central-unit-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.central-unit-actions .central-primary-button,
.central-unit-actions .central-secondary-button { min-width: 145px; }

@media (max-width: 520px) {
    .central-unit-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .central-unit-actions .central-primary-button,
    .central-unit-actions .central-secondary-button { min-width: 0; width: 100%; padding: 0 10px; }
}

/* Botões primários: texto e ícones lineares sempre brancos. */
.central-primary-button,
.central-primary-button span,
.central-primary-button strong { color: #fff !important; }
.central-primary-button .central-icon { color: #fff !important; }
.central-primary-button .central-icon path,
.central-primary-button .central-icon rect,
.central-primary-button .central-icon circle,
.central-primary-button .central-icon line,
.central-primary-button .central-icon polyline { stroke: currentColor; }
/* Preserva preenchimentos próprios de ícones de marca (ex.: WhatsApp). */
.central-primary-button .central-icon [fill]:not([fill="none"]) { stroke: none; }
