
:root{
  --water:#CADDE6; --land:#EDF0E8; --border:#93A397; --state:#C2CCC4;
  --ink:#1A1714; --muted:#6B6157; --surface:#FFFDF8; --surface-2:#F5EFE3; --line:#E3D9C7;
  --sign:#161412; --sign-2:#25211D; --sign-ink:#F4EBD8;
  --paint:#E2A93B; --casing:rgba(22,20,18,.5); --done:#9A8F84; --warn:#A4401A; --sand:#D8C3A0;
  --shadow:0 1px 2px rgba(26,23,20,.16), 0 8px 24px rgba(26,23,20,.12);
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --water:#0C161B; --land:#1A2521; --border:#3B4E45; --state:#2B3A33;
    --ink:#F1E9DA; --muted:#B1A698; --surface:#1D1A17; --surface-2:#141210; --line:#332E28;
    --sign:#0D0C0B; --sign-2:#1F1B18; --paint:#EDB64A; --casing:rgba(0,0,0,.6); --done:#7D7469; --warn:#F09A6E; --sand:#BFA781;
    --shadow:0 1px 2px rgba(0,0,0,.45), 0 10px 28px rgba(0,0,0,.45);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --water:#0C161B; --land:#1A2521; --border:#3B4E45; --state:#2B3A33;
  --ink:#F1E9DA; --muted:#B1A698; --surface:#1D1A17; --surface-2:#141210; --line:#332E28;
  --sign:#0D0C0B; --sign-2:#1F1B18; --paint:#EDB64A; --casing:rgba(0,0,0,.6); --done:#7D7469; --warn:#F09A6E; --sand:#BFA781;
  --shadow:0 1px 2px rgba(0,0,0,.45), 0 10px 28px rgba(0,0,0,.45);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:inherit}
/* ---------- base ---------- */
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px)}
body{margin:0;background:var(--surface-2);color:var(--ink);
  font-family:"Overpass","Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--paint);outline-offset:2px}
[hidden]{display:none !important}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);padding:8px 12px;border-radius:8px;z-index:3000}
.skip:focus{left:8px}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:2500;background:var(--sign);color:var(--sign-ink);
  box-shadow:0 1px 0 rgba(0,0,0,.15)}
body.mapbody .site-header{position:relative}
.hdr{display:flex;align-items:center;gap:20px;height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;font-size:1.15rem;letter-spacing:.01em;white-space:nowrap}
.brand-logo{width:42px;height:42px;display:block}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav a{text-decoration:none;padding:8px 11px;border-radius:8px;font-weight:600;font-size:.95rem;opacity:.92;white-space:nowrap}
.nav a:hover{background:rgba(255,255,255,.12);opacity:1}
.nav a[aria-current="page"]{background:rgba(255,255,255,.18);opacity:1}
.nav .live-link{display:inline-flex;align-items:center;gap:7px}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--paint);box-shadow:0 0 0 3px rgba(242,183,5,.3)}
.lang{display:flex;border:1.5px solid rgba(255,255,255,.55);border-radius:8px;overflow:hidden;flex:none}
.lang button{appearance:none;border:0;background:none;color:inherit;padding:5px 9px;font-weight:800;font-size:.8rem;cursor:pointer;opacity:.75}
.lang button[aria-pressed="true"]{background:var(--sign-ink);color:var(--sign);opacity:1}
.menu-btn{display:none;appearance:none;border:0;background:none;color:inherit;font-size:1.5rem;cursor:pointer;padding:4px 6px;margin-left:auto}
@media (max-width:920px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--sign);padding:8px 12px 16px;box-shadow:0 12px 24px rgba(0,0,0,.2)}
  .nav.open{display:flex}
  .nav a{padding:12px 10px;font-size:1.05rem}
  .lang{margin-left:0}
}

/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:var(--surface);padding:36px 0 calc(28px + env(safe-area-inset-bottom,0px));margin-top:72px;font-size:.95rem}
.site-footer .cols{display:flex;flex-wrap:wrap;gap:24px 48px;justify-content:space-between}
.site-footer a{opacity:.85;text-decoration:none}
.site-footer a:hover{opacity:1;text-decoration:underline}
.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.site-footer small{display:block;margin-top:20px;opacity:.65}

/* ---------- botões ---------- */
.cta{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;font-weight:800;text-decoration:none;border:2px solid transparent;cursor:pointer}
.cta.yellow{background:var(--paint);color:#16221C}
.cta.yellow:hover{filter:brightness(1.05)}
.cta.ghost{border-color:currentColor}
.cta.ghost:hover{background:rgba(255,255,255,.1)}
.cta.green{background:var(--sign);color:var(--sign-ink)}

/* ---------- home ---------- */
.hero{background:var(--sign);color:var(--sign-ink);padding:56px 0 72px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:22px;height:6px;
  background:repeating-linear-gradient(90deg,var(--sign-ink) 0 46px,transparent 46px 80px);opacity:.85}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.kicker{margin:0 0 10px;font-weight:800;font-size:.95rem;opacity:.9}
.hero-logo{width:clamp(110px,14vw,150px);height:auto;display:block;margin:0 0 20px}
.hero h1{margin:0;font-size:clamp(2.6rem,7vw,5rem);line-height:.95;font-weight:900;letter-spacing:-.02em}
.hero p.lead{font-size:1.2rem;max-width:44ch;margin:18px 0 26px;opacity:.95}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.live-card{display:block;text-decoration:none;background:var(--sign-2);border-radius:14px;padding:22px 24px;
  box-shadow:inset 0 0 0 4px var(--sign-2),inset 0 0 0 6px var(--sign-ink),0 18px 40px rgba(0,0,0,.25);transition:transform .15s}
.live-card:hover{transform:translateY(-2px)}
.live-card .lc-status{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;opacity:.95}
.live-card .lc-status .dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.5)}
.live-card.is-live .lc-status .dot{background:#FF4B3E;box-shadow:0 0 0 4px rgba(255,75,62,.25)}
.live-card .lc-k{margin:16px 0 0;font-size:.9rem;font-weight:600;opacity:.9}
.live-card .lc-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.live-card .lc-dest{margin:0;font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:900;line-height:1.05;overflow-wrap:anywhere}
.live-card .lc-km{margin:0;font-size:1.5rem;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.live-card .lc-where{margin:12px 0 0;opacity:.92}
.live-card .lc-go{margin:18px 0 0;font-weight:800;color:var(--paint)}
.cta.ghost{color:var(--sign-ink)}

.section{padding:64px 0 0}
.section h2{font-size:clamp(1.6rem,3.2vw,2.2rem);line-height:1.1;font-weight:900;margin:0 0 8px;letter-spacing:-.01em}
.section .sub{color:var(--muted);margin:0 0 28px;max-width:60ch}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.card{position:relative;display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;text-decoration:none;transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--sign);transform:translateY(-2px)}
.card .ico{font-size:1.7rem;line-height:1}
.card h3{margin:8px 0 0;font-size:1.2rem;font-weight:800}
.card p{margin:0;color:var(--muted);font-size:.97rem}
.badge{align-self:flex-start;margin-top:10px;font-size:.75rem;font-weight:800;padding:3px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.badge.on{background:var(--sign);color:var(--sign-ink);border-color:var(--sign)}

.partners{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:32px;display:grid;grid-template-columns:1fr 1.2fr;gap:32px;align-items:center}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.slot{aspect-ratio:3/2;border:2px dashed var(--line);border-radius:12px;display:grid;place-items:center;text-align:center;color:var(--muted);font-weight:700;font-size:.9rem;padding:8px}

/* ---------- páginas simples ---------- */
.page-head{background:var(--sign);color:var(--sign-ink);padding:48px 0 52px}
.page-head h1{margin:0;font-size:clamp(2rem,5vw,3.2rem);font-weight:900;line-height:1;letter-spacing:-.01em}
.page-head p{margin:12px 0 0;font-size:1.15rem;max-width:52ch;opacity:.95}
.soon{margin-top:40px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:32px;max-width:720px}
.soon h2{margin:0 0 8px;font-size:1.4rem;font-weight:900}
.soon p{margin:0 0 18px;color:var(--muted)}

@media (max-width:820px){
  .hero{padding:36px 0 64px}
  .hero-grid{grid-template-columns:1fr;gap:32px}
  .partners{grid-template-columns:1fr;padding:24px}
}
@media (max-width:480px){.slots{grid-template-columns:repeat(2,1fr)}}

/* ---------- sobre nós ---------- */
.intro{max-width:62ch;font-size:1.15rem;margin:44px 0 0}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.person{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.person .ph{position:relative;aspect-ratio:4/5;background:var(--sand)}
.person img{width:100%;height:100%;object-fit:cover;display:block}
.person .place{position:absolute;left:12px;bottom:12px;background:rgba(22,20,18,.78);color:#F4EBD8;font-size:.78rem;font-weight:700;padding:4px 9px;border-radius:999px}
.person figcaption{padding:20px 22px 24px}
.person .role{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.person h3{margin:4px 0 8px;font-size:1.6rem;font-weight:900;line-height:1}
.person p{margin:0;color:var(--ink)}
.about-cta{margin-top:48px;background:var(--sign);color:var(--sign-ink);border-radius:18px;padding:28px 32px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between;
  box-shadow:inset 0 0 0 5px var(--sign),inset 0 0 0 7px var(--sign-ink)}
.about-cta p{margin:0;font-size:1.2rem;font-weight:800;max-width:40ch}
@media (max-width:860px){.team{grid-template-columns:1fr;max-width:480px;margin-inline:auto}}

/* cores do cartão ao vivo (iguais às da placa) */
.live-card[data-color="green"]{--sc:#0B6B43;--sc-ink:#FFFFFF}
.live-card[data-color="brown"]{--sc:#5C3A1E;--sc-ink:#F4EBD8}
.live-card[data-color="yellow"]{--sc:#F5C518;--sc-ink:#161412}
.live-card[data-color="red"]{--sc:#B3261E;--sc-ink:#FFFFFF}
.live-card[data-color]:not([data-color="black"]){background:var(--sc);color:var(--sc-ink);box-shadow:inset 0 0 0 4px var(--sc),inset 0 0 0 6px var(--sc-ink),0 18px 40px rgba(0,0,0,.25)}
.live-card[data-color="yellow"] .lc-go{color:#161412;text-decoration:underline}
.live-card[data-color="green"] .lc-go,.live-card[data-color="red"] .lc-go,.live-card[data-color="brown"] .lc-go{color:#FFE7A3}

.site-footer .social{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px}
.cta.outline{border-color:var(--ink);color:var(--ink);background:transparent}
.cta.outline:hover{background:var(--surface-2)}
.partners .ctas2{display:flex;flex-wrap:wrap;gap:10px}
