/* canais */
.chan{padding-block:80px 0}
.changrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
/* min-width:0 anula o min-width:auto que o Grid da ao item. Sem isso o card
   nao encolhe abaixo da palavra mais longa que tem dentro (o e-mail), e no
   celular ele estoura a tela e cria rolagem horizontal. */
.ch{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--sh-1);transition:transform .35s var(--e),box-shadow .35s var(--e)}
.ch:hover{transform:translateY(-5px);box-shadow:var(--sh-3)}
.ch b{display:block;color:var(--g);font-size:16.5px;letter-spacing:-.02em;margin-bottom:10px}
/* overflow-wrap deixa o e-mail longo quebrar em vez de empurrar o card. */
.ch a,.ch span{display:block;overflow-wrap:anywhere;color:var(--ink);font-size:15px;font-weight:600;text-decoration:none;margin-bottom:4px;transition:color .3s var(--e)}
.ch a:hover{color:var(--g-mid)}
.ch small{display:block;color:var(--muted);font-size:13.5px;font-weight:400;margin-top:8px;line-height:1.5}
@media(max-width:900px){.changrid{grid-template-columns:1fr;gap:14px}}

/* formulario + mapa */
.main{padding-block:80px}
.mrow{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:start}

.mapcard{border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--sh-3);background:var(--surface)}
.mapframe{position:relative;aspect-ratio:4/3;background:var(--bg-2)}
.mapframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;z-index:2}
.mapfb{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:30px;background:var(--bg-2)}
.mapfb svg{width:34px;height:34px;color:var(--g-mid)}
.mapfb b{font-size:15px;color:var(--g);letter-spacing:-.02em}
.mapfb span{font-size:13.5px;color:var(--muted);max-width:34ch;line-height:1.5}
.mapfoot{padding:26px 28px}
.mapfoot .o{font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--g-mid);font-weight:700;display:block;margin-bottom:6px}
.mapfoot b{display:block;font-size:17px;color:var(--ink);letter-spacing:-.02em;margin-bottom:3px}
.mapfoot span{color:var(--muted);font-size:14px;display:block}
.maplink{margin-top:16px;display:inline-flex;align-items:center;gap:8px;color:var(--g-mid);font-weight:700;font-size:14px;text-decoration:none}
.maplink svg{width:16px;height:16px;transition:transform .3s var(--e)}
.maplink:hover svg{transform:translateX(4px)}
.hours{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:11px;align-items:flex-start}
.hours svg{width:18px;height:18px;color:var(--g-mid);flex:none;margin-top:2px}
.hours b{display:block;font-size:14px;color:var(--ink);margin-bottom:2px}
.hours span{color:var(--muted);font-size:13.5px;display:block;line-height:1.5}
@media(max-width:980px){.mrow{grid-template-columns:1fr;gap:26px}}

/* curriculo */
.vagas{position:relative;color:#fff;overflow:hidden;padding-block:104px;background:#0E3A20}
.vagas .sc{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,38,20,.94),rgba(9,38,20,.97))}
.vrow{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.vagas .lede{color:#F6C766}
.vagas h2{color:#fff;margin:12px 0 16px}
.vagas .intro{color:#CFE0D4;font-size:1.06rem;max-width:48ch;line-height:1.6;margin:0 0 24px}
.vlist{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.vlist li{display:flex;gap:11px;align-items:flex-start;color:#CFE0D4;font-size:14.5px;line-height:1.5}
.vlist svg{width:18px;height:18px;color:var(--gold);flex:none;margin-top:2px;stroke-width:2}
.vcard{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:38px;backdrop-filter:blur(6px)}
.vcard h3{margin:0 0 22px;font-size:1.25rem;color:#fff;letter-spacing:-.02em;font-weight:800}
.vcard label{color:#EAF3EC}
.vcard input,.vcard select,.vcard textarea{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.vcard input::placeholder,.vcard textarea::placeholder{color:#8FAF98}
.vcard input:focus,.vcard select:focus,.vcard textarea:focus{background:rgba(255,255,255,.13);border-color:var(--gold);box-shadow:0 0 0 3px rgba(238,164,28,.2)}
.vcard select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%238FAF98' stroke-width='2' stroke-linecap='round'><path d='M6 8l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 12px center}
.vcard .consent span{color:#B9CDBF}
.vcard textarea{min-height:90px}
.drop{border:1.5px dashed rgba(255,255,255,.3);border-radius:14px;padding:26px;text-align:center;transition:border-color .3s var(--e),background .3s var(--e);cursor:pointer;display:block}
.drop:hover{border-color:var(--gold);background:rgba(238,164,28,.07)}
.drop svg{width:26px;height:26px;color:var(--gold);margin-bottom:10px}
.drop b{display:block;color:#fff;font-size:15px;margin-bottom:4px;font-weight:700}
.drop span{display:block;color:#8FAF98;font-size:13px}
.drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
@media(max-width:980px){.vrow{grid-template-columns:1fr;gap:32px}.vcard{padding:28px}}
@media(max-width:760px){.chan{padding-block:56px 0}.main,.vagas{padding-block:56px}}
