@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=Montserrat:wght@500;600;700;800;900&display=swap');
:root{--cream:#f7f3ee;--cream-2:#eee8e1;--ink:#211c18;--muted:#6c625b;--line:#d8d0c8;--pink:#d71960;--pink-dark:#ad1048;--white:#fff;--green:#236649;--shadow:0 18px 50px rgba(49,36,28,.09)}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Montserrat,system-ui,sans-serif;line-height:1.55}
button,input,select,textarea{font:inherit}
a{color:var(--pink-dark)}
.wrap{width:min(1160px,calc(100% - 32px));margin-inline:auto}
.topbar{background:rgba(247,243,238,.96);border-bottom:1px solid var(--line)}
.topbar-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.topbar img{display:block;width:145px;height:auto}
.prototype-label{font:600 .62rem/1.2 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-dark);text-align:right}
.intro{padding:58px 0 32px}
.eyebrow,.step-kicker,.summary-kicker{margin:0;font:600 .68rem/1.3 'IBM Plex Mono',monospace;letter-spacing:.15em;text-transform:uppercase;color:var(--pink-dark)}
h1{max-width:15ch;margin:12px 0 16px;font-size:clamp(2.15rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.055em}
.intro-copy{max-width:700px;margin:0;color:var(--muted);font-size:1.04rem;font-weight:500}
.prototype-note{max-width:700px;margin-top:22px;padding:13px 16px;border-left:4px solid var(--pink);background:#fff;border-radius:0 8px 8px 0;font-size:.86rem;color:var(--muted)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start;padding-bottom:80px}
.form-column{display:grid;gap:18px}
.card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--shadow)}
.step-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.step-heading>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:var(--ink);color:#fff;font:600 .74rem 'IBM Plex Mono',monospace}
.step-heading h2,.summary h2,.success-panel h2{margin:3px 0 0;font-size:1.35rem;letter-spacing:-.025em;line-height:1.2}
.dropzone{display:grid;place-items:center;min-height:148px;padding:26px;text-align:center;border:2px dashed #bdb2a8;border-radius:13px;background:#fbf9f6;cursor:pointer;transition:.18s}
.dropzone:hover{border-color:var(--pink);background:#fff6f9}
.dropzone:focus-within{outline:3px solid rgba(215,25,96,.2);outline-offset:2px}
.choose-files{border:0;background:transparent;color:var(--ink);font-size:1rem;font-weight:800;cursor:pointer}
.choose-files:focus-visible{outline:3px solid var(--pink);outline-offset:5px;border-radius:3px}
.dropzone span{margin-top:3px;color:var(--muted);font-size:.82rem}
.dropzone input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.limit-note,.section-help,.inactive-note{color:var(--muted);font-size:.78rem;font-weight:500;line-height:1.55}
.limit-note{margin:12px 0 0}.section-help{margin:-6px 0 20px}.inactive-note{margin:13px 0 0;text-align:center}
.error-box,.form-error{margin-top:14px;padding:12px 14px;border:1px solid #e9a4a4;border-radius:9px;background:#fff1f1;color:#8d2020;font-size:.82rem;font-weight:600}
.file-list{display:grid;gap:10px;margin-top:18px}
.empty-state{margin:0;padding:18px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:.82rem;text-align:center}
.file-card{display:grid;grid-template-columns:minmax(0,1fr) 105px 120px auto;gap:13px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:11px;background:#fff}
.file-card.loading{opacity:.7}.file-card.invalid{border-color:#e9a4a4;background:#fff8f8}
.file-name{margin:0;font-size:.88rem;font-weight:800;overflow-wrap:anywhere}.file-meta{margin:3px 0 0;color:var(--muted);font-size:.72rem}
.copies label{display:block;margin-bottom:4px;font-size:.68rem;font-weight:700;color:var(--muted)}
.copies input{width:100%;min-height:42px;padding:8px;border:1px solid var(--line);border-radius:8px}
.remove-file{min-width:42px;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--pink-dark);font-weight:800;cursor:pointer}
.remove-file:hover{border-color:var(--pink)}
.bind-file label{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:750}.bind-file input{width:18px;height:18px;accent-color:var(--pink)}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.field{min-width:0;margin:0;padding:0;border:0}.field.span-2{grid-column:1/-1}
.field>label,.field>legend{display:block;margin:0 0 7px;font-size:.76rem;font-weight:800}
.field input:not([type=radio]):not([type=checkbox]),.field select,.field textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}
.field textarea{min-height:112px;resize:vertical}.field small{display:block;margin-top:5px;color:var(--muted);font-size:.7rem}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(215,25,96,.17);border-color:var(--pink)}
.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:4px;background:var(--cream-2);border-radius:10px}
.segmented label{position:relative}.segmented input{position:absolute;opacity:0;pointer-events:none}
.segmented span{display:grid;min-height:40px;place-items:center;padding:7px;border-radius:7px;color:var(--muted);font-size:.75rem;font-weight:700;text-align:center;cursor:pointer}
.segmented input:checked+span{background:#fff;color:var(--pink-dark);box-shadow:0 3px 10px rgba(25,21,18,.08)}
.segmented input:focus-visible+span{outline:2px solid var(--pink)}
.check-list{display:grid;gap:8px}.check-list label,.privacy{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;font-size:.8rem;font-weight:600;cursor:pointer}
.check-list input,.privacy input{width:18px;height:18px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--pink)}
.notes-field{margin-top:18px}.privacy{margin-top:20px;background:#fbf9f6}
.binding-example,.recovery-note{margin-top:18px;padding:13px 15px;border-left:4px solid var(--pink);background:#fff7fa;border-radius:0 8px 8px 0;color:var(--muted);font-size:.8rem}.due-options{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.due-options label{display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.due-options label:has(input:checked){border-color:var(--pink);background:#fff7fa}.due-options label:has(input:disabled){opacity:.55;cursor:not-allowed}.due-options input{margin-top:3px;accent-color:var(--pink)}.due-options strong,.due-options small{display:block}.due-options small{margin-top:3px;color:var(--muted)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.summary{position:sticky;top:18px}
.price-zone{margin:18px 0;padding:20px;border-radius:12px;background:var(--ink);color:#fff}
.price-zone span,.price-zone small{display:block;color:#d7cec8;font-size:.72rem}.price-zone strong{display:block;margin:3px 0;font-size:2.25rem;letter-spacing:-.04em}
.facts{display:grid;gap:0;margin:0 0 18px}.fact{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.76rem}.fact dt{color:var(--muted)}.fact dd{margin:0;font-weight:800;text-align:right}
.review-warning{margin:16px 0;padding:13px;border-left:4px solid #d8891d;background:#fff7e8;border-radius:0 8px 8px 0;color:#70450b;font-size:.78rem;font-weight:600}
.calculation-warning{padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.74rem;font-weight:500;line-height:1.6}
.primary-button,.secondary-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin-top:12px;border-radius:9px;font-size:.8rem;font-weight:800;text-decoration:none;cursor:pointer}
.primary-button{border:0;background:var(--pink);color:#fff}.primary-button:hover{background:var(--pink-dark)}.primary-button:disabled{opacity:.55;cursor:not-allowed}
.secondary-button{border:1px solid var(--ink);background:#fff;color:var(--ink)}.secondary-button[aria-disabled=true]{opacity:.45;pointer-events:none}
.success-panel{margin-bottom:80px;padding:34px;background:#eaf5ef;border:1px solid #afd4bf;border-radius:16px}.success-panel p:not(.eyebrow){max-width:720px;color:#415a4c}.success-panel a{font-weight:800}
.success-id{font-size:1.25rem;font-weight:900}.success-summary{max-width:720px;padding:18px;background:white;border-radius:10px;white-space:pre-line}.success-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:760px}.success-actions .primary-button,.success-actions .secondary-button{margin:0}.ephemeral-warning{font-size:.78rem;font-weight:700}.sending-warning{margin-top:12px;color:var(--muted);font-size:.76rem}
@media(max-width:900px){.layout{grid-template-columns:1fr}.summary{position:static;order:-1}}
@media(max-width:560px){.wrap{width:min(100% - 20px,1160px)}.intro{padding-top:38px}.card{padding:20px;border-radius:13px}.field-grid,.due-options,.success-actions{grid-template-columns:1fr}.field.span-2{grid-column:auto}.file-card{grid-template-columns:minmax(0,1fr) 84px auto;gap:8px}.bind-file{grid-column:1/3}.summary{order:initial}}
@media(max-width:370px){.file-card{grid-template-columns:1fr 72px}.remove-file{grid-column:1/-1;width:100%}.segmented span{font-size:.69rem;padding-inline:4px}.card{padding:17px}.step-heading{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Arrastrar y soltar */
.dropzone.is-dragging { border-color: var(--acento, #d71960); background: rgba(215, 25, 96, .06); }
.field .opt { font-weight: 400; opacity: .65; }

/* Camino corto: fecha y revisión, plegadas en «¿Algo más?» */
.paso-opcional{border:1.5px dashed var(--linea,#e7ded9);border-radius:1rem;background:transparent}
.paso-opcional summary{display:flex;align-items:baseline;gap:.6rem;padding:1.1rem 1.3rem;cursor:pointer;font-weight:800;font-size:1.02rem;list-style:none}
.paso-opcional summary::-webkit-details-marker{display:none}
.paso-opcional summary .mas{color:var(--acento,#d71960);font-weight:900}
.paso-opcional summary small{font-weight:500;font-size:.82rem;color:#6b6360}
.paso-opcional[open] summary .mas{transform:rotate(45deg);display:inline-block}
.paso-opcional[open]{background:transparent;border-style:solid}
.paso-opcional > .card{border:0;box-shadow:none;border-top:1px solid var(--linea,#e7ded9);border-radius:0;margin:0}
.step-heading.opcional span{display:none}
