
:root{--paper:#f7f2e8;--card:#fffdf8;--ink:#14110d;--muted:#5f574a;--line:#e2d8c4;--grana:#b0312a;--jade:#0f6a58;--display:Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);background-image:radial-gradient(#1411090a 1px,transparent 1px);background-size:24px 24px;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:inherit}img,svg{max-width:100%}
.wrap{width:min(1180px,calc(100% - 44px));margin-inline:auto}
.skip{position:fixed;left:16px;top:-80px;background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:10px;text-decoration:none;z-index:99;transition:top .2s}
.skip:focus{top:16px}
:focus-visible{outline:3px solid var(--grana);outline-offset:4px;border-radius:4px}
.eyebrow{display:inline-flex;align-items:center;gap:11px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--grana);margin:0}
.eyebrow:before{content:"";width:26px;height:2px;background:currentColor;display:block}
h1{font-family:var(--display);font-weight:700;font-size:clamp(38px,5.2vw,64px);line-height:1.02;letter-spacing:-.035em;margin:22px 0 0}
h1 em{font-style:italic;color:var(--grana)}
.lead{font-size:18.5px;color:var(--muted);max-width:44ch;margin:24px 0 0}

.cols{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start;padding:62px 0 96px}

.datos{margin-top:40px;display:grid;gap:2px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.dato{background:var(--paper);padding:20px 24px}
.dato span{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
.dato b{font-size:16.5px;font-weight:600;letter-spacing:-.01em}
.dato a{text-decoration-thickness:1.5px;text-underline-offset:3px}
.dato p{margin:4px 0 0;font-size:14px;color:var(--muted)}

.promesa{margin-top:32px;display:flex;gap:13px;align-items:flex-start;border-left:3px solid var(--jade);padding:2px 0 2px 18px;font-size:15.5px;color:var(--muted);max-width:42ch}

.formbox{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:44px;box-shadow:0 24px 60px #14110912}
.formbox h2{font-family:var(--display);font-size:30px;letter-spacing:-.025em;margin:0 0 8px;font-weight:700}
.formbox .sub{color:var(--muted);font-size:15.5px;margin:0 0 30px}

.fn-form-section{display:block}
.fn-form-section label{display:block;font-size:13.5px;font-weight:600;letter-spacing:-.005em;margin-bottom:7px;color:var(--ink)}
.fn-form-section input,.fn-form-section select,.fn-form-section textarea{width:100%;font:inherit;font-size:15.5px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 15px;margin-bottom:18px;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.fn-form-section select{background-image:linear-gradient(45deg,transparent 50%,#5f574a 50%),linear-gradient(135deg,#5f574a 50%,transparent 50%);background-position:calc(100% - 20px) calc(1.25em),calc(100% - 15px) calc(1.25em);background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.fn-form-section textarea{min-height:120px;resize:vertical}
.fn-form-section input:focus,.fn-form-section select:focus,.fn-form-section textarea:focus{outline:none;border-color:var(--grana);box-shadow:0 0 0 3px #b0312a1f}
.fn-form-section button{display:inline-flex;align-items:center;justify-content:center;gap:11px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:16px 26px;border-radius:999px;font:inherit;font-weight:600;font-size:15px;line-height:1;cursor:pointer;transition:transform .25s,box-shadow .25s;width:100%;margin-top:6px}
.fn-form-section button:hover{transform:translateY(-2px);box-shadow:0 14px 30px #14110926}
.aviso{margin:20px 0 0;font-size:12.5px;color:var(--muted);text-align:center}

@media(max-width:980px){
.cols{grid-template-columns:1fr;gap:40px;padding:40px 0 66px}
.formbox{padding:28px 22px;border-radius:22px}
}
