.catalog-all-link { margin: 30px 0 0; }
.catalog-toolbar { border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); padding: 28px 0 18px; }
.catalog-toolbar > label { display: block; margin-bottom: 10px; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.catalog-toolbar input { width: 100%; padding: 15px 17px; border: 1px solid var(--line); border-radius: 4px; background: var(--white); color: var(--ink); }
.catalog-toolbar input::placeholder { color: var(--muted); }
.catalog-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.catalog-filters button { border: 1px solid var(--line); border-radius: 4px; background: transparent; color: var(--ink); padding: 9px 14px; font-size: .9rem; transition: background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out); }
.catalog-filters button:hover, .catalog-filters button.active { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.catalog-filters button span { font-variant-numeric: tabular-nums; opacity: .7; margin-left: 6px; }
#catalog-count { font-size: .85rem; color: var(--muted); margin: 18px 0 0; }
.catalog-list { border-bottom: 1px solid var(--line); }
.catalog-group + .catalog-group { margin-top: 8px; }
.catalog-group-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 22px 10px 10px; border-top: 2px solid var(--ink); }
.catalog-group-head h3 { font: 500 clamp(1.15rem, 1.8vw, 1.5rem)/1.2 var(--serif); margin: 0; color: var(--ink); }
.catalog-group-head span { font-size: .78rem; color: var(--muted); white-space: normal; text-align: left; }
.catalog-group .catalog-row { border-top: 1px solid var(--line); }
.catalog-row { display: grid; grid-template-columns: minmax(90px, .6fr) minmax(280px, 2.6fr) minmax(150px, 1fr) 30px; align-items: center; gap: 22px; padding: 22px 10px; border-top: 1px solid var(--line); text-decoration: none; transition: background var(--t-fast) var(--ease-out); }
.catalog-row:hover, .catalog-row:focus-visible { background: var(--white); }
.brand small { font-size: 11px; line-height: 1.4; }
.catalog-sector { color: var(--accent); font-size: .78rem; text-transform: uppercase; letter-spacing: .07em; font-weight: 700; }
.catalog-row-main { display: grid; gap: 5px; }
.catalog-row-main strong { font: 500 clamp(1.35rem, 2vw, 1.9rem)/1.15 var(--serif); }
.catalog-row-main small { font-size: .88rem; color: var(--muted); }
.catalog-model { font-size: .86rem; color: var(--muted); }
.catalog-arrow { color: var(--accent); font-size: 1.3rem; text-align: right; }
.catalog-empty { padding: 28px 0; color: var(--muted); }
.operation-detail { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(290px, .85fr); gap: clamp(34px, 6vw, 100px); align-items: start; }
.operation-detail .detail-list { margin-top: 34px; }
.operation-aside { background: var(--burgundy); color: var(--on-burgundy); padding: clamp(26px, 3vw, 48px); }
.operation-aside h2 { font: 500 clamp(2rem, 3vw, 3.1rem)/1.1 var(--serif); margin: 26px 0 12px; }
.operation-aside p { color: rgba(234, 234, 234, .84); }
.operation-aside .button { width: 100%; margin-top: 14px; text-align: center; }
.operation-aside .button-outline { color: var(--on-burgundy); border-color: rgba(234, 234, 234, .4); }
.operation-aside .help { font-size: .84rem; }
.back-link { margin: 0 0 28px; }
.back-link a { text-underline-offset: 4px; }
.simulation-workbench { align-items: stretch; }
.simulation-context { display: grid; gap: 5px; margin: 18px 0 26px; padding: 18px 0; border-block: 1px solid var(--line); color: var(--ink); }
.simulation-context strong { color: var(--accent); }
.simulation-context span { font-size: .88rem; }
.simulation-context a { width: fit-content; font-size: .85rem; text-underline-offset: 4px; }
.simulation-title { font-size: clamp(2rem, 3.5vw, 3rem); margin: 16px 0 24px; }
.simulation-primary { padding-bottom: 24px; border-bottom: 1px solid var(--line-strong); display: grid; gap: 2px; }
.simulation-primary strong { font: 500 clamp(2.4rem, 4vw, 4.2rem)/1.1 var(--serif); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.simulation-primary span { font-size: .9rem; }
.simulation-metrics { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; padding: 24px 0; }
.simulation-metrics div { display: grid; align-content: start; gap: 5px; }
.simulation-metrics strong { font-size: 1.15rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.simulation-metrics span { font-size: .78rem; line-height: 1.35; }
.simulation-section { border-top: 1px solid var(--line-strong); padding: 24px 0; }
.simulation-section h3 { margin: 0 0 12px; font-size: 1rem; }
.simulation-section p, .simulation-section li { margin: 0; font-size: .88rem; line-height: 1.5; }
.simulation-section ul { padding-left: 18px; margin: 0; }
.simulation-section li + li { margin-top: 5px; }
.sensitivity-list { display: grid; }
.sensitivity-list > div { display: flex; justify-content: space-between; gap: 18px; padding: 8px 0; border-top: 1px solid var(--line); font-size: .88rem; }
.sensitivity-list strong { font-variant-numeric: tabular-nums; text-align: right; }
.simulation-disclaimer { font-size: .78rem; line-height: 1.4; margin-top: 18px; }
.founder-teaser { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(220px, .6fr); gap: clamp(32px, 6vw, 90px); align-items: center; border-top: 1px solid var(--line); }
.founder-teaser .body-lead { max-width: 64ch; margin: 18px 0 28px; }
.founder-teaser img { width: min(100%, 360px); height: auto; aspect-ratio: 1; object-fit: cover; filter: grayscale(100%); }
.team-profile { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 7vw, 110px); align-items: start; }
.team-profile img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; filter: grayscale(100%); }
.team-profile .section-heading { margin: 0 0 12px; }
.team-profile p { max-width: 65ch; margin: 0 0 18px; line-height: 1.65; }
.team-profile .team-role { font-weight: 700; color: var(--accent); margin-bottom: 30px; }
.team-profile .button { margin-top: 15px; }
.legal-text { max-width: 900px; }
.legal-text pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; line-height: 1.7; margin: 0; }
.legal-consent { display: flex; align-items: start; gap: 10px; margin: 22px 0 0; font-size: .9rem; line-height: 1.5; }
.legal-consent input { flex: none; margin-top: 5px; }
.legal-consent a { text-underline-offset: 3px; }
@media (max-width: 820px) {
  .catalog-row { grid-template-columns: 1fr auto; gap: 6px 14px; padding: 18px 0; }
  .catalog-sector { grid-column: 1; }
  .catalog-row-main { grid-column: 1; }
  .catalog-model { grid-column: 1; }
  .catalog-arrow { grid-column: 2; grid-row: 2; }
  .operation-detail { grid-template-columns: 1fr; }
  .simulation-metrics { grid-template-columns: 1fr 1fr; }
  .founder-teaser, .team-profile { grid-template-columns: 1fr; }
  .founder-teaser img { order: -1; width: min(100%, 300px); }
  .team-profile img { max-width: 360px; }
}
@media (max-width: 480px) {
  .simulation-metrics { grid-template-columns: 1fr; }
  .sensitivity-list > div { display: grid; gap: 2px; }
  .sensitivity-list strong { text-align: left; }
}

.team-avatar { position: relative; display: grid; place-items: center; background: var(--tint); border: 1px solid var(--line); overflow: hidden; }
.team-avatar--grande { width: min(100%, 240px); aspect-ratio: 1; }
.team-initials { color: var(--muted); font: 500 clamp(36px, 5vw, 56px) var(--mono); letter-spacing: .04em; }
.team-photo-layer { position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat; filter: grayscale(100%); }
.foto-paula-andrea-vargas { background-image: url(/assets/equipo/paula-andrea-vargas.jpg); }
.foto-juan-david-barriga { background-image: url(/assets/equipo/juan-david-barriga.jpg); }
.foto-jose-gabriel-orosco { background-image: url(/assets/equipo/jose-gabriel-orosco.jpg); }
.foto-luis-de-la-hoz { background-image: url(/assets/equipo/luis-de-la-hoz.jpg); }
.team-mini { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; }
.team-mini li { border-top: 1px solid var(--line-strong); padding-top: 14px; display: grid; gap: 4px; }
.team-mini strong { font: 500 24px/1.15 var(--serif); }
.team-mini span { color: var(--muted); font-size: 13px; letter-spacing: .02em; }

.team-profile .team-intro { font-size: 1.15rem; line-height: 1.55; max-width: 62ch; margin-bottom: 26px; color: var(--ink); }
.team-facts { margin: 0; display: grid; gap: 0; border-top: 1px solid var(--line); max-width: 72ch; }
.team-facts > div { display: grid; grid-template-columns: minmax(130px, .3fr) 1fr; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.team-facts dt { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); padding-top: 3px; }
.team-facts dd { margin: 0; line-height: 1.65; }
@media (max-width: 820px) { .team-facts > div { grid-template-columns: 1fr; gap: 6px; } }

.team-skills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.team-skills li{font-size:13px;font-weight:600;padding:5px 12px;border:1px solid var(--line-strong,var(--line));border-radius:999px;background:var(--tint,transparent)}
.team-bio{line-height:1.7;max-width:72ch;margin:0 0 14px;color:var(--body)}

/* Tarjetas del equipo (mismo patrón que Colombia Risk) */
.team-list{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:1000px){.team-list{grid-template-columns:repeat(2,1fr)}}
.team-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:16px}
.team-avatar--card{width:96px;height:96px;flex:none;border-radius:4px}
.team-avatar--card .team-initials{font-size:28px}
.team-card h3{font:500 26px/1.15 var(--serif);margin:0 0 4px}
.team-card .team-role{margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.team-card .team-copy p:not(.team-role){margin:0 0 12px;color:var(--body);font-size:15px;line-height:1.65}

.application-preference{display:flex;align-items:flex-start;gap:12px;margin:20px 0;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:var(--tint,transparent);line-height:1.5}
.application-preference input{flex:none;margin-top:4px;accent-color:var(--accent)}
.application-preference span{display:grid;gap:4px}
.application-preference strong{font-weight:600}
.application-preference small{color:var(--muted);font-size:.875rem}
#guide-segment-wrap[hidden],#guide-size-wrap[hidden]{display:none!important}
#guide-preview-form fieldset{min-width:0;padding:14px 12px}
#guide-preview-form fieldset legend{font-size:.86rem;font-weight:700;padding:0 4px}
#guide-preview-form fieldset label{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:500;line-height:1.35}
#guide-preview-form fieldset input[type=checkbox],.guide-inline fieldset input[type=checkbox]{width:1.15rem;height:1.15rem;min-height:0;margin:0;flex:0 0 1.15rem}
.guide-inline{margin:24px 0;padding:16px 0;border-block:1px solid var(--line)}
.guide-inline summary{font-weight:650;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.guide-inline>p{max-width:68ch;color:var(--muted);line-height:1.55}
.guide-inline fieldset{min-width:0;margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:8px}
.guide-inline legend{padding:0 4px;font-size:.88rem;font-weight:650}
.guide-inline fieldset label{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:.9rem;line-height:1.4}
.guide-inline fieldset input{accent-color:var(--accent)}
.guide-inline #application-guide-result{margin-top:18px;min-width:0}
.guide-inline #application-guide-result h2{font-size:1.75rem}
.guide-inline #application-guide-result .guide-workstream-body{overflow-wrap:anywhere}
.guide-plan-evidence{min-width:0;margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:8px}
.guide-plan-evidence legend{padding:0 4px;font-size:.88rem;font-weight:650}
.guide-plan-evidence label{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:.9rem;line-height:1.4}
.guide-plan-evidence input[type=checkbox]{width:1.15rem;height:1.15rem;min-height:0;margin:0;flex:0 0 1.15rem;accent-color:var(--accent)}
#guide-preview-form input[type="checkbox"]{width:18px;height:18px;min-height:18px;flex:none;margin:0;padding:0;accent-color:var(--accent)}
#guide-preview-form .help{margin:8px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}
.guide-workplan{display:grid;gap:0;border-top:1px solid var(--line-strong);margin:18px 0 28px}
.guide-workstream{border-bottom:1px solid var(--line);min-width:0}
.guide-workstream summary{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:15px 2px;cursor:pointer;list-style:none;font-weight:650}
.guide-workstream summary::-webkit-details-marker{display:none}
.guide-workstream summary::after{content:"+";font-size:1.25rem;line-height:1;color:var(--accent);flex:none}
.guide-workstream[open] summary::after{content:"−"}
.guide-workstream summary span{min-width:0}
.guide-workstream summary small{color:var(--muted);font-size:.78rem;font-weight:500;white-space:nowrap}
.guide-workstream-body{padding:0 4px 18px;max-width:70ch}
.guide-workstream-body p,.guide-workstream-body li{font-size:.9rem;line-height:1.55}
.guide-workstream-body h4{font-size:.86rem;margin:16px 0 6px}
.guide-workstream-body ul{margin:0;padding-left:20px}
.guide-workstream-body li+li{margin-top:5px}
@media(max-width:520px){.guide-workstream summary{align-items:flex-start;gap:8px;flex-wrap:wrap}.guide-workstream summary small{order:2;width:100%}.guide-workstream summary::after{margin-left:auto}}
