/* Nunito Sans (variável, pesos 300 a 900) servida pelo próprio site: nada é carregado do Google ao abrir a página. */
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:300 900;font-display:swap;src:url(assets/fonts/nunito-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:300 900;font-display:swap;src:url(assets/fonts/nunito-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--black:#070707;--lead:#33373c;--lead-dark:#24272b;--lead-panel:#40454b;--lead-grad:linear-gradient(135deg,#4a4f55 0%,#33373c 45%,#24272b 100%);--coal:#111;--gold:#c93;--gold-soft:#e1b85e;--white:#fff;--paper:#fafafa;--muted:#686868;--line:#ddd;--soft:#f1f1f1}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--black);margin:0;font:16px Nunito Sans,Arial,sans-serif}
button,input,select,textarea{font:inherit}
a{color:inherit}
.section{width:min(1160px,100% - 48px);margin:auto}
header{z-index:10;color:#fff;background:#1c1f22;border-bottom:1px solid #cc993359;align-items:center;gap:42px;height:84px;padding:0 max(24px,50vw - 580px);display:flex;position:sticky;top:0}
.brand{text-decoration:none;display:block}
.logo{object-fit:contain;width:190px;height:auto;display:block}
header nav{gap:27px;margin-left:auto;display:flex}
header nav a{color:#c9c9c9;font-size:13px;font-weight:500;text-decoration:none}
header nav a:hover{color:var(--gold)}
.headerCta,.primary{background:var(--gold);border:1px solid var(--gold);color:#080808;letter-spacing:.02em;justify-content:center;align-items:center;min-height:48px;padding:13px 20px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex;border-radius:10px}
.headerCta:hover,.primary:hover{background:var(--gold-soft)}
.hero{color:#fff;background:var(--lead-grad);grid-template-columns:1.33fr .67fr;align-items:center;gap:72px;min-height:675px;padding:105px max(24px,50vw - 580px);display:grid;position:relative;overflow:hidden}
.hero:after{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 34px,#cc993314 35px 36px);width:55vw;height:140%;position:absolute;top:-20%;right:-12vw;transform:skew(-12deg)}
.heroCopy,.heroPanel{z-index:1;position:relative}
.eyebrow{color:var(--gold);letter-spacing:.19em;margin:0 0 18px;font-size:11px;font-weight:900}
.hero h1{letter-spacing:-.045em;max-width:850px;margin:0;font-size:clamp(48px,5.6vw,76px);font-weight:900;line-height:1.01}
.hero h1 em{color:var(--gold);font-style:normal}
.heroCopy>p:not(.eyebrow){color:#d2d2d2;max-width:740px;margin:29px 0 0;font-size:17px;font-weight:300;line-height:1.75}
.heroActions{align-items:center;gap:25px;margin-top:38px;display:flex}
.textLink{color:#ddd;font-size:13px;text-decoration:none}
.heroPanel{border-left:3px solid var(--gold);background:#ffffff0b;padding:30px 28px}
.heroPanel span{color:var(--gold);letter-spacing:.16em;margin-bottom:20px;font-size:10px;font-weight:900;display:block}
.servedList{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.servedList li{border:1px solid #ffffff38;border-radius:99px;padding:6px 12px;font-size:14px;font-weight:800;line-height:1.25;background:#ffffff08}
.heroPanel p{color:#aaa;margin:20px 0 0;font-size:12px;line-height:1.6}
.intro{grid-template-columns:.9fr 1.1fr;gap:100px;padding-block:105px;display:grid}
.sectionHeading h2,.loi h2,.requestIntro h2{color:var(--black);letter-spacing:-.04em;margin:0;font-size:clamp(35px,4vw,54px);font-weight:900;line-height:1.08}
.sectionHeading>p:not(.eyebrow),.loi>div>p:not(.eyebrow),.requestIntro>p:not(.eyebrow){color:var(--muted);line-height:1.7}
.introText{border-top:4px solid var(--gold);padding-top:4px}
.introText p{color:#3d3d3d;margin:22px 0 0;font-size:16px;font-weight:300;line-height:1.85}
.capabilities{background:var(--lead-grad);color:#fff;padding-block:105px}
.capabilitiesInner{grid-template-columns:.8fr 1.2fr;gap:90px;display:grid}
.light h2{color:#fff}
.light>p:not(.eyebrow){color:#aaa}
.capabilityGrid{border-top:1px solid #ffffff2e;border-left:1px solid #ffffff2e;grid-template-columns:1fr 1fr;display:grid}
.capabilityGrid article{border-bottom:1px solid #ffffff2e;border-right:1px solid #ffffff2e;background:#ffffff08;padding:33px}
.capabilityGrid b{color:var(--gold);font-size:12px}
.capabilityGrid h3{margin:16px 0 10px;font-size:18px;font-weight:800}
.capabilityGrid p{color:#c9cdd2;margin:0;font-size:13px;font-weight:400;line-height:1.65}
.path{padding-block:105px}
.markets{padding-bottom:105px}
.marketList{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:45px;display:grid}
.marketList article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:235px;padding:34px;position:relative}
.marketList article:before{content:"";background:var(--gold);width:58px;height:4px;position:absolute;top:0;left:0}
.marketList span{color:#946a16;letter-spacing:.15em;font-size:10px;font-weight:900}
.marketList h3{margin:38px 0 12px;font-size:29px;font-weight:900}
.marketList p{color:var(--muted);font-size:13px;line-height:1.65}
.how{background:var(--soft);padding-block:100px}
.howInner{grid-template-columns:1fr 1fr;gap:90px;display:grid}
.how ol{margin:0;padding:0;list-style:none}
.how li{border-bottom:1px solid #ccc;gap:20px;padding:20px 0;display:flex}
.how li>b{background:var(--gold);color:#000;flex:0 0 37px;place-items:center;height:37px;font-size:12px;font-weight:900;display:grid}
.how li span{color:var(--muted);gap:6px;font-size:13px;line-height:1.5;display:grid}
.how li strong{color:var(--black);font-size:16px;font-weight:800}
.loi{grid-template-columns:1fr 1fr;gap:90px;padding-block:100px;display:grid}
.loi ul{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0;margin:0;padding:0;list-style:none;display:grid}
.loi li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px;font-size:13px;font-weight:800;line-height:1.5}
.request{background:var(--lead-grad);color:#fff;padding:100px max(24px,50vw - 580px)}
.requestIntro{grid-template-columns:1fr 1fr;gap:20px 90px;max-width:1160px;margin:0 auto 52px;display:grid}
.requestIntro h2{color:#fff}
.requestIntro>p:not(.eyebrow){color:#aaa}
.requestIntro aside{border-left:3px solid var(--gold);background:var(--lead-panel);grid-area:1/2/4;align-self:start;gap:10px;padding:25px;display:grid}
.requestIntro aside span{color:#bbb;font-size:13px;line-height:1.55}
.requestIntro aside small{color:var(--gold)}
.work{max-width:1060px;margin:auto}
.progress{grid-template-columns:repeat(4,1fr);margin-bottom:38px;display:grid}
.progress div{color:#777;align-items:center;gap:9px;font-size:12px;font-weight:700;display:flex;position:relative}
.progress div:after{content:"";background:#5a6068;height:1px;position:absolute;bottom:-11px;left:32px;right:12px}
.progress div:last-child:after{display:none}
.progress b{border:1px solid #555;place-items:center;width:25px;height:25px;font-size:11px;display:grid}
.progress .on{color:#fff}
.progress .on b{background:var(--gold);border-color:var(--gold);color:#000}
.progress .on:after{background:var(--gold)}
.card{color:#151515;background:#fff;border:1px solid #333;padding:42px 46px;box-shadow:0 18px 55px #00000052}
.title{border-bottom:1px solid var(--line);gap:20px;margin-bottom:34px;padding-bottom:25px;display:flex}
.title>span{color:#966d1d;font-size:13px;font-weight:900}
.title h2,.success h2{color:#090909;margin:0 0 8px;font-size:29px;font-weight:900}
.title p{color:var(--muted);margin:0;line-height:1.55}
.grid{grid-template-columns:1fr 1fr;gap:22px 20px;display:grid}
.field{color:#2a2a2a;gap:9px;font-size:14px;font-weight:800;display:grid}
.field.wide{grid-column:1/-1}
input,select,textarea{color:#111;background:#fff;border:1px solid #bbb;outline:none;width:100%;min-height:50px;padding:12px 14px}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #cc993329}
select:disabled{background:#eee}
.phoneInput{gap:8px;display:flex}
.phoneInput select{flex:0 0 46%;min-width:0;text-overflow:ellipsis}
.phoneInput input{flex:1;min-width:0}
.notice{gap:15px;margin-top:26px;padding:20px 22px;display:flex}
.notice i{flex:0 0 30px;place-items:center;height:30px;font-style:normal;font-weight:900;display:grid}
.notice p{margin:6px 0 0;font-size:14px;line-height:1.55}
.notice.ok{color:#57400f;border-left:3px solid var(--gold);background:#f3ead6}
.notice.ok i{background:var(--gold);color:#000}
.notice.no{color:#71382f;background:#f5e9e6;border-left:3px solid #a65042}
.notice.no i{border:1px solid #a65042}
.actions{justify-content:flex-end;margin-top:30px;display:flex}
.actions.split{border-top:1px solid var(--line);justify-content:space-between;padding-top:28px}
button{background:var(--gold);color:#000;cursor:pointer;border:0;padding:15px 22px;font-weight:900;border-radius:10px}
button:hover{background:var(--gold-soft)}
.back{color:#111;background:0 0;border:1px solid #999}
.demo{text-align:center;color:#888;margin:24px 0 0;font-size:12px}
.upload{background:#f3f3f3;border:1px dashed #999;align-items:center;gap:22px;padding:28px;display:flex}
.upload>b{width:64px;height:76px;color:var(--gold);background:var(--lead);place-items:center;display:grid}
.upload p{color:var(--muted);margin:6px 0 14px;font-size:13px}
.upload input{height:auto;padding:10px}
details{border-block:1px solid var(--line);margin:22px 0;padding:18px 0}
summary{cursor:pointer;font-weight:900}
.checks{gap:14px;display:grid}
.checks label{gap:11px;font-size:13px;line-height:1.5;display:flex}
.checks input{width:18px;min-height:18px;accent-color:var(--gold)}
.destination{background:#eee;justify-content:space-between;margin-top:25px;padding:16px;font-size:13px;display:flex}
.destination strong{color:#73500c}
.success{text-align:center;padding:62px max(25px,10%)}
.success>i{background:var(--gold);color:#000;place-items:center;width:62px;height:62px;margin:0 auto 25px;font-size:26px;font-style:normal;display:grid}
.success>p:not(.eyebrow){color:var(--muted);line-height:1.65}
.success>div{background:#eee;justify-content:space-between;max-width:490px;margin:28px auto;padding:17px 20px;font-size:13px;display:flex}
.success button{margin-top:8px}
.legal{color:var(--muted);gap:28px;padding-block:45px;font-size:12px;line-height:1.6;display:flex}
.legal strong{color:#111}
.legal p{margin:0}
footer{color:#aaa;background:var(--lead-dark);justify-content:space-between;align-items:center;min-height:110px;padding:25px max(24px,50vw - 580px);font-size:12px;display:flex}
footer a{color:var(--gold);text-decoration:none}
@media (width<=900px){
  header nav{display:none}
  .headerCta{margin-left:auto}
  .hero,.intro,.capabilitiesInner,.howInner,.loi{grid-template-columns:1fr;gap:50px}
  .hero{min-height:auto}
  .marketList{grid-template-columns:1fr}
  .marketList article{min-height:auto}
  .requestIntro{grid-template-columns:1fr}
  .requestIntro aside{grid-area:auto}
  .capabilityGrid{margin-top:10px}
}

@media (width<=650px){
  .section{width:min(100% - 32px,1160px)}
  header{height:72px}
  .logo{width:155px}
  .headerCta{padding:10px;font-size:10px}
  .hero{padding-top:70px;padding-bottom:75px}
  .hero h1{font-size:42px}
  .heroActions{flex-direction:column;align-items:stretch}
  .primary{min-height:50px}
  .intro,.path,.loi,.capabilities,.how{padding-block:75px}
  .capabilityGrid,.loi ul{grid-template-columns:1fr}
  .request{padding-block:75px}
  .requestIntro{margin-bottom:40px}
  .progress span{display:none}
  .card{padding:28px 20px}
  .grid{grid-template-columns:1fr}
  .field.wide{grid-column:auto}
  .destination,.success>div{gap:8px;display:grid}
  .actions.split{gap:10px}
  .actions.split button{padding:13px}
  .title h2{font-size:25px}
  .legal,footer{gap:12px;display:grid}
}

/* ---------- Animações de carregamento ---------- */
body.motion-ready .heroCopy > *,
body.motion-ready .heroPanel > * { opacity: 0; animation: fadeUp .8s cubic-bezier(.22, 1, .36, 1) forwards; }
body.motion-ready .heroCopy > :nth-child(1) { animation-delay: .1s; }
body.motion-ready .heroCopy > :nth-child(2) { animation-delay: .22s; }
body.motion-ready .heroCopy > :nth-child(3) { animation-delay: .36s; }
body.motion-ready .heroCopy > :nth-child(4) { animation-delay: .5s; }
body.motion-ready .heroPanel { opacity: 0; animation: fadeLeft .9s cubic-bezier(.22, 1, .36, 1) .45s forwards; }
body.motion-ready .heroPanel > :nth-child(1) { animation-delay: .7s; }
body.motion-ready .heroPanel > :nth-child(2) { animation-delay: .8s; }
body.motion-ready .heroPanel > :nth-child(3) { animation-delay: .9s; }
body.motion-ready .heroPanel > :nth-child(4) { animation-delay: 1s; }
body.motion-ready .heroPanel > :nth-child(5) { animation-delay: 1.1s; }
body.motion-ready header { animation: fadeDown .6s ease both; }

body.motion-ready .reveal { opacity: 0; transform: translateY(30px); transition: opacity .8s cubic-bezier(.22, 1, .36, 1), transform .8s cubic-bezier(.22, 1, .36, 1); }
body.motion-ready .reveal.is-visible { opacity: 1; transform: none; }
body.motion-ready .reveal-group > * { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.22, 1, .36, 1), transform .7s cubic-bezier(.22, 1, .36, 1); }
body.motion-ready .reveal-group.is-visible > * { opacity: 1; transform: none; }
body.motion-ready .reveal-group.is-visible > :nth-child(2) { transition-delay: .08s; }
body.motion-ready .reveal-group.is-visible > :nth-child(3) { transition-delay: .16s; }
body.motion-ready .reveal-group.is-visible > :nth-child(4) { transition-delay: .24s; }
body.motion-ready .reveal-group.is-visible > :nth-child(5) { transition-delay: .32s; }
body.motion-ready .reveal-group.is-visible > :nth-child(6) { transition-delay: .4s; }

.stepEnter { animation: fadeUp .45s cubic-bezier(.22, 1, .36, 1) both; }
.notice { animation: fadeUp .35s ease both; }
button.loading { color: transparent; pointer-events: none; position: relative; }
button.loading::after { content: ""; border: 2px solid #0000002e; border-top-color: #000; border-radius: 50%; width: 17px; height: 17px; position: absolute; top: 50%; left: 50%; margin: -10px 0 0 -10px; animation: spin .7s linear infinite; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes fadeLeft { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: none; } }
@keyframes fadeDown { from { opacity: 0; transform: translateY(-100%); } to { opacity: 1; transform: none; } }
@keyframes spin { to { transform: rotate(360deg); } }

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

/* ---------- Envio do formulário ---------- */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.formError:empty { display: none; }
button:disabled { cursor: default; opacity: .6; }
button.loading:disabled { opacity: 1; }

/* ---------- Política de Privacidade ---------- */
.policy { max-width: 860px; padding-block: 80px 100px; line-height: 1.75; color: #2a2a2a; }
.policy h1 { letter-spacing: -.04em; margin: 0; font-size: clamp(36px, 4vw, 52px); font-weight: 900; line-height: 1.08; color: var(--black); }
.policy h2 { letter-spacing: -.02em; margin: 0 0 12px; font-size: 22px; font-weight: 900; color: var(--black); }
.policy section { border-top: 1px solid var(--line); margin-top: 40px; padding-top: 32px; scroll-margin-top: 100px; }
.policy ul { margin: 12px 0; padding-left: 20px; }
.policy li { margin-bottom: 8px; }
.policy a { color: #946a16; }
.policyLead { color: var(--muted); font-size: 17px; }
.policyUpdated { color: var(--muted); margin: 14px 0 26px; font-size: 13px; }
.policyDraft { background: #fff7d6; border-left: 3px solid var(--gold); margin: 0 0 40px; padding: 14px 18px; font-size: 14px; }
.todo { background: #ffe98a; color: #3d3000; padding: 1px 4px; }
.policyIndex { background: var(--soft); columns: 2; gap: 32px; margin: 32px 0 0; padding: 24px 28px; }
.policyIndex a { color: var(--black); display: block; padding: 4px 0; font-size: 14px; font-weight: 700; text-decoration: none; break-inside: avoid; }
.policyIndex a:hover { color: #946a16; }
.policyTable { border: 1px solid var(--line); margin: 16px 0; font-size: 14px; }
.policyTable > div { display: grid; grid-template-columns: 1.4fr 1fr; }
.policyTable > div + div { border-top: 1px solid var(--line); }
.policyTable span { padding: 14px 16px; }
.policyTable span + span { border-left: 1px solid var(--line); }
.policyTableHead { background: var(--lead); color: #fff; font-weight: 800; }
.policyBack { border-top: 1px solid var(--line); margin-top: 48px; padding-top: 28px; font-weight: 800; }
.checks a, footer nav a { color: inherit; }
.checks a { text-decoration: underline; }
footer nav { display: flex; gap: 22px; }
@media (width <= 650px) {
  .policy { padding-block: 56px 72px; }
  .policyIndex { columns: 1; padding: 20px; }
  .policyTable > div { grid-template-columns: 1fr; }
  .policyTable span + span { border-left: 0; border-top: 1px dashed var(--line); }
}

/* ---------- Caminho do ouro (infográfico em HTML) ---------- */
.goldPath { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; margin-top: 52px; }
.pathPhase { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold); padding: 26px 26px 10px; position: relative; }
.pathPhase:not(:last-child)::after { content: "→"; color: var(--gold); background: var(--white); border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; width: 34px; height: 34px; position: absolute; top: 22px; right: -34px; transform: translateX(50%); z-index: 1; font-weight: 900; }
.pathHead { margin-bottom: 18px; }
.pathHead span { color: #946a16; letter-spacing: .16em; text-transform: uppercase; font-size: 10px; font-weight: 900; }
.pathPhase h3 { margin: 4px 0 0; font-size: 24px; font-weight: 900; letter-spacing: -.02em; }
.pathPhase ol { margin: 0; padding: 0; list-style: none; }
.pathPhase ol > li { display: flex; gap: 16px; padding: 16px 0 22px; position: relative; }
.pathPhase ol > li:not(:last-child)::before { content: ""; border-left: 1px dashed var(--gold); position: absolute; top: 62px; bottom: -2px; left: 21px; }
.pathIcon { background: var(--black); border: 2px solid var(--gold); border-radius: 50%; color: var(--gold); display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; }
.pathIcon svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; width: 22px; height: 22px; }
.pathPhase b { color: var(--gold); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.pathPhase strong { display: block; margin: 2px 0 6px; font-size: 17px; font-weight: 900; }
.pathPhase p { color: var(--muted); margin: 0; font-size: 13px; line-height: 1.6; }
.pathRoutes { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.pathRoutes li { border: 1px solid var(--line); border-radius: 999px; color: var(--muted); padding: 4px 10px; font-size: 11px; font-weight: 800; }
.pathRoutes li.on { background: var(--gold); border-color: var(--gold); color: #080808; }
@media (width <= 900px) {
  .goldPath { grid-template-columns: 1fr; gap: 40px; max-width: 560px; margin-inline: auto; }
  .pathPhase:not(:last-child)::after { content: "↓"; top: auto; bottom: -40px; right: 50%; transform: translate(50%, 0); }
}
@media (width <= 650px) {
  .goldPath { margin-top: 36px; }
  .pathPhase { padding: 22px 18px 6px; }
}

/* ---------- Ajustes de celular e tablet (revisão de 01/10) ---------- */
.checks input { flex: 0 0 18px; }
@media (650px < width <= 900px) {
  .marketList { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .marketList article { padding: 26px 22px; }
  .marketList h3 { font-size: 24px; }
}
@media (width <= 650px) {
  input, select, textarea { font-size: 16px; }
  .headerCta { font-size: 11px; white-space: nowrap; }
  .textLink { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
  footer nav { flex-wrap: wrap; gap: 4px 22px; }
  footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .heroPanel span, .marketList span, .pathHead span { font-size: 11px; }
  .pathRoutes li { font-size: 12px; }
  .checks label { padding: 4px 0; }
  .actions.split { flex-direction: column-reverse; align-items: stretch; }
  .actions.split button { width: 100%; }
  .upload { flex-direction: column; align-items: stretch; text-align: left; }
  .upload > b { width: 100%; height: 44px; }
  .upload input { width: 100%; }
}
@media (width <= 390px) {
  .logo { width: 132px; }
  .headerCta { padding: 10px 12px; }
  .hero h1 { font-size: clamp(32px, 10.5vw, 42px); }
}

/* ---------- Acessibilidade (contraste, foco e leitores de tela) ---------- */
/* Dourado escuro em fundos claros (5,1:1); o dourado original continua nas seções pretas (7,8:1). */
.eyebrow { color: #8f6618; }
.hero .eyebrow, .capabilities .eyebrow, .requestIntro .eyebrow { color: var(--gold); }
.pathPhase b { color: #8f6618; }
.demo { color: #6f6f6f; }
.progress div { color: #8f8f8f; }

:focus-visible { outline: 3px solid #8f6618; outline-offset: 3px; }
header :focus-visible, .hero :focus-visible, .capabilities :focus-visible, .request :focus-visible, footer :focus-visible { outline-color: var(--gold); }
.request .card :focus-visible { outline-color: #8f6618; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline-offset: 1px; }
.card h2:focus { outline: none; }

.srOnly { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.progress span em { font-style: normal; }
.skipLink { position: absolute; top: -80px; left: 16px; z-index: 100; background: var(--gold); color: #080808; border-radius: 10px; padding: 12px 18px; font-weight: 900; text-decoration: none; }
.skipLink:focus { top: 12px; }

@media (width <= 650px) {
  /* No celular os nomes das etapas ficam ocultos na tela, mas continuam disponíveis para leitores de tela. */
  .progress span { display: block; position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
}

/* ---------- Rodapé: identificação da empresa ---------- */
footer p { margin: 0; line-height: 1.6; }
footer .legalId { display: block; color: #8f8f8f; font-variant-numeric: tabular-nums; }

/* Mercados atendidos: a grade acompanha a quantidade de países liberados no painel (revisão de 06/10). */
@media (width > 650px) {
  .marketList[data-count="1"] { grid-template-columns: minmax(0, 1fr); }
  .marketList[data-count="2"], .marketList[data-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Aviso para quem está com o JavaScript desligado (o formulário é montado por script). */
.noscriptNotice { margin: 0; padding: 28px; background: #fff; border: 1px solid var(--line); color: var(--black); line-height: 1.6; }
.noscriptNotice a { color: #946a16; font-weight: 800; }

/* Seletor de idioma PT | EN no cabeçalho (versão em inglês em /en/). Fica visível também no celular. */
.langSwitch { display: flex; align-items: center; gap: 2px; font-size: 12px; font-weight: 800; letter-spacing: .06em; }
.langSwitch a { color: #9a9a9a; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; border-radius: 6px; }
.langSwitch a:hover { color: var(--gold); }
.langSwitch a[aria-current="page"] { color: var(--gold); }
.langSwitch::before { content: ""; order: 1; width: 1px; height: 14px; background: #5a6068; }
.langSwitch a:last-child { order: 2; }
@media (width <= 900px) {
  header { gap: 16px; }
  .langSwitch { margin-left: auto; }
  .langSwitch + .headerCta { margin-left: 0; }
}
/* Celulares estreitos: logo, seletor e botão cabem na largura sem encostar na borda. */
@media (width <= 420px) {
  header { gap: 8px; padding-inline: 16px; }
  .logo { width: 112px; }
  .langSwitch a { min-width: 26px; }
}
