*{box-sizing:border-box;margin:0;padding:0}
:root{
  --gold:#d4921a;
  --gold-text:#e8a933;
  --gold-dim:rgba(212,146,26,0.12);
  --gold-border:rgba(212,146,26,0.32);
  --bg:#0a0a0a;
  --card:#111111;
  --card2:#161616;
  --line:#2a2a2a;
  --text:#f5f5f5;
  --muted:#a0a0a0;
  --green:#4ade80;
  --red:#ff8a8a;
  --display:'Archivo','Inter',system-ui,sans-serif;
}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;font-size:15px;font-weight:500;line-height:1.5;color:var(--text);background:var(--bg);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:var(--gold-text);text-underline-offset:3px}
svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}

.ca-top{display:flex;align-items:center;justify-content:space-between;padding:12px clamp(16px,4vw,40px);border-bottom:1px solid rgba(255,255,255,0.06)}
.ca-brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-family:var(--display);font-stretch:112%;font-weight:800;min-height:44px}
.ca-brand{font-size:1.35rem;gap:12px}
.ca-brand img{border-radius:10px}
.ca-tag{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text);border:1px solid var(--gold-border);border-radius:999px;padding:4px 12px}

.ca-wrap{max-width:1100px;margin:0 auto;padding:48px clamp(16px,4vw,40px) 64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:56px;align-items:start}
@media(max-width:920px){.ca-wrap{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:28px}}

.ca-side{display:flex;flex-direction:column;gap:24px;min-width:0}
.ca-assoc{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.ca-assoc-badge{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:18px;padding:10px;flex-shrink:0}
.ca-assoc-badge img{display:block;width:96px;height:96px}
.ca-assoc-text{display:flex;flex-direction:column;gap:4px;text-align:right;order:-1}
.ca-assoc-text b{font-family:var(--display);font-stretch:112%;font-weight:800;font-size:1.25rem;line-height:1.2}
.ca-assoc-text span{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-text)}
@media(max-width:560px){.ca-assoc-badge img{width:76px;height:76px}.ca-assoc-text b{font-size:1.1rem}}
.ca-kicker{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-text);margin-bottom:14px}
.ca-intro h1{font-family:var(--display);font-stretch:112%;font-weight:900;font-size:clamp(2rem,5vw,3.2rem);line-height:1.05;letter-spacing:-.01em;text-wrap:balance;margin-bottom:16px}
.ca-lead{color:var(--muted);font-size:1.05rem;line-height:1.6;max-width:540px;margin-bottom:26px}
.ca-points{list-style:none;display:flex;flex-direction:column;gap:14px}
.ca-points li{display:flex;gap:12px;color:var(--muted);line-height:1.5}
.ca-points li b{color:var(--text)}
.ca-points svg{color:var(--gold-text);stroke-width:2.6;margin-top:4px}

.ca-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px clamp(18px,4vw,30px) 28px;min-width:0}
.ca-notice{background:var(--gold-dim);border:1px solid var(--gold-border);color:var(--text);border-radius:10px;padding:12px 14px;font-size:.88rem;margin-bottom:22px}
.ca-card h2{font-family:var(--display);font-stretch:112%;font-weight:800;font-size:1.5rem;margin-bottom:18px}

.ca-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.ca-row{grid-template-columns:minmax(0,1fr)}}
.ca-field{display:block;margin-bottom:16px;min-width:0}
.ca-field>span{display:block;font-size:.8rem;font-weight:700;margin-bottom:6px}
input,select{width:100%;font:inherit;font-size:1rem;color:var(--text);background:var(--card2);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;min-height:48px;outline:none;transition:border-color .15s,box-shadow .15s}
input:hover,select:hover{border-color:#444}
input:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,146,26,0.25)}
select{appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0a0a0' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
.has-error input,.has-error select{border-color:var(--red)}
.ca-err{display:block;font-size:.78rem;color:var(--red);margin-top:6px;font-weight:600}
.ca-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

.ca-check{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--muted);line-height:1.5;margin:4px 0 12px;cursor:pointer;padding:4px 0}
.ca-check input{width:20px;height:20px;min-width:20px;min-height:0;margin-top:1px;padding:0;accent-color:var(--gold)}
.ca-check span{flex:1}

.ca-msg{font-size:.88rem;border-radius:10px;padding:12px 14px;margin:6px 0 14px}
.ca-fail{background:rgba(255,107,107,0.1);border:1px solid rgba(255,107,107,0.4);color:var(--text)}
.ca-btn{width:100%;background:var(--gold);color:#0a0a0a;border:1.5px solid transparent;border-radius:12px;padding:15px 28px;min-height:52px;font:inherit;font-weight:800;font-size:1rem;cursor:pointer;margin-top:6px;transition:filter .15s,box-shadow .15s}
.ca-btn:hover{filter:brightness(1.1);box-shadow:0 0 20px rgba(212,146,26,0.35)}
.ca-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
@media(max-width:420px){.ca-actions{grid-template-columns:minmax(0,1fr)}}
.ca-actions .ca-btn{margin-top:0}
a.ca-btn{display:flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}
.ca-btn-alt{background:transparent;color:var(--gold-text);border:1.5px solid var(--gold)}
.ca-btn-alt:hover{background:var(--gold-dim)}
.ca-btn:disabled{opacity:.6;cursor:wait;filter:none;box-shadow:none}

.ca-foot{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:24px 16px 40px;border-top:1px solid rgba(255,255,255,0.06);font-size:.85rem}
.ca-foot a{color:var(--muted)}
.ca-foot a:hover{color:var(--text)}
