:root{
  --graphite:#ECEAE4;--steel:#F6F4EE;--steel-2:#EFEBE1;--fog:#1B1D22;--chrome:#6A6E63;
  --amber:#F7A81B;--amber-deep:#E08900;--green:#5B7A3A;--green-deep:#3F5C28;
  --line:rgba(27,29,34,.12);--disp:"Archivo",system-ui,sans-serif;
  --body:"Inter",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--graphite);color:var(--fog);line-height:1.6}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,92vw);margin-inline:auto}
header{position:sticky;top:0;z-index:20;background:rgba(236,234,228,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem;font-family:var(--disp);font-weight:900;font-size:1.2rem}
.brand-logo{height:44px;width:auto;display:block}
.brand small{display:block;font-family:var(--mono);font-size:.52rem;font-weight:500;letter-spacing:.2em;color:var(--chrome);text-transform:uppercase}
.back{font-family:var(--mono);font-size:.8rem;font-weight:600;border:1px solid var(--line);padding:.6rem 1rem;border-radius:7px;background:var(--steel)}
.back:hover{border-color:var(--amber)}

.hero{padding:4.8rem 0 2.2rem;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:
radial-gradient(90% 90% at 100% 0%,rgba(91,122,58,.12),transparent 58%),
repeating-linear-gradient(0deg,transparent 0 38px,rgba(27,29,34,.035) 38px 39px),
repeating-linear-gradient(90deg,transparent 0 38px,rgba(27,29,34,.035) 38px 39px);pointer-events:none}
.hero .inner{position:relative;max-width:800px}
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--amber)}
h1{font-family:var(--disp);font-weight:900;text-transform:uppercase;line-height:.98;font-size:clamp(2.4rem,6vw,4.5rem);margin:1rem 0}
.hero p{font-size:1.08rem;color:#4a4e46;max-width:65ch}

.main{padding:1rem 0 5rem}
.layout{display:grid;grid-template-columns:1.35fr .65fr;gap:1.5rem;align-items:start}
.card{background:var(--steel);border:1px solid var(--line);border-radius:14px;padding:clamp(1.3rem,3vw,2.2rem);box-shadow:0 24px 60px -45px rgba(27,29,34,.35)}
.card h2{font-family:var(--disp);text-transform:uppercase;font-size:1.5rem;margin-bottom:.35rem}
.sub{color:var(--chrome);margin-bottom:1.6rem}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:grid;gap:.42rem}
.field.full{grid-column:1/-1}
label{font-family:var(--mono);font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.req{color:var(--amber)}
input,select,textarea{
  width:100%;border:1px solid rgba(27,29,34,.16);background:#FBFAF5;color:var(--fog);
  border-radius:8px;padding:.86rem .9rem;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s
}
input:focus,select:focus,textarea:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(247,168,26,.12)}
textarea{min-height:145px;resize:vertical}
.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}
.check{display:flex;align-items:center;gap:.65rem;border:1px solid var(--line);background:#FBFAF5;border-radius:8px;padding:.75rem}
.check input{width:auto;accent-color:var(--amber)}
.actions{margin-top:1.4rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.submit{border:0;background:var(--amber);color:#1a1a1a;border-radius:8px;padding:.9rem 1.4rem;font-family:var(--mono);font-weight:700;text-transform:uppercase;cursor:pointer}
.submit:hover{background:var(--amber-deep)}
.note{font-size:.8rem;color:var(--chrome)}

.form-success{
  display:none;
  background:linear-gradient(145deg,var(--green-deep),#2E4620);
  color:#ECEAE4;
  border-radius:12px;
  padding:1.3rem 1.5rem;
  margin-top:1.4rem;
  margin-bottom:1.6rem;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 16px 34px -20px rgba(63,92,40,.65);
}
.form-success.show{display:grid;gap:.55rem;animation:fadeSlide .35s ease}
.fs-top{display:flex;align-items:center;gap:.65rem}
.fs-icon{
  display:flex;align-items:center;justify-content:center;
  width:24px;height:24px;flex:none;
  border-radius:50%;background:var(--amber);color:#1a1a1a;
  font-size:.8rem;font-weight:900;line-height:1;
}
.form-success strong{font-family:var(--disp);text-transform:uppercase;font-size:1.05rem;letter-spacing:.02em}
.fs-msg{color:#D3D8CB;font-size:.92rem;line-height:1.55;padding-left:calc(24px + .65rem)}
@keyframes fadeSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.submit:disabled{opacity:.6;cursor:not-allowed}
.form-error{display:none;color:#B23A2E;font-family:var(--mono);font-size:.8rem;margin-top:.7rem}
.form-error.show{display:block}

.side{display:grid;gap:1rem}
.info{background:linear-gradient(145deg,var(--green-deep),#2E4620);color:#ECEAE4;border-radius:14px;padding:1.6rem}
.info h3{font-family:var(--disp);text-transform:uppercase;font-size:1.25rem;margin-bottom:.8rem}
.info p{color:#D3D8CB;font-size:.92rem}
.info ul{list-style:none;margin-top:1.2rem;display:grid;gap:.8rem;font-family:var(--mono);font-size:.78rem}
.info li:before{content:"✓";color:var(--amber);font-weight:700;margin-right:.65rem}
.contact{background:var(--steel);border:1px solid var(--line);border-radius:14px;padding:1.5rem}
.contact h3{font-family:var(--disp);text-transform:uppercase;margin-bottom:1rem}
.contact .row{margin:.8rem 0}
.contact .k{font-family:var(--mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--chrome)}
.contact a{font-weight:600}
footer{border-top:1px solid var(--line);padding:2rem 0;color:var(--chrome);font-size:.82rem}

@media(max-width:850px){
  .layout{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
}
@media(max-width:520px){
  .checks{grid-template-columns:1fr}
  .brand small{display:none}
}
