/* =====================================================================
   INSTITUTO WALLACE — Formulários, pré-inscrição e contratos on-line
   (adaptado do motor de contratos da ABFF; tokens mapeados para o
   design system navy + gold do Instituto Wallace)
   ===================================================================== */
:root{
  --aco-600:#2a4a78; --aco-700:#1b3864; --aco-800:#14305a; --aco-900:var(--navy);
  --branco:#fff; --dourado:var(--gold); --dourado-claro:var(--gold-2); --dourado-escuro:var(--gold-deep);
  --fonte-titulo:'Playfair Display',Georgia,serif; --linha:var(--line); --marfim:#faf8f3; --marfim-2:#f1eee6;
  --raio:16px; --sombra-card:var(--shadow-sm); --sombra-forte:var(--shadow); --tinta:var(--ink); --tinta-suave:var(--muted); --verde:#2e7d52;
}
.btn-ouro{background:linear-gradient(120deg,var(--gold),var(--gold-deep));color:#20160a;box-shadow:0 12px 30px -14px rgba(168,134,47,.7)}
.btn-ouro:hover{transform:translateY(-2px);filter:brightness(1.05)}
.btn-linha{background:#fff;border-color:var(--line);color:var(--navy)}
.btn-linha:hover{border-color:var(--navy)}
.sec-head{max-width:44em;margin:0 auto 2rem;text-align:center}
.sec-head h2{margin:12px 0 10px}
.sec-head p{color:var(--muted)}
.rf-hero .chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.3rem}
.rf-hero .chip{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:.42rem .9rem;border-radius:999px;font-size:.82rem;font-weight:600;color:#fff}
.rf-hero .chip.ouro{background:rgba(200,162,74,.18);border-color:rgba(216,185,104,.45);color:var(--gold-2)}
.rf-hero h1{font-size:clamp(2rem,4.4vw,3.1rem);color:#fff;line-height:1.1;margin:12px 0 12px}
.rf-hero .sub{color:#c8d3e3;max-width:46em}
.lang-sw{display:inline-flex;border:1px solid var(--line);border-radius:100px;overflow:hidden;background:#fff}
.lang-sw a,.lang-sw button{padding:5px 12px;font-weight:700;font-size:.78rem;color:var(--navy);border:0;background:none;cursor:pointer;font-family:inherit}
.lang-sw .on{background:var(--navy);color:#fff}
.top .wa .lang-sw a{border:0;border-radius:0;padding:5px 12px;background:none}
.top .wa .lang-sw a.on{background:var(--navy);color:#fff}
.campo textarea{min-height:110px;resize:vertical}
.radios{display:flex;flex-wrap:wrap;gap:.5rem}
.radios label{display:flex;gap:.45rem;align-items:center;border:1px solid var(--line);border-radius:100px;padding:.45rem .9rem;background:var(--marfim);font-size:.88rem;font-weight:600;color:var(--ink);cursor:pointer}
.radios label:has(input:checked){border-color:var(--gold);background:rgba(200,162,74,.14)}
.radios input{accent-color:var(--navy)}
.contador{font-size:.75rem;color:var(--muted);text-align:right}
.pay-taxa{margin-top:1rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:12px;padding:1rem 1.1rem}
.pay-taxa b{display:block;font-size:1.05rem}
.pay-taxa .btn{margin-top:.7rem}
/* Contrato bilíngue: cada bloco em duas colunas (PT | EN) */
.contrato-doc .bi{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem;border-bottom:1px dotted #ddd;padding:.15rem 0}
.contrato-doc .bi > div{min-width:0}
.contrato-doc .bi > div:last-child{color:#2c3646;font-style:normal;border-left:1px solid #e5e5e5;padding-left:1.2rem}
.contrato-doc .bi-cab{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#777;border-bottom:1.5px solid #999;padding-bottom:.25rem;margin-bottom:.4rem}
.contrato-doc .bi-cab span:last-child{padding-left:1.2rem}
.contrato-doc .bi h4{text-align:left}
@media (max-width:760px){ .contrato-doc .bi,.contrato-doc .bi-cab{grid-template-columns:1fr} .contrato-doc .bi > div:last-child{border-left:0;padding-left:0;border-top:1px dashed #e0e0e0;margin-top:.2rem;padding-top:.2rem} .contrato-doc .bi-cab span:last-child{padding-left:0} }
@media print{ #print-area .bi{grid-template-columns:1fr 1fr !important;page-break-inside:avoid} #print-area .bi > div:last-child{border-left:1px solid #e5e5e5 !important;padding-left:1.2rem !important;border-top:0 !important} #print-area .bi-cab{grid-template-columns:1fr 1fr !important} }
/* Aviso flutuante: versão em inglês */
.en-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:520px;margin:0 auto;background:var(--navy);color:#fff;border-radius:14px;padding:.8rem 1rem;display:flex;gap:.8rem;align-items:center;box-shadow:var(--shadow);font-size:.9rem}
.en-banner a{color:var(--gold-2);font-weight:700;text-decoration:underline}
.en-banner button{margin-left:auto;background:none;border:0;color:#fff;font-size:1.1rem;cursor:pointer}
.btn svg{width:18px;height:18px;flex-shrink:0}
.ct-hero .chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.3rem}
.ct-hero .chip{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:.42rem .9rem;border-radius:999px;font-size:.82rem;font-weight:600;color:#fff}
.ct-hero .chip.ouro{background:rgba(201,162,39,.18);border-color:rgba(227,199,102,.45);color:var(--dourado-claro)}
.ct-hero .chip svg{width:15px;height:15px}
.ct-hero .nivel{display:inline-block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--dourado-claro);margin-bottom:.6rem}

/* Passos */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:p}
.passo{background:#fff;border:1px solid var(--linha);border-radius:14px;padding:1.2rem 1.2rem 1.3rem;box-shadow:var(--sombra-card);position:relative}
.passo::before{counter-increment:p;content:counter(p);width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(150deg,var(--aco-700),var(--aco-900));color:var(--dourado-claro);font-weight:800;font-size:.95rem;margin-bottom:.7rem}
.passo h3{font-size:1.08rem;color:var(--aco-900);margin-bottom:.35rem}
.passo p{font-size:.9rem;color:var(--tinta-suave)}
.maos{margin-top:1.4rem;background:#fff;border:1px dashed rgba(21,40,47,.25);border-radius:14px;padding:1rem 1.2rem;font-size:.92rem;color:var(--tinta-suave)}
.maos b{color:var(--aco-900)}

/* Investimento */
.inv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;max-width:980px;margin-inline:auto}
.inv{background:#fff;border:1px solid var(--linha);border-radius:16px;padding:1.4rem 1.4rem 1.5rem;box-shadow:var(--sombra-card);text-align:center}
.inv.dest{border-color:var(--dourado);background:linear-gradient(180deg,rgba(201,162,39,.12),#fff 55%)}
.inv .rot{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--dourado-escuro)}
.inv .val{font-family:var(--fonte-titulo);font-size:2rem;color:var(--aco-900);margin:.35rem 0 .2rem;line-height:1.1}
.inv .val small{font-size:1rem;color:var(--tinta-suave)}
.inv p{font-size:.86rem;color:var(--tinta-suave)}
.inv s{color:var(--tinta-suave)}
.aviso-cond{max-width:980px;margin:1.4rem auto 0;display:flex;gap:1rem;align-items:flex-start;background:var(--aco-900);color:#fff;border-radius:14px;padding:1.1rem 1.3rem}
.aviso-cond svg{width:26px;height:26px;flex-shrink:0;color:var(--dourado-claro);margin-top:2px}
.aviso-cond p{color:rgba(255,255,255,.86);font-size:.93rem}
.aviso-cond b{color:var(--dourado-claro)}

/* Formulário */
.form-cred{max-width:980px;margin-inline:auto;background:#fff;border:1px solid var(--linha);border-radius:var(--raio);box-shadow:var(--sombra-card);padding:clamp(1.2rem,4vw,2.4rem)}
.form-cred fieldset{border:none;padding:0;margin:0 0 2rem;min-width:0}
.form-cred legend{font-family:var(--fonte-titulo);font-size:1.25rem;color:var(--aco-900);margin-bottom:.35rem;display:flex;align-items:center;gap:.6rem}
.form-cred legend .num{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(150deg,var(--aco-700),var(--aco-900));color:var(--dourado-claro);font-size:.9rem;flex-shrink:0}
.form-cred .ajuda{font-size:.86rem;color:var(--tinta-suave);margin-bottom:1rem}
.campos{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem 1rem}
.campos.tres{grid-template-columns:2fr 1fr 1fr}
.campo{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.campo.full{grid-column:1/-1}
.campo label{font-size:.84rem;font-weight:700;color:var(--aco-800)}
.campo label .ob{color:#b23b2e}
.campo label small{font-weight:500;color:var(--tinta-suave)}
.campo input[type=text],.campo input[type=email],.campo input[type=tel],.campo input[type=date],.campo select,.campo textarea{width:100%;padding:.75rem .9rem;border:1px solid var(--linha);border-radius:10px;font-family:inherit;font-size:.95rem;background:var(--marfim);color:var(--tinta);transition:border-color .18s,box-shadow .18s,background .18s}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--aco-600);background:#fff;box-shadow:0 0 0 3px rgba(40,79,94,.12)}
.campo .msg{font-size:.8rem;color:#b23b2e;font-weight:600;min-height:0}
.campo .msg.info{color:var(--tinta-suave);font-weight:500}
.tipo-op{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}
.tipo-op label{display:flex;gap:.6rem;align-items:flex-start;border:1px solid var(--linha);border-radius:12px;padding:.85rem 1rem;cursor:pointer;background:var(--marfim);font-size:.9rem;color:var(--tinta)}
.tipo-op label b{display:block;color:var(--aco-900)}
.tipo-op label strong{display:block;font-family:var(--fonte-titulo);font-size:1.35rem;color:var(--aco-900);font-weight:600;margin:.1rem 0}
.tipo-op label small{color:var(--tinta-suave);font-size:.8rem;display:block}
.tipo-op input{margin-top:.25rem;accent-color:var(--aco-700);flex-shrink:0}
.tipo-op label:has(input:checked){border-color:var(--dourado);background:rgba(201,162,39,.1)}
.cond-trava{display:flex;gap:.9rem;align-items:flex-start;border:1.5px solid var(--dourado);background:rgba(201,162,39,.1);border-radius:12px;padding:1rem 1.1rem}
.cond-trava svg{width:24px;height:24px;color:var(--dourado-escuro);flex-shrink:0;margin-top:3px}
.cond-trava .tag{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--dourado-escuro)}
.cond-trava b{display:block;font-family:var(--fonte-titulo);font-size:1.3rem;color:var(--aco-900);font-weight:600;margin:.15rem 0}
.cond-trava p{font-size:.9rem;color:var(--tinta)}
.cond-trava small{font-size:.78rem;color:var(--tinta-suave)}
.cond-trava code{font-weight:700;color:var(--aco-900);letter-spacing:.05em}
.cond-aviso{display:none;margin-bottom:1rem;border-radius:12px;padding:.85rem 1rem;font-size:.9rem}
.cond-aviso.ok{display:block;background:rgba(46,125,82,.1);border:1px solid rgba(46,125,82,.35);color:#1f5f3c}
.cond-aviso.erro{display:block;background:rgba(178,59,46,.08);border:1px solid rgba(178,59,46,.3);color:#7d2318}
.nota-pay{margin-top:.8rem;font-size:.84rem;color:var(--tinta-suave)}

/* Documento do contrato */
.doc-wrap{border:1px solid var(--linha);border-radius:14px;background:var(--marfim-2);padding:.6rem}
.doc-barra{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.3rem .5rem .6rem;font-size:.82rem;color:var(--tinta-suave)}
.doc-barra .btn{padding:.5rem .9rem;font-size:.82rem}
.contrato-doc{background:#fff;border-radius:8px;padding:clamp(1rem,4vw,2.2rem);max-height:560px;overflow:auto;font-family:"Archivo",Arial,sans-serif;font-size:.86rem;line-height:1.6;color:#111;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.contrato-doc .doc-topo{display:flex;align-items:center;gap:.8rem;justify-content:center;border-bottom:2px solid var(--dourado);padding-bottom:.8rem;margin-bottom:1rem}
.contrato-doc .doc-topo img{width:54px;height:auto}
.contrato-doc .doc-topo b{display:block;font-family:var(--fonte-titulo);font-size:1.3rem;color:var(--aco-900);line-height:1}
.contrato-doc .doc-topo span{font-size:.78rem;color:var(--aco-700);letter-spacing:.04em}
.contrato-doc h3{text-align:center;font-family:"Archivo",Arial,sans-serif;font-size:.95rem;font-weight:800;margin:.4rem 0 1rem;letter-spacing:.02em}
.contrato-doc h4{text-align:center;font-family:"Archivo",Arial,sans-serif;font-size:.86rem;font-weight:800;margin:1.2rem 0 .5rem}
.contrato-doc p{margin:.45rem 0;text-align:justify}
.contrato-doc p.par{padding-left:1rem}
.contrato-doc .objeto{border:1px solid #333;padding:.55rem .8rem;margin:.6rem 0;font-family:Georgia,serif;text-transform:uppercase;font-size:.84rem}
.contrato-doc table{width:100%;border-collapse:collapse;margin:.8rem 0;font-size:.8rem}
.contrato-doc table th,.contrato-doc table td{border:1px solid #444;padding:.35rem .55rem;text-align:left;vertical-align:top}
.contrato-doc table.ident td:first-child{font-weight:700;width:42%;background:#f3f3f3}
.contrato-doc table.ident th,.contrato-doc table.quadro th{background:#e9e9e9;text-align:center;font-weight:800}
.contrato-doc table.quadro th{background:var(--aco-900);color:#fff}
.contrato-doc .vazio{color:#b23b2e;background:rgba(178,59,46,.08);padding:0 .25rem;border-radius:3px;font-style:italic}
.contrato-doc .local{margin-top:1.2rem}
.contrato-doc .assin div{text-align:center;display:flex;flex-direction:column;gap:.1rem}
.contrato-doc .assin .linha{border-top:1px solid #222;margin-bottom:.35rem}
.contrato-doc .assin small{font-size:.72rem;color:#444}
.contrato-doc .rodape-doc{text-align:center;font-size:.72rem;color:#666;border-top:1px dashed #999;margin-top:1.6rem;padding-top:.5rem}

.aceites{display:grid;gap:.6rem;margin-top:1.2rem}
.declara{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;color:var(--tinta);background:var(--marfim);border-radius:12px;padding:.9rem 1.1rem;cursor:pointer}
.declara input{margin-top:.25rem;accent-color:var(--aco-700);flex-shrink:0;width:18px;height:18px}
.form-cred .enviar{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;align-items:center;margin-top:1.4rem}
.form-cred .enviar p{font-size:.82rem;color:var(--tinta-suave);max-width:52ch}
.form-cred button[type=submit]{border:none;font-family:inherit}
.btn.carregando{opacity:.6;pointer-events:none}
.oculto{position:absolute;left:-9999px}
.form-ok,.form-erro{max-width:980px;margin:0 auto 1.4rem;border-radius:var(--raio);padding:1.4rem 1.6rem;display:none;gap:1rem;align-items:flex-start;box-shadow:var(--sombra-forte)}
.form-ok{background:linear-gradient(135deg,var(--verde),#1f5f3c);color:#fff}
.form-erro{background:#fff;border:1.5px solid #b23b2e;color:var(--tinta)}
.form-ok.vis,.form-erro.vis{display:flex}
.form-ok svg,.form-erro svg{width:28px;height:28px;flex-shrink:0}
.form-erro svg{color:#b23b2e}
.form-ok p{color:rgba(255,255,255,.92);margin-top:.3rem}
.form-ok .btn{margin-top:.9rem;background:#fff;color:var(--aco-900)}
.form-cred.enviado fieldset:not(.fs-doc),.form-cred.enviado .aceites,.form-cred.enviado .enviar{display:none}

.nota-final{max-width:980px;margin:2.4rem auto 0;background:var(--branco);border:1px solid var(--linha);border-left:4px solid var(--dourado);border-radius:12px;padding:1.4rem 1.6rem;display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap}
.nota-final svg{width:26px;height:26px;color:var(--dourado-escuro);flex-shrink:0;margin-top:2px}
.nota-final p{color:var(--tinta-suave);font-size:.95rem;flex:1;min-width:0;overflow-wrap:anywhere}
.form-erro p,.form-ok p,.maos{overflow-wrap:anywhere}

@media (max-width:900px){ .passos{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){
  .passos,.campos,.campos.tres,.tipo-op,.contrato-doc .assin{grid-template-columns:1fr}
  .contrato-doc{max-height:460px}
  .contrato-doc table.ident td:first-child{width:38%}
}

/* Assinaturas eletrônicas */
.contrato-doc .assin-el{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.6rem}
.contrato-doc .sig{border:1.5px solid #2e7d52;border-radius:8px;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.12rem;background:#f4faf6;page-break-inside:avoid}
.contrato-doc .assin-el.pendente .sig{border:1.5px dashed #999;background:#fafafa}
.contrato-doc .sig-tag{font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#777}
.contrato-doc .sig-tag.ok{color:#2e7d52}
.contrato-doc .sig b{font-size:.86rem}
.contrato-doc .sig small{font-size:.72rem;color:#333;line-height:1.35}
.contrato-doc .sig code,.contrato-doc .integridade code{font-family:ui-monospace,Consolas,monospace;font-weight:700;font-size:.82rem;letter-spacing:.04em;color:#15282f;word-break:break-all}
.contrato-doc .integridade{display:flex;gap:.9rem;align-items:flex-start;margin-top:1rem;border:1px solid #ccc;border-radius:8px;padding:.7rem .8rem;page-break-inside:avoid}
.contrato-doc .integridade .qr{flex:0 0 96px;width:96px}
.contrato-doc .integridade .qr svg{width:96px;height:96px;display:block}
.contrato-doc .integridade .qr:empty{display:none}
.contrato-doc .integridade div:last-child{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.contrato-doc .integridade b{font-size:.82rem}
.contrato-doc .integridade small{font-size:.7rem;color:#333;line-height:1.35}
.contrato-doc .integridade code.hash{font-size:.68rem;font-weight:600}
.ok-codigos{display:grid;gap:.3rem;margin-top:.7rem;font-size:.9rem}
.ok-codigos code{font-family:ui-monospace,Consolas,monospace;font-weight:700;background:rgba(255,255,255,.15);padding:.1rem .45rem;border-radius:5px;letter-spacing:.04em}
@media (max-width:640px){ .contrato-doc .assin-el{grid-template-columns:1fr} .contrato-doc .integridade{flex-direction:column} }

/* Impressão: só o contrato (cópia em #print-area). Margens próprias:
   @page sem margem + laterais por padding + topo/rodapé repetidos por página
   (independe da opção "Margens" escolhida na janela de impressão). */
#print-area{display:none}
@media print{
  @page{size:A4;margin:0}
  html,body{background:#fff !important;margin:0 !important;padding:0 !important}
  body::before{display:none !important}
  body > *:not(#print-area){display:none !important}
  #print-area{-webkit-print-color-adjust:exact;print-color-adjust:exact;display:block !important;max-height:none;overflow:visible;padding:0 20mm;box-shadow:none;border-radius:0;font-size:10pt;background:#fff}
  #print-area table.pg{width:100%;border-collapse:collapse;margin:0;font-size:inherit}
  #print-area table.pg > thead > tr > td,#print-area table.pg > tfoot > tr > td,#print-area table.pg > tbody > tr > td{border:0;padding:0;background:none}
  #print-area .pg-top{height:16mm}
  #print-area .pg-bot{height:16mm;display:flex;align-items:center;justify-content:center;text-align:center;font-size:7pt;color:#555;border-top:.5pt solid #bbb;font-family:ui-monospace,Consolas,monospace}
  #print-area .vazio{background:none}
  #print-area .quadro,#print-area .ident,#print-area .assin-el,#print-area .integridade{page-break-inside:avoid}
  #print-area h4{page-break-after:avoid}
  #print-area .marca-minuta{position:fixed;top:45%;left:0;right:0;text-align:center;font-size:110pt;font-weight:800;color:rgba(178,59,46,.10);transform:rotate(-30deg);pointer-events:none;letter-spacing:.1em}
}

/* Acesso restrito (link pessoal da Administração) */
body.bloqueado [data-liberado]{display:none !important}
body:not(.bloqueado) #acesso{display:none}
.acesso-sec{padding-top:clamp(2.5rem,6vw,4.5rem)}
.acesso-card{max-width:720px;margin-inline:auto;background:#fff;border:1px solid var(--linha);border-top:4px solid var(--dourado);border-radius:var(--raio);box-shadow:var(--sombra-card);padding:clamp(1.4rem,4vw,2.4rem);text-align:center}
.acesso-ic{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;margin:0 auto 1rem;background:linear-gradient(150deg,var(--aco-700),var(--aco-900));color:var(--dourado-claro)}
.acesso-ic svg{width:26px;height:26px}
.acesso-card h2{font-size:clamp(1.5rem,3vw,2rem);color:var(--aco-900);margin-bottom:.7rem}
.acesso-card > p{color:var(--tinta-suave);font-size:.98rem}
.acesso-form{display:flex;gap:.6rem;margin-top:1.3rem;flex-wrap:wrap}
.acesso-form input{flex:1 1 260px;min-width:0;padding:.8rem 1rem;border:1px solid var(--linha);border-radius:999px;font-family:inherit;font-size:.95rem;background:var(--marfim)}
.acesso-form input:focus{outline:none;border-color:var(--aco-600);background:#fff;box-shadow:0 0 0 3px rgba(40,79,94,.12)}
.acesso-form .btn{border:none;font-family:inherit}
.acesso-msg{margin-top:.9rem;font-size:.9rem;display:none;border-radius:10px;padding:.7rem .9rem;text-align:left}
.acesso-msg.erro{display:block;background:rgba(178,59,46,.08);border:1px solid rgba(178,59,46,.3);color:#7d2318}
.acesso-rod{margin-top:1.3rem;font-size:.85rem;color:var(--tinta-suave);overflow-wrap:anywhere}
.acesso-rod a{color:var(--aco-700);font-weight:700}
/* Ajustes: listas do bloco "Como funciona" (texto com negrito não quebra em colunas) e campos numéricos/URL */
.od-list div{display:block;position:relative;padding-left:18px}
.od-list div::before{position:absolute;left:0;top:0}
.campo input[type=number],.campo input[type=url]{width:100%;padding:.75rem .9rem;border:1px solid var(--linha);border-radius:10px;font-family:inherit;font-size:.95rem;background:var(--marfim);color:var(--tinta)}
/* Link "Conheça a área" (portal externo) */
.portal-link{display:inline-flex;align-items:center;gap:10px;margin-top:16px;font-weight:700;font-size:.95rem;color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:3px}
.portal-link:hover{color:var(--gold-deep)}
.bg-navy .portal-link,.portal-link.light{color:#fff}
.tratado{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:center}
.tratado img{width:100%;border-radius:8px;box-shadow:0 30px 60px -24px rgba(0,0,0,.6)}
.tratado .quote{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.35rem;color:#fff;border-left:3px solid var(--gold);padding-left:18px;margin:22px 0}
@media (max-width:760px){.tratado{grid-template-columns:1fr}.tratado img{max-width:240px;margin:0 auto}}
