/* =====================================================================
   PBA Transportes — Signature 2026
   Camada visual única para todo o site. Todas as cores, fontes, raios,
   sombras e espaçamentos vêm de variáveis controladas pelo painel.
   ===================================================================== */

:root {
    --sg-ink: #031d16;
    --sg-ink-rgb: 3, 29, 22;
    --sg-primary: #075f45;
    --sg-primary-rgb: 7, 95, 69;
    --sg-accent: #ffd12f;
    --sg-accent-rgb: 255, 209, 47;
    --sg-surface: #f7f8f2;
    --sg-surface-alt: #eef3ed;
    --sg-text: #10231c;
    --sg-radius: 22px;
    --sg-btn-radius: 14px;
    --sg-shadow: 0 16px 44px rgba(3, 29, 22, .10);
    --sg-space: 1;
    --sg-font-display: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --sg-font-body: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --sg-hero-overlay: .88;
    --sg-muted: rgba(var(--sg-ink-rgb), .64);
    --sg-line: rgba(var(--sg-ink-rgb), .10);
    --sg-ease: cubic-bezier(.2, .7, .2, 1);
}

body { font-family: var(--sg-font-body); color: var(--sg-text); background: var(--sg-surface); }
body::before { display: none; }

.sg-container {
    width: 100%;
    max-width: 1360px;
    margin-inline: auto;
    padding-inline: clamp(18px, 4vw, 56px);
}

/* ---------- Tipografia base ---------- */
.sg-title {
    margin: 0;
    font-family: var(--sg-font-display);
    font-size: clamp(34px, 4.3vw, 62px);
    font-weight: 900;
    line-height: .98;
    letter-spacing: -.035em;
    color: var(--sg-ink);
    text-wrap: balance;
}
html[data-sg-case="upper"] .sg-title,
html[data-sg-case="upper"] .sg-project h3,
html[data-sg-case="upper"] .sg-equipment h3 { text-transform: uppercase; }
html[data-sg-case="normal"] .carousel-content h1,
html[data-sg-case="normal"] .carousel-content .sg-hero-title { text-transform: none !important; }

.sg-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    color: var(--sg-primary);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .18em;
    line-height: 1.2;
    text-transform: uppercase;
}
.sg-kicker::before { content: ""; width: 36px; height: 3px; border-radius: 4px; background: var(--sg-accent); }
.sg-lead { margin: 0; color: var(--sg-muted); font-size: clamp(16px, 1.25vw, 19px); line-height: 1.65; }
.sg-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 26px;
    padding: 0 8px;
    border-radius: 8px;
    background: var(--sg-ink);
    color: var(--sg-accent);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
}
.sg-rich p { margin: 0 0 1em; }
.sg-rich p:last-child { margin-bottom: 0; }
.sg-rich img { max-width: 100%; height: auto; border-radius: calc(var(--sg-radius) * .6); }

/* ---------- Botões ---------- */
.btn { border-radius: var(--sg-btn-radius) !important; clip-path: none !important; font-family: var(--sg-font-body); }
.btn,
.sg-section .btn {
    background: linear-gradient(135deg, var(--sg-accent), color-mix(in srgb, var(--sg-accent) 82%, #b8860b)) !important;
    color: var(--sg-ink) !important;
    box-shadow: 0 10px 28px rgba(var(--sg-accent-rgb), .26) !important;
    border: 1px solid transparent !important;
}
.btn i { font-size: .92em; }
.sg-btn-outline,
.sg-section .sg-btn-outline {
    background: transparent !important;
    border: 1.5px solid var(--sg-ink) !important;
    color: var(--sg-ink) !important;
    box-shadow: none !important;
}
.sg-btn-outline:hover { background: var(--sg-ink) !important; color: #fff !important; }
.premium-hero-secondary,
.sg-section .premium-hero-secondary {
    background: rgba(255, 255, 255, .06) !important;
    border: 1.5px solid rgba(var(--sg-accent-rgb), .9) !important;
    color: #fff !important;
    box-shadow: none !important;
    backdrop-filter: blur(8px);
}
.premium-hero-secondary:hover { background: rgba(var(--sg-accent-rgb), .14) !important; }

/* ---------- Faixa de aviso ---------- */
.sg-announcement { position: relative; z-index: 1002; padding: 9px 0; font-size: 14px; }
.sg-announcement[data-tone="accent"] { background: var(--sg-accent); color: var(--sg-ink); }
.sg-announcement[data-tone="dark"] { background: var(--sg-ink); color: #fff; border-bottom: 1px solid rgba(255,255,255,.08); }
.sg-announcement[data-tone="primary"] { background: var(--sg-primary); color: #fff; }
.sg-announcement .sg-container { display: flex; align-items: center; justify-content: center; gap: 18px; flex-wrap: wrap; text-align: center; }
.sg-announcement p { margin: 0; font-weight: 600; }
.sg-announcement a { color: inherit; font-weight: 900; text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Topo, cabeçalho e banner (alinhados ao tema) ---------- */
.top-social-bar { background: var(--sg-ink) !important; }
.top-social-links a { color: var(--sg-accent) !important; }
.header {
    background: rgba(var(--sg-ink-rgb), .96) !important;
    border-bottom-color: rgba(var(--sg-accent-rgb), .22) !important;
}
.nav-menu a { font-family: var(--sg-font-body); clip-path: none !important; }
.nav-menu a:hover { color: var(--sg-accent) !important; }
.nav-menu li:last-child a { background: var(--sg-accent) !important; color: var(--sg-ink) !important; }
.mobile-menu-btn { color: var(--sg-accent) !important; background: transparent; border: 0; }
#cms-section-stage:not([hidden]) { display: block !important; }

.carousel { background: var(--sg-ink) !important; }
html[data-sg-hero="medio"] .carousel { height: min(600px, calc(100svh - 88px)) !important; min-height: 520px; }
html[data-sg-hero="tela"] .carousel { height: calc(100svh - 76px) !important; }
.carousel-slide::before {
    background: linear-gradient(90deg,
        rgba(var(--sg-ink-rgb), calc(var(--sg-hero-overlay) + .1)) 0%,
        rgba(var(--sg-ink-rgb), var(--sg-hero-overlay)) 34%,
        rgba(var(--sg-ink-rgb), calc(var(--sg-hero-overlay) * .32)) 67%,
        rgba(var(--sg-ink-rgb), calc(var(--sg-hero-overlay) * .1)) 100%) !important;
}
.carousel-content h1,
.carousel-content .sg-hero-title {
    max-width: 760px;
    margin: 14px 0 20px !important;
    color: #fff !important;
    font-family: var(--sg-font-display) !important;
    font-size: clamp(46px, 5.6vw, 86px) !important;
    font-weight: 950 !important;
    line-height: .94 !important;
    letter-spacing: -.035em;
    text-transform: uppercase;
    text-shadow: 0 8px 28px rgba(0,0,0,.25);
}
.carousel-content h1 em,
.carousel-content .sg-hero-title em { color: var(--sg-accent); font-style: normal; }
.premium-hero-kicker { color: var(--sg-accent) !important; }
.sg-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.sg-hero-actions .btn { margin: 0 !important; }
.carousel-btn { display: flex; align-items: center; justify-content: center; color: #fff !important; border-radius: 50% !important; clip-path: none !important; cursor: pointer; }
.carousel-btn[hidden] { display: none !important; }
.carousel-dot { border: 0; padding: 0; cursor: pointer; clip-path: none !important; }
.carousel-dot.active { background: var(--sg-accent) !important; }

.premium-proof-bar { background: var(--sg-ink) !important; border-color: rgba(var(--sg-accent-rgb), .28) !important; }
.premium-proof-grid > div { border-color: rgba(var(--sg-accent-rgb), .22) !important; }
.premium-proof-grid i { color: var(--sg-accent) !important; }
.premium-proof-grid strong { font-family: var(--sg-font-display); }

/* ---------- Seções ---------- */
.sg-section {
    position: relative;
    padding-block: calc(clamp(72px, 8vw, 128px) * var(--sg-space)) !important;
    background: var(--sg-surface) !important;
    color: var(--sg-text);
    overflow: hidden;
}
.sg-section[data-variant="alt"] { background: var(--sg-surface-alt) !important; }
.sg-section[data-variant="white"] { background: #fff !important; }
.sg-section[data-variant="dark"] {
    background:
        radial-gradient(circle at 88% 0%, rgba(var(--sg-accent-rgb), .10), transparent 34rem),
        linear-gradient(160deg, var(--sg-ink) 0%, color-mix(in srgb, var(--sg-ink) 78%, var(--sg-primary)) 100%) !important;
    color: #fff;
}
.sg-section[data-variant="accent"] {
    background: linear-gradient(140deg, var(--sg-primary), color-mix(in srgb, var(--sg-primary) 70%, var(--sg-ink))) !important;
    color: #fff;
}
.sg-section[data-variant="dark"] .sg-title,
.sg-section[data-variant="accent"] .sg-title { color: #fff; }
.sg-section[data-variant="dark"] .sg-kicker,
.sg-section[data-variant="accent"] .sg-kicker { color: var(--sg-accent); }
.sg-section[data-variant="dark"] .sg-lead,
.sg-section[data-variant="accent"] .sg-lead { color: rgba(255, 255, 255, .72); }

.sg-head {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    align-items: end;
    gap: clamp(24px, 5vw, 80px);
    margin-bottom: calc(clamp(36px, 4vw, 60px) * var(--sg-space));
    padding-bottom: calc(clamp(24px, 2.6vw, 36px) * var(--sg-space));
    border-bottom: 1px solid var(--sg-line);
}
.sg-section[data-variant="dark"] .sg-head,
.sg-section[data-variant="accent"] .sg-head { border-bottom-color: rgba(255, 255, 255, .12); }
.sg-head-side { display: grid; gap: 16px; justify-items: start; }
.sg-count { display: inline-flex; align-items: baseline; gap: 8px; color: var(--sg-muted); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sg-count strong { color: var(--sg-ink); font-family: var(--sg-font-display); font-size: 34px; letter-spacing: -.03em; }
.sg-section[data-variant="dark"] .sg-count,
.sg-section[data-variant="accent"] .sg-count { color: rgba(255,255,255,.6); }
.sg-section[data-variant="dark"] .sg-count strong,
.sg-section[data-variant="accent"] .sg-count strong { color: var(--sg-accent); }

/* ---------- Cartões ---------- */
.sg-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--sg-line);
    border-radius: var(--sg-radius);
    background: #fff;
    box-shadow: var(--sg-shadow);
    transition: transform .35s var(--sg-ease), box-shadow .35s var(--sg-ease), border-color .35s var(--sg-ease);
}
.sg-card:hover { transform: translateY(-6px); border-color: rgba(var(--sg-accent-rgb), .75); box-shadow: 0 26px 60px rgba(var(--sg-ink-rgb), .16); }
html[data-sg-cards="contorno"] .sg-card { box-shadow: none; border: 1.5px solid rgba(var(--sg-ink-rgb), .16); }
html[data-sg-cards="plano"] .sg-card { box-shadow: none; border-color: transparent; background: rgba(var(--sg-ink-rgb), .035); }
html[data-sg-cards="plano"] .sg-card:hover,
html[data-sg-cards="contorno"] .sg-card:hover { box-shadow: none; }
.sg-card figure { margin: 0; overflow: hidden; background: var(--sg-surface-alt); }
.sg-card figure img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--sg-ease); }
.sg-card:hover figure img { transform: scale(1.05); }

/* ---------- Projetos ---------- */
.sg-projects { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); gap: clamp(18px, 2vw, 28px); }
.sg-project-media { aspect-ratio: 1080 / 744; }
.sg-project-body { display: grid; gap: 10px; padding: clamp(20px, 2vw, 28px); }
.sg-project-body .sg-index { justify-self: start; }
.sg-project h3,
.sg-equipment h3 {
    margin: 4px 0 0;
    color: var(--sg-ink);
    font-family: var(--sg-font-display);
    font-size: clamp(18px, 1.5vw, 22px);
    font-weight: 900;
    line-height: 1.12;
    letter-spacing: -.02em;
}
.sg-project p,
.sg-equipment p { margin: 0; color: var(--sg-muted); font-size: 15px; line-height: 1.55; }
.sg-project .sg-meta { display: flex; align-items: center; gap: 8px; margin-top: 4px; padding-top: 14px; border-top: 1px solid var(--sg-line); color: var(--sg-primary); font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }

.sg-cta-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: calc(clamp(32px, 4vw, 52px) * var(--sg-space));
    padding: clamp(20px, 2.4vw, 30px) clamp(22px, 3vw, 40px);
    border: 1px solid var(--sg-line);
    border-left: 5px solid var(--sg-accent);
    border-radius: var(--sg-radius);
    background: #fff;
}
.sg-cta-strip p { margin: 0; color: var(--sg-ink); font-size: clamp(16px, 1.3vw, 19px); font-weight: 700; }
.sg-section[data-variant="dark"] .sg-cta-strip { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); border-left-color: var(--sg-accent); }
.sg-section[data-variant="dark"] .sg-cta-strip p { color: #fff; }

/* ---------- Banner da frota ---------- */
.sg-fleet-banner { position: relative; background: var(--sg-ink); }
.sg-fleet-banner figure { position: relative; margin: 0; }
.sg-fleet-banner img { display: block; width: 100% !important; height: auto !important; max-height: 520px; aspect-ratio: 1599 / 594; object-fit: cover; opacity: 1 !important; }
.sg-fleet-banner figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(var(--sg-ink-rgb), .0) 50%, rgba(var(--sg-ink-rgb), .55) 100%); pointer-events: none; }
.sg-fleet-banner figcaption { position: absolute; left: 0; right: 0; bottom: clamp(18px, 3vw, 40px); z-index: 2; display: grid; gap: 6px; color: #fff; }
.sg-fleet-banner figcaption .sg-kicker { margin: 0; color: var(--sg-accent); }
.sg-fleet-banner figcaption strong { font-family: var(--sg-font-display); font-size: clamp(22px, 2.6vw, 38px); line-height: 1; }

/* ---------- Frota ---------- */
.sg-fleet-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: clamp(16px, 1.8vw, 24px); }
.sg-equipment figure { position: relative; aspect-ratio: 4 / 3; }
.sg-equipment figure .sg-index { position: absolute; top: 14px; left: 14px; z-index: 2; }
.sg-equipment-body { display: grid; gap: 8px; padding: 20px 22px 24px; }
.sg-equipment h3 { font-size: 18px; }
.sg-equipment p { font-size: 14px; }

/* ---------- Sobre ---------- */
.sg-about-grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); align-items: center; gap: clamp(36px, 6vw, 96px); }
.sg-about-media { position: relative; }
.sg-about-media > img { display: block; width: 100%; aspect-ratio: 960 / 540; object-fit: cover; border-radius: var(--sg-radius); box-shadow: 0 30px 80px rgba(var(--sg-ink-rgb), .22); }
.sg-about-media::before { content: ""; position: absolute; inset: auto auto -22px -22px; width: 44%; height: 60%; border-radius: var(--sg-radius); background: repeating-linear-gradient(135deg, rgba(var(--sg-accent-rgb), .9) 0 3px, transparent 3px 14px); opacity: .5; z-index: -1; }
.sg-about-badge { position: absolute; right: clamp(-10px, -1vw, 0px); bottom: -28px; display: grid; gap: 4px; min-width: 180px; padding: 20px 24px; border-radius: calc(var(--sg-radius) * .8); background: var(--sg-ink); color: #fff; box-shadow: 0 22px 50px rgba(var(--sg-ink-rgb), .3); }
.sg-about-badge strong { color: var(--sg-accent); font-family: var(--sg-font-display); font-size: 46px; line-height: 1; letter-spacing: -.04em; }
.sg-about-badge span { color: rgba(255,255,255,.72); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.sg-about-copy .sg-title { margin-bottom: 22px; }
.sg-about-copy .sg-rich { color: var(--sg-muted); font-size: clamp(16px, 1.2vw, 18px); line-height: 1.75; }
.sg-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 14px; margin: 30px 0; }
.sg-stat { display: grid; gap: 4px; padding: 18px 20px; border-left: 4px solid var(--sg-accent); border-radius: 0 calc(var(--sg-radius) * .6) calc(var(--sg-radius) * .6) 0; background: #fff; box-shadow: 0 8px 22px rgba(var(--sg-ink-rgb), .06); }
.sg-stat strong { color: var(--sg-ink); font-family: var(--sg-font-display); font-size: clamp(30px, 3vw, 42px); line-height: 1; letter-spacing: -.04em; }
.sg-stat span { color: var(--sg-muted); font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.sg-about-banner { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; border-radius: var(--sg-radius); background: linear-gradient(130deg, var(--sg-ink), var(--sg-primary)); color: #fff; }
.sg-about-banner strong { display: block; font-family: var(--sg-font-display); font-size: 19px; }
.sg-about-banner p { margin: 4px 0 0; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.5; }
.sg-about-banner .btn { flex-shrink: 0; }

/* ---------- Serviços ---------- */
.sg-services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(18px, 2vw, 26px); }
.sg-service { display: grid; align-content: start; gap: 14px; padding: clamp(26px, 2.6vw, 38px); }
.sg-service-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.sg-service-icon { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: calc(var(--sg-radius) * .65); background: var(--sg-accent); color: var(--sg-ink); font-size: 24px; }
.sg-service h3,
.sg-highlight h3,
.sg-block h3 { margin: 0; color: var(--sg-ink); font-family: var(--sg-font-display); font-size: clamp(20px, 1.7vw, 25px); font-weight: 900; line-height: 1.12; letter-spacing: -.02em; }
.sg-service p,
.sg-highlight p { margin: 0; color: var(--sg-muted); line-height: 1.65; }
.sg-service ul { display: grid; gap: 10px; margin: 8px 0 0; padding: 18px 0 0; border-top: 1px solid var(--sg-line); list-style: none; }
.sg-service li { display: flex; align-items: baseline; gap: 10px; color: var(--sg-text); font-size: 15px; font-weight: 600; }
.sg-service li i { color: var(--sg-primary); font-size: 12px; }
.sg-section[data-variant="dark"] .sg-card,
.sg-section[data-variant="accent"] .sg-card { background: rgba(255,255,255,.045); border-color: rgba(255,255,255,.11); box-shadow: none; backdrop-filter: blur(6px); }
.sg-section[data-variant="dark"] .sg-card:hover,
.sg-section[data-variant="accent"] .sg-card:hover { background: rgba(255,255,255,.07); border-color: rgba(var(--sg-accent-rgb), .6); }
.sg-section[data-variant="dark"] .sg-card h3,
.sg-section[data-variant="accent"] .sg-card h3 { color: #fff; }
.sg-section[data-variant="dark"] .sg-card p,
.sg-section[data-variant="accent"] .sg-card p,
.sg-section[data-variant="dark"] .sg-card .sg-rich { color: rgba(255,255,255,.7); }
.sg-section[data-variant="dark"] .sg-service li,
.sg-section[data-variant="accent"] .sg-service li { color: rgba(255,255,255,.9); }
.sg-section[data-variant="dark"] .sg-service ul,
.sg-section[data-variant="accent"] .sg-service ul { border-top-color: rgba(255,255,255,.12); }
.sg-section[data-variant="dark"] .sg-service li i,
.sg-section[data-variant="accent"] .sg-service li i { color: var(--sg-accent); }
.sg-section[data-variant="dark"] .sg-index { background: rgba(var(--sg-accent-rgb), .14); }
.sg-section[data-variant="dark"] .sg-card figure,
.sg-section[data-variant="accent"] .sg-card figure { background: rgba(255,255,255,.04); }
.sg-section[data-variant="dark"] .sg-project .sg-meta { color: var(--sg-accent); border-top-color: rgba(255,255,255,.12); }

/* ---------- Parceiros ---------- */
.sg-partners-panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    align-items: center;
    gap: clamp(30px, 5vw, 80px);
    overflow: hidden;
    padding: clamp(32px, 5vw, 76px);
    border-radius: calc(var(--sg-radius) * 1.4);
    background:
        linear-gradient(110deg, rgba(var(--sg-ink-rgb), .97), rgba(var(--sg-ink-rgb), .86)),
        var(--sg-partners-cover, none) center / cover,
        var(--sg-ink);
    color: #fff;
    box-shadow: 0 34px 90px rgba(var(--sg-ink-rgb), .24);
}
.sg-partners-panel::after { content: ""; position: absolute; right: -160px; top: -200px; width: 440px; height: 440px; border: 1px solid rgba(var(--sg-accent-rgb), .35); border-radius: 50%; pointer-events: none; }
.sg-partners-copy { position: relative; z-index: 1; display: grid; gap: 20px; justify-items: start; }
.sg-partners-copy .sg-kicker { margin: 0; color: var(--sg-accent); }
.sg-partners-copy .sg-title { color: #fff; }
.sg-partners-copy .sg-lead { color: rgba(255,255,255,.74); }
.sg-partners-list { position: relative; z-index: 1; display: grid; gap: 14px; }
.sg-partner-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; padding: 18px 22px; border: 1px solid rgba(var(--sg-accent-rgb), .35); border-radius: var(--sg-radius); background: rgba(255,255,255,.97); color: var(--sg-ink); text-decoration: none; box-shadow: 0 18px 44px rgba(0,0,0,.22); transition: transform .3s var(--sg-ease); }
.sg-partner-card:hover { transform: translateX(6px); }
.sg-partner-logo { display: flex; align-items: center; justify-content: center; width: 84px; height: 62px; padding: 6px; border-radius: 12px; background: var(--sg-surface-alt); }
.sg-partner-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.sg-partner-info { display: grid; gap: 3px; }
.sg-partner-info small { color: var(--sg-primary); font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.sg-partner-info strong { font-family: var(--sg-font-display); font-size: 22px; line-height: 1.1; }
.sg-partner-info em { color: var(--sg-muted); font-size: 13px; font-style: normal; }
.sg-partner-card > i { color: var(--sg-primary); }

/* ---------- QR codes ---------- */
.sg-connect-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: center; gap: clamp(36px, 7vw, 110px); }
.sg-connect-grid .sg-title { margin-bottom: 22px; }
.sg-connect-grid .sg-lead { margin-bottom: 28px; max-width: 620px; }
.sg-qr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.sg-qr-card { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: clamp(18px, 2.6vw, 30px); border-radius: var(--sg-radius); background: #fff; color: var(--sg-ink); text-decoration: none; box-shadow: 0 22px 54px rgba(0,0,0,.24); transition: transform .3s var(--sg-ease); }
.sg-qr-card:hover { transform: translateY(-6px); }
.sg-qr-card img { width: min(100%, 210px); aspect-ratio: 1; margin-bottom: 10px; }
.sg-qr-card span { color: var(--sg-primary); font-size: 11px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.sg-qr-card strong { font-size: 14px; text-align: center; overflow-wrap: anywhere; }

/* ---------- Apresentação institucional ---------- */
.sg-presentation { padding: 0 !important; }
.sg-pres-hero { padding-block: calc(clamp(72px, 8vw, 124px) * var(--sg-space)); }
.sg-pres-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: end; gap: clamp(30px, 6vw, 90px); }
.sg-badge { display: inline-flex; margin-bottom: 22px; padding: 8px 16px; border: 1px solid rgba(var(--sg-accent-rgb), .45); border-radius: 999px; color: var(--sg-accent); font-size: 11px; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.sg-pres-title { font-size: clamp(44px, 6vw, 92px) !important; }
.sg-pres-title span { color: var(--sg-accent); }
.sg-pres-sub { margin: 18px 0 0; color: rgba(255,255,255,.66); font-size: clamp(16px, 1.4vw, 20px); letter-spacing: .02em; }
.sg-pres-hero .sg-lead { margin-bottom: 26px; }
.sg-stats-band { border-block: 1px solid rgba(var(--sg-accent-rgb), .22); background: rgba(0,0,0,.18); }
.sg-stats-band .sg-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.sg-stats-band .sg-stat { padding: clamp(22px, 3vw, 38px) 24px; border: 0; border-right: 1px solid rgba(255,255,255,.08); border-radius: 0; background: transparent; box-shadow: none; }
.sg-stats-band .sg-stat:last-child { border-right: 0; }
.sg-stats-band .sg-stat strong { color: var(--sg-accent); font-size: clamp(36px, 4vw, 54px); }
.sg-stats-band .sg-stat span { color: rgba(255,255,255,.6); }
.sg-pages { padding-block: calc(clamp(52px, 6vw, 88px) * var(--sg-space)); }
.sg-pages-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.sg-pages-head .sg-kicker { color: var(--sg-accent); margin-bottom: 10px; }
.sg-pages-head h3 { margin: 0; color: #fff; font-family: var(--sg-font-display); font-size: clamp(26px, 3vw, 42px); line-height: 1.02; }
.sg-pages-nav { display: flex; gap: 10px; }
.sg-pages-nav button { width: 50px; height: 50px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(255,255,255,.04); color: #fff; cursor: pointer; transition: background .2s, border-color .2s; }
.sg-pages-nav button:hover { border-color: var(--sg-accent); background: rgba(var(--sg-accent-rgb), .14); }
.sg-pages-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 31%); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 14px; scrollbar-color: var(--sg-accent) rgba(255,255,255,.08); }
.sg-page-card { position: relative; margin: 0; overflow: hidden; scroll-snap-align: start; border: 1px solid rgba(var(--sg-accent-rgb), .22); border-radius: calc(var(--sg-radius) * .75); background: rgba(255,255,255,.04); }
.sg-page-card img { display: block; width: 100%; aspect-ratio: 1.414 / 1; object-fit: contain; background: #fff; }
.sg-page-card span { position: absolute; top: 12px; left: 12px; padding: 5px 9px; border-radius: 8px; background: var(--sg-accent); color: var(--sg-ink); font-size: 11px; font-weight: 950; }
.sg-page-card figcaption { padding: 12px 16px; color: rgba(255,255,255,.86); font-size: 13px; font-weight: 700; }
.sg-highlights { padding-block: calc(clamp(72px, 8vw, 120px) * var(--sg-space)); background: var(--sg-surface); color: var(--sg-text); }
.sg-highlights .sg-title { color: var(--sg-ink) !important; }
.sg-highlights .sg-kicker { color: var(--sg-primary) !important; }
.sg-highlights .sg-lead { color: var(--sg-muted) !important; }
.sg-highlights .sg-head { border-bottom-color: var(--sg-line) !important; }
.sg-highlights-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: clamp(16px, 2vw, 24px); }
.sg-highlights .sg-card { background: #fff !important; border-color: var(--sg-line) !important; box-shadow: var(--sg-shadow) !important; backdrop-filter: none !important; }
.sg-highlights .sg-card h3 { color: var(--sg-ink) !important; }
.sg-highlights .sg-card p { color: var(--sg-muted) !important; }
.sg-highlight { display: grid; align-content: start; gap: 14px; padding: clamp(24px, 2.4vw, 32px); }
.sg-highlight .sg-service-icon { width: 52px; height: 52px; font-size: 21px; background: var(--sg-ink); color: var(--sg-accent); }
.sg-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; color: var(--sg-primary); font-size: 14px; font-weight: 800; text-decoration: none; }
.sg-link i { transition: transform .25s var(--sg-ease); }
.sg-link:hover i { transform: translateX(4px); }

/* ---------- Blocos livres ---------- */
.sg-blocks-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(18px, 2vw, 26px); }
.sg-block { display: grid; align-content: start; gap: 12px; padding: clamp(26px, 2.6vw, 36px); border-top: 5px solid var(--sg-primary) !important; }
.sg-block[data-tone="gold"] { border-top-color: var(--sg-accent) !important; }
.sg-block[data-tone="teal"] { border-top-color: #0ea5a4 !important; }
.sg-block[data-tone="dark"] { border-top-color: var(--sg-ink) !important; }
.sg-block .sg-index { justify-self: start; }
.sg-block-label { color: var(--sg-primary); font-size: 12px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.sg-block .sg-rich { color: var(--sg-muted); line-height: 1.7; }

/* ---------- Contato ---------- */
.sg-contact-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(24px, 4vw, 56px); align-items: stretch; }
.sg-contact-panel { display: grid; align-content: start; gap: 0; padding: clamp(30px, 4vw, 56px); border-radius: calc(var(--sg-radius) * 1.2); background: radial-gradient(circle at 100% 0%, rgba(var(--sg-accent-rgb), .14), transparent 22rem), linear-gradient(160deg, var(--sg-ink), color-mix(in srgb, var(--sg-ink) 75%, var(--sg-primary))); color: #fff; }
.sg-contact-panel .sg-kicker { color: var(--sg-accent); }
.sg-contact-panel .sg-title { color: #fff; margin-bottom: 16px; }
.sg-contact-panel .sg-lead { color: rgba(255,255,255,.7); margin-bottom: 26px; }
.sg-contact-list { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.sg-contact-list li { display: grid; grid-template-columns: 46px 1fr; align-items: center; gap: 14px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.09); }
.sg-contact-list li > i { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 12px; background: rgba(var(--sg-accent-rgb), .14); color: var(--sg-accent); font-size: 18px; }
.sg-contact-list small { display: block; margin-bottom: 2px; color: rgba(255,255,255,.55); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.sg-contact-list a,
.sg-contact-list span { color: #fff; font-size: 16px; font-weight: 600; line-height: 1.45; text-decoration: none; overflow-wrap: anywhere; }
.sg-contact-list a:hover { color: var(--sg-accent); }
.sg-contact-form { display: grid; align-content: start; gap: 8px; padding: clamp(28px, 4vw, 52px); }
.sg-contact-form:hover { transform: none; }
.sg-contact-form h3 { margin: 0; color: var(--sg-ink); font-family: var(--sg-font-display); font-size: clamp(24px, 2.2vw, 32px); font-weight: 900; letter-spacing: -.02em; }
.sg-contact-form > p { margin: 0 0 14px; color: var(--sg-muted); }
.sg-contact-form form { display: grid; gap: 16px; }
.sg-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sg-contact-form label { display: grid; gap: 7px; color: var(--sg-ink); font-size: 13px; font-weight: 800; letter-spacing: .03em; }
.sg-contact-form input,
.sg-contact-form textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1.5px solid rgba(var(--sg-ink-rgb), .14);
    border-radius: calc(var(--sg-btn-radius) * .8 + 2px);
    background: var(--sg-surface);
    color: var(--sg-text);
    font: inherit;
    font-size: 15px;
    font-weight: 500;
    clip-path: none !important;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.sg-contact-form input:focus,
.sg-contact-form textarea:focus { outline: none; border-color: var(--sg-primary); background: #fff; box-shadow: 0 0 0 4px rgba(var(--sg-primary-rgb), .12); }
.sg-contact-form textarea { min-height: 140px; resize: vertical; }
.sg-contact-form button[type="submit"] { justify-self: start; min-width: 220px; cursor: pointer; }
.sg-contact-form .contact-form-status { margin: 0; padding: 12px 14px; border-radius: 12px; clip-path: none !important; font-size: 14px; font-weight: 600; }
.sg-contact-form .contact-form-status[data-tone="neutral"] { background: var(--sg-surface-alt); color: var(--sg-ink); }
.sg-contact-form .contact-form-status[data-tone="success"] { background: #e3f6ea; color: #0b5c33; }
.sg-contact-form .contact-form-status[data-tone="warn"] { background: #fff4d6; color: #7a4d00; }

/* ---------- Rodapé ---------- */
.sg-footer { position: relative; padding: calc(clamp(56px, 6vw, 88px) * var(--sg-space)) 0 0 !important; background: var(--sg-ink) !important; border-top: 5px solid var(--sg-accent) !important; color: rgba(255,255,255,.72); text-align: left !important; }
.sg-footer a { color: rgba(255,255,255,.78); text-decoration: none; transition: color .2s; }
.sg-footer a:hover { color: var(--sg-accent); }
.sg-footer-spotlight { margin-bottom: clamp(40px, 5vw, 64px); }
.sg-footer-spotlight .site-footer-spotlight { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; gap: 30px; margin: 0; padding: clamp(26px, 3.4vw, 44px); border: 1px solid rgba(var(--sg-accent-rgb), .25) !important; border-radius: var(--sg-radius); background: rgba(255,255,255,.04) !important; clip-path: none !important; text-align: left; }
.sg-footer-spotlight .site-footer-kicker { color: var(--sg-accent); font-size: 11px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; background: none; clip-path: none; padding: 0; }
.sg-footer-spotlight h3 { margin: 8px 0 10px; color: #fff; font-family: var(--sg-font-display); font-size: clamp(26px, 2.6vw, 38px); }
.sg-footer-spotlight p { margin: 0; color: rgba(255,255,255,.68); line-height: 1.65; }
.sg-footer-spotlight .site-footer-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.sg-footer-spotlight .site-footer-metrics div { display: grid; gap: 4px; padding: 18px; border: 1px solid rgba(255,255,255,.08); border-radius: calc(var(--sg-radius) * .6); background: rgba(255,255,255,.03); clip-path: none !important; }
.sg-footer-spotlight .site-footer-metrics strong { color: var(--sg-accent); font-family: var(--sg-font-display); font-size: 30px; line-height: 1; }
.sg-footer-spotlight .site-footer-metrics span { color: rgba(255,255,255,.6); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.sg-footer-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 60px); padding-bottom: clamp(40px, 5vw, 60px); }
.sg-footer-brand img { width: auto; height: 64px; margin-bottom: 18px; filter: brightness(0) invert(1); }
.sg-footer-brand p { max-width: 380px; margin: 0 0 20px; line-height: 1.7; }
.sg-footer .social-links { justify-content: flex-start !important; gap: 10px !important; margin: 0 !important; }
.sg-footer .social-links a { width: 42px !important; height: 42px !important; font-size: 18px !important; background: rgba(255,255,255,.07) !important; color: var(--sg-accent) !important; }
.sg-footer-col { display: grid; align-content: start; gap: 12px; }
.sg-footer-col h4 { margin: 0 0 6px; color: #fff; font-size: 13px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.sg-footer-col span { line-height: 1.6; }
.sg-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.09); font-size: 14px; }
.sg-footer-bottom p { margin: 0; }
.sg-back-top { font-weight: 800; }
.site-subfooter-block { background: color-mix(in srgb, var(--sg-ink) 70%, #000) !important; color: rgba(255,255,255,.55) !important; }
.site-subfooter-inner { max-width: 1360px; margin: 0 auto; padding: 14px clamp(18px, 4vw, 56px); font-size: 13px; font-weight: 500; letter-spacing: .01em !important; text-transform: none !important; text-align: center; }
.site-subfooter-inner .site-subfooter-inner { padding: 0; }

/* ---------- WhatsApp ---------- */
.whatsapp-float.is-left { right: auto !important; left: 30px !important; }

/* ---------- Overlay de geração de PDF ---------- */
#inst-pdf-loading { position: fixed; inset: 0; z-index: 99999; display: none; flex-direction: column; align-items: center; justify-content: center; background: rgba(var(--sg-ink-rgb), .94); color: #fff; }
#inst-pdf-loading .inst-spinner { width: 68px; height: 68px; margin-bottom: 22px; border: 4px solid rgba(255,255,255,.12); border-top-color: var(--sg-accent); border-radius: 50%; animation: sg-spin 1s linear infinite; }
#inst-pdf-loading .inst-pdf-msg { margin: 0 0 6px; font-size: 18px; font-weight: 700; }
#inst-pdf-loading .inst-pdf-sub { color: rgba(255,255,255,.6); font-size: 13px; }
@keyframes sg-spin { to { transform: rotate(360deg); } }

/* ---------- Animações de entrada ---------- */
html.sg-js[data-sg-anim="on"] .sg-reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--sg-ease) var(--sg-delay, 0ms), transform .8s var(--sg-ease) var(--sg-delay, 0ms); }
html.sg-js[data-sg-anim="on"] .sg-reveal.is-visible { opacity: 1; transform: none; }
html.sg-js[data-sg-anim="on"] .sg-card.sg-reveal.is-visible:hover { transform: translateY(-6px); }

/* ---------- Pré-visualização no painel ---------- */
.sg-edit-chip { display: none; }
html.sg-preview [data-site-section],
html.sg-preview #site-subfooter-block { position: relative; }
html.sg-preview .sg-edit-chip {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 50;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 0;
    border-radius: 999px;
    background: #4f46e5;
    color: #fff;
    font: 700 12px/1 Inter, system-ui, sans-serif;
    letter-spacing: .02em;
    box-shadow: 0 10px 26px rgba(79, 70, 229, .45);
    cursor: pointer;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity .18s, transform .18s;
}
html.sg-preview [data-site-section]:hover > .sg-edit-chip,
html.sg-preview #site-subfooter-block:hover > .sg-edit-chip { opacity: 1; transform: none; }
html.sg-preview [data-site-section]:hover { outline: 2px dashed rgba(79, 70, 229, .7); outline-offset: -2px; }
.sg-flash { animation: sg-flash 1.4s ease; }
@keyframes sg-flash { 0%, 100% { box-shadow: inset 0 0 0 0 rgba(79,70,229,0); } 25%, 60% { box-shadow: inset 0 0 0 4px rgba(79,70,229,.85); } }

/* ---------- Responsivo ---------- */
@media (max-width: 1100px) {
    .sg-head { grid-template-columns: 1fr; align-items: start; gap: 18px; }
    .sg-about-grid, .sg-connect-grid, .sg-partners-panel, .sg-pres-hero-grid, .sg-contact-grid { grid-template-columns: 1fr; }
    .sg-about-media { max-width: 760px; }
    .sg-footer-grid { grid-template-columns: 1fr 1fr; }
    .sg-footer-spotlight .site-footer-spotlight { grid-template-columns: 1fr; }
    .sg-pages-track { grid-auto-columns: minmax(260px, 46%); }
}
@media (max-width: 640px) {
    .sg-section { padding-block: calc(60px * var(--sg-space)) !important; }
    .sg-title { font-size: clamp(30px, 9vw, 42px); }
    .sg-cta-strip, .sg-about-banner { flex-direction: column; align-items: flex-start; }
    .sg-cta-strip .btn, .sg-about-banner .btn, .sg-contact-form button[type="submit"] { width: 100%; }
    .sg-form-row { grid-template-columns: 1fr; }
    .sg-about-badge { position: relative; right: auto; bottom: auto; margin: -36px 16px 0 auto; width: max-content; }
    .sg-qr-grid { gap: 10px; }
    .sg-qr-card { padding: 14px; }
    .sg-qr-card strong { font-size: 11px; }
    .sg-partners-panel { padding: 28px 20px; }
    .sg-partner-card { grid-template-columns: auto 1fr; }
    .sg-partner-card > i { display: none; }
    .sg-pages-track { grid-auto-columns: 86%; }
    .sg-pages-nav { display: none; }
    .sg-footer-grid { grid-template-columns: 1fr; }
    .sg-footer-spotlight .site-footer-metrics { grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
    .sg-footer-spotlight .site-footer-metrics div { padding: 12px; }
    .sg-footer-bottom { flex-direction: column; align-items: flex-start; }
    .sg-hero-actions .btn { width: 100%; }
    .whatsapp-float.is-left { left: 14px !important; }
}
@media (prefers-reduced-motion: reduce) {
    html.sg-js .sg-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}
