/* Estilos compartidos: copia de los de la portada más los de las páginas del plan. */
/* Layout: héroe azul (código sobre la línea, matemática debajo) y secciones sobre papel; una columna de lectura de 1080px con grillas que colapsan a una columna en teléfono. */
:root{
  --navy:#10233A; --navy-2:#17304F; --on-navy:#F5F1E8; --on-navy-2:#C9D1DB; --on-navy-3:#8F9CAD;
  --bg:#F5F1E8; --bg-2:#ECE6D8; --surface:#FFFFFF; --fg:#16202C; --fg-2:#424C58; --muted:#6A737E; --line:#D9D1C1;
  --fund:#B9601C; --met:#1F5A8C; --accent:#EE9A52; --math:#8DB8E2;
  --serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
  --sans:'Inter', 'Helvetica Neue', Arial, sans-serif;
  --mono:'IBM Plex Mono', ui-monospace, Menlo, monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0C1828; --bg-2:#132338; --surface:#16283F; --fg:#ECE7DC; --fg-2:#BFC7D2; --muted:#8F9CAD; --line:#2A3D57;
  --fund:#EE9A52; --met:#8DB8E2; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0C1828; --bg-2:#132338; --surface:#16283F; --fg:#ECE7DC; --fg-2:#BFC7D2; --muted:#8F9CAD; --line:#2A3D57;
  --fund:#EE9A52; --met:#8DB8E2; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.6;margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:600;text-wrap:balance;margin:0;letter-spacing:-.01em}
p{margin:0}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding-inline:24px}
.mono{font-family:var(--mono)}
.ph{background:color-mix(in srgb,var(--accent) 22%,transparent);outline:1px dashed var(--accent);padding:0 .25em;border-radius:2px;white-space:nowrap}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* barra de prototipo y navegación */
.proto{background:var(--accent);color:#10233A;font-size:13px;font-weight:600;text-align:center;padding:6px 16px}
nav.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--navy);color:var(--on-navy);border-bottom:1px solid rgba(245,241,232,.12)}
nav.top .wrap{display:flex;align-items:center;gap:20px;height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.brand img{height:34px;width:auto;display:block}
.brand span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-navy-2);line-height:1.3}
nav.top ul{display:flex;gap:16px;list-style:none;margin:0 0 0 auto;padding:0;font-size:14px;overflow-x:auto;scrollbar-width:none}
nav.top ul a{text-decoration:none;color:var(--on-navy-2);white-space:nowrap}
nav.top ul a:hover{color:var(--on-navy)}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;padding:11px 18px;border-radius:6px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:var(--sans)}
.btn.pri{background:var(--accent);color:#10233A}
.btn.sec{border-color:rgba(245,241,232,.4);color:var(--on-navy)}
.btn.sm{padding:7px 14px;font-size:14px}
/* menú: enlace actual, botón compacto y menú desplegable en anchos chicos */
nav.top ul a[aria-current]{color:var(--on-navy);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:6px}
nav.top ul.nav-links{padding-block:8px}
.btn.sm{white-space:nowrap}
.mnav{display:none}
.mnav summary{list-style:none;cursor:pointer;width:42px;height:42px;display:grid;place-items:center;border-radius:6px;color:var(--on-navy);border:1px solid rgba(245,241,232,.25)}
.mnav summary::-webkit-details-marker{display:none}
.mnav .bars,.mnav .bars::before,.mnav .bars::after{display:block;width:18px;height:2px;background:currentColor;border-radius:1px;transition:transform .15s,background .15s}
.mnav .bars{position:relative}
.mnav .bars::before,.mnav .bars::after{content:'';position:absolute;left:0}
.mnav .bars::before{top:-6px}.mnav .bars::after{top:6px}
.mnav[open] .bars{background:transparent}
.mnav[open] .bars::before{transform:translateY(6px) rotate(45deg)}
.mnav[open] .bars::after{transform:translateY(-6px) rotate(-45deg)}
.mnav-panel{position:absolute;left:0;right:0;top:100%;background:var(--navy);border-bottom:1px solid rgba(245,241,232,.12);box-shadow:0 14px 28px rgba(0,0,0,.28);max-height:calc(100vh - 70px);overflow-y:auto}
nav.top .mnav-panel .wrap{display:block;height:auto;padding-block:4px 20px}
nav.top .mnav-panel ul{display:block;margin:0;padding:0;font-size:16px;overflow:visible}
nav.top .mnav-panel li a{display:block;padding:13px 0;border-bottom:1px solid rgba(245,241,232,.1);color:var(--on-navy)}
nav.top .mnav-panel li a[aria-current]{color:var(--accent);text-decoration:none}
.mnav-panel .btn{margin-top:18px}
@media (max-width:940px){nav.top ul.nav-links{display:none}.mnav{display:block}.nav-cta{margin-left:auto}}
@media (max-width:560px){.nav-cta{display:none}.mnav{margin-left:auto}}
@media (prefers-reduced-motion:reduce){.mnav .bars,.mnav .bars::before,.mnav .bars::after{transition:none}}

/* héroe */
.hero{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden}
.hero .wrap{padding-block:48px 56px;position:relative}
.surface-code{font-family:var(--mono);font-size:clamp(22px,3.4vw,34px);color:var(--on-navy)}
.surface-code .c{display:block;font-size:13px;color:var(--on-navy-3);margin-bottom:6px}
.surface-code .k{color:var(--math)} .surface-code .f{color:var(--accent)}
.horizon{position:relative;margin:18px -24px 0;border-top:1.5px solid var(--accent)}
.horizon::after{content:'';position:absolute;inset:0 0 auto 0;height:180px;background:linear-gradient(180deg,rgba(31,90,140,.38),rgba(16,35,58,0));pointer-events:none}
.horizon .tag{position:absolute;right:24px;top:8px;font-family:var(--mono);font-size:12px;color:var(--accent)}
.deep{position:relative;display:flex;flex-wrap:wrap;gap:8px 44px;padding:34px 0 8px;font-family:var(--serif);font-style:italic;color:var(--math);font-size:clamp(17px,2.2vw,24px)}
.deep span:nth-child(2){opacity:.75}.deep span:nth-child(3){opacity:.55}.deep span:nth-child(4){opacity:.38}
.nab{font-style:normal}
.hero h1{font-size:clamp(40px,6.6vw,72px);line-height:1.02;margin-top:30px;max-width:15ch}
.hero h1 em{font-weight:400;color:var(--accent)}
.hero .lead{margin-top:20px;font-size:18px;color:var(--on-navy-2);max-width:56ch}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.facts{background:var(--bg-2);border-bottom:1px solid var(--line)}
.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.facts div{padding:18px 0 16px}
.facts div+div{padding-left:22px;border-left:1px solid var(--line)}
.facts b{display:block;font-family:var(--serif);font-weight:600;font-size:24px;color:var(--fg)}
.facts span{font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
@media (max-width:700px){.facts .wrap{grid-template-columns:1fr 1fr}.facts div:nth-child(3){padding-left:0;border-left:0}.facts div:nth-child(n+3){border-top:1px solid var(--line)}}

/* secciones */
section.s{padding-block:72px}
section.s + section.s{border-top:1px solid var(--line)}
.kick{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fund);margin-bottom:10px}
.s h2{font-size:clamp(28px,3.6vw,38px);line-height:1.12;max-width:24ch}
.s .intro{margin-top:14px;color:var(--fg-2);max-width:62ch;font-size:17px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:28px}
.two > *{min-width:0}
@media (max-width:760px){.two{grid-template-columns:1fr;gap:24px}}

/* problema */
.quote{font-family:var(--serif);font-size:clamp(22px,2.8vw,30px);line-height:1.3;max-width:30ch}
.quote em{color:var(--fund)}

/* trazabilidad */
.trace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:32px;align-items:start}
@media (max-width:760px){.trace{grid-template-columns:1fr}}
.trace h3{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.topics{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.topic{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:baseline;padding:11px 8px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:17px}
.topic small{font-family:var(--mono);font-size:11px;color:var(--fund)}
.topic .to{font-family:var(--sans);font-size:13px;color:var(--muted)}
.topic:hover,.topic[aria-pressed="true"]{background:var(--surface)}
.topic[aria-pressed="true"] .to{color:var(--met);font-weight:600}
.topic:focus-visible{outline:2px solid var(--accent)}
.methods{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mcard{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--met);padding:14px;transition:transform .2s,box-shadow .2s,opacity .2s}
.mcard small{font-family:var(--mono);font-size:11px;color:var(--met)}
.mcard b{display:block;font-family:var(--serif);font-weight:600;font-size:17px;line-height:1.25}
.mcard p{font-size:13px;color:var(--fg-2);margin-top:6px;min-height:2.6em}
.methods.dim .mcard{opacity:.4}
.methods.dim .mcard.on{opacity:1;box-shadow:0 0 0 2px var(--met);transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.mcard{transition:none}}

/* módulos */
.mlabel{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px;margin:30px 0 12px}
.mlabel::after{content:'';flex:1;border-top:1px solid var(--line)}
.mods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:860px){.mods{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.mods{grid-template-columns:1fr}}
details.mod{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--fund)}
details.mod.m{border-left-color:var(--met)}
details.mod summary{list-style:none;cursor:pointer;padding:14px 14px 12px}
details.mod summary::-webkit-details-marker{display:none}
details.mod .code{font-family:var(--mono);font-size:11px;color:var(--fund);display:flex;justify-content:space-between}
details.mod.m .code{color:var(--met)}
details.mod .code i{font-style:normal;color:var(--muted)}
details.mod b{display:block;font-family:var(--serif);font-weight:600;font-size:18px;line-height:1.25;margin-top:4px}
details.mod .more{font-size:13px;color:var(--muted);margin-top:8px}
details.mod[open] .more{display:none}
details.mod ul{margin:0;padding:0 14px 14px 30px;font-size:14px;color:var(--fg-2)}
details.mod li{margin:4px 0}
.pi{margin-top:12px;background:var(--navy);color:var(--on-navy);padding:18px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}
.pi .code{font-family:var(--mono);font-size:12px;color:var(--accent)}
.pi b{font-family:var(--serif);font-weight:600;font-size:20px}
.pi p{color:var(--on-navy-2);font-size:14px}
.pi a{color:var(--accent);font-size:14px;white-space:nowrap}
@media (max-width:700px){.pi{grid-template-columns:1fr;gap:6px}}

/* cronograma */
.tl{overflow-x:auto;margin-top:28px}
.tl-grid{min-width:640px;display:grid;grid-template-columns:150px repeat(7,1fr);font-size:13px}
.tl-grid .h{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 4px;border-bottom:1px solid var(--line)}
.tl-grid .h.off{color:var(--line)}
.tl-row{display:contents}
.tl-row .n{padding:8px 8px 8px 0;font-weight:600;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-row .n small{font-family:var(--mono);font-weight:400;color:var(--muted);margin-right:6px}
.tl-row .c{border-bottom:1px solid var(--line);position:relative}
.bar{position:absolute;top:9px;bottom:9px;left:3px;right:3px;border-radius:3px}
.bar.f{background:var(--fund)} .bar.mt{background:var(--met)} .bar.p{background:repeating-linear-gradient(90deg,var(--accent) 0 8px,transparent 8px 12px)}
.tl-note{margin-top:12px;font-size:14px;color:var(--muted)}

/* cómo se cursa */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);margin-top:28px}
.stats div{padding:20px 16px 18px 0;border-bottom:1px solid var(--line)}
.stats b{display:block;font-family:var(--serif);font-weight:600;font-size:34px;font-variant-numeric:tabular-nums;line-height:1.1}
.stats span{font-size:14px;color:var(--fg-2)}
@media (max-width:640px){.stats{grid-template-columns:1fr 1fr}}

/* públicos */
.aud{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:28px}
.aud div{background:var(--surface);border:1px solid var(--line);padding:18px}
.aud b{font-family:var(--serif);font-size:18px;font-weight:600;display:block;line-height:1.25;margin-bottom:6px}
.aud p{font-size:14px;color:var(--fg-2)}

/* docentes */
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
@media (max-width:860px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.team{grid-template-columns:1fr}}
.team div{border-top:2px solid var(--fund);padding-top:10px}
.team div.m{border-top-color:var(--met)}
.team small{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.05em}
.team b{display:block;font-family:var(--serif);font-weight:600;font-size:17px;margin-top:2px}
.team p{font-size:14px;color:var(--fg-2)}
.note{margin-top:18px;font-size:14px;color:var(--muted);border-left:3px solid var(--accent);padding-left:12px}

/* aranceles */
.fees{background:var(--surface);border:1px solid var(--line);padding:6px 22px}
.fees .r{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.fees .r:last-child{border-bottom:0}
.fees .r b{font-family:var(--mono);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.small{font-size:14px;color:var(--muted);margin-top:12px}

/* preguntas */
.faq details{border-bottom:1px solid var(--line)}
.faq{border-top:1px solid var(--line);margin-top:24px}
.faq summary{cursor:pointer;padding:16px 0;font-family:var(--serif);font-size:19px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-family:var(--mono);color:var(--fund)}
.faq details[open] summary::after{content:'−'}
.faq p{padding:0 0 16px;color:var(--fg-2);max-width:64ch}

/* charla y formulario */
.talk{background:var(--navy);color:var(--on-navy);padding:28px;display:flex;flex-direction:column;gap:14px;align-self:start}
.talk .when{font-family:var(--mono);font-size:14px;color:var(--accent)}
.talk h3{font-size:26px}
.talk ul{margin:0;padding-left:18px;color:var(--on-navy-2);font-size:15px}
form.f{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form.f .full{grid-column:1/-1}
form.f label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--fg-2)}
form.f input,form.f select,form.f textarea{font:inherit;font-weight:400;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--fg);min-width:0}
form.f textarea{min-height:80px;resize:vertical}
form.f .radios{display:flex;gap:16px;font-weight:400;font-size:15px;flex-wrap:wrap}
form.f .radios label{flex-direction:row;align-items:center;font-weight:400;font-size:15px;color:var(--fg)}
form.f button{justify-self:start}
.ok{grid-column:1/-1;background:color-mix(in srgb,var(--met) 14%,transparent);border:1px solid var(--met);padding:12px 14px;border-radius:5px;font-size:14px}
@media (max-width:560px){form.f{grid-template-columns:1fr}}

footer{background:var(--navy);color:var(--on-navy-2);font-size:14px}
footer .wrap{padding-block:40px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:start}
footer b{color:var(--on-navy);font-family:var(--serif);font-size:18px;font-weight:600;display:block;margin-bottom:6px}
footer .brand img{height:54px}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr}}

/* ===== Páginas del plan de estudios ===== */
.crumb{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--on-navy-3);display:flex;flex-wrap:wrap;gap:6px}
.crumb a{color:var(--on-navy-2);text-decoration:none}
.crumb a:hover{color:var(--on-navy)}
.phero{background:var(--navy);color:var(--on-navy)}
.phero .wrap{padding-block:36px 44px}
.phero .gcode{font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-top:26px}
.phero h1{font-size:clamp(34px,5.4vw,56px);line-height:1.05;margin-top:8px;max-width:20ch}
.phero .lead{margin-top:16px;font-size:18px;color:var(--on-navy-2);max-width:62ch}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chips span{font-family:var(--mono);font-size:12px;padding:5px 10px;border:1px solid rgba(245,241,232,.25);border-radius:999px;color:var(--on-navy-2)}
.modnav{background:var(--bg-2);border-bottom:1px solid var(--line)}
.modnav .wrap{display:flex;gap:6px;overflow-x:auto;padding-block:10px;scrollbar-width:none}
.modnav a{flex-shrink:0;font-family:var(--mono);font-size:13px;text-decoration:none;padding:6px 11px;border-radius:5px;color:var(--fg-2);border:1px solid transparent}
.modnav a:hover{background:var(--surface)}
.modnav a[aria-current="page"]{background:var(--surface);border-color:var(--line);color:var(--fg);font-weight:500}
.modnav a.f{box-shadow:inset 0 -2px 0 var(--fund)} .modnav a.mt{box-shadow:inset 0 -2px 0 var(--met)} .modnav a.p{box-shadow:inset 0 -2px 0 var(--accent)}
.modnav .sep{flex-shrink:0;width:1px;background:var(--line);margin:4px 4px}
section.s.tight{padding-block:52px}
.obj{font-family:var(--serif);font-size:clamp(19px,2.2vw,23px);line-height:1.45;max-width:62ch;margin-top:14px}
.hbar{display:flex;gap:3px;margin-top:26px;height:34px}
.hbar a{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;color:#fff;text-decoration:none;border-radius:3px;min-width:0;overflow:hidden;white-space:nowrap}
.f-page .hbar a{background:var(--fund)} .m-page .hbar a{background:var(--met)}
.hbar a:nth-child(even){opacity:.82}
.hbar-note{font-size:13px;color:var(--muted);margin-top:8px}
.needs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:22px}
.needs div{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--fund);padding:14px 16px}
.needs b{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.06em}
.needs b a{color:var(--fund)}
.needs p{font-size:14px;color:var(--fg-2);margin-top:4px}
.units{display:flex;flex-direction:column;gap:12px;margin-top:26px}
details.unit{background:var(--surface);border:1px solid var(--line);scroll-margin-top:80px}
details.unit summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:baseline;padding:16px 18px}
details.unit summary::-webkit-details-marker{display:none}
details.unit summary .u{font-family:var(--mono);font-size:12px;color:var(--muted)}
details.unit summary b{font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.3}
details.unit summary .h{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}
details.unit summary .h::after{content:' +';color:var(--fund)}
details.unit[open] summary .h::after{content:' −'}
.ubody{padding:0 18px 18px 104px}
.ubody ul{margin:0;padding-left:18px;color:var(--fg-2);font-size:15px}
.ubody li{margin:6px 0}
.ubody li p{margin:0}
.practice{margin-top:14px;background:var(--bg-2);border-left:3px solid var(--accent);padding:12px 14px;font-size:15px}
.practice small,.dest small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.dest{margin-top:12px;font-size:14px;color:var(--fg-2)}
.dest a{color:var(--met);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}
@media (max-width:640px){details.unit summary{grid-template-columns:1fr auto;gap:4px 12px}details.unit summary .u{grid-column:1/-1}.ubody{padding:0 16px 16px}}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:8px}
@media (max-width:860px){.cols3{grid-template-columns:1fr}}
.cols3 h3{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.cols3 p,.cols3 li{font-size:15px;color:var(--fg-2)}
.cols3 ul{margin:0;padding-left:18px}
.cols3 li{margin:6px 0}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pager a{display:block;background:var(--surface);border:1px solid var(--line);padding:16px 18px;text-decoration:none}
.pager a:hover{border-color:var(--fg-2)}
.pager small{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em}
.pager b{display:block;font-family:var(--serif);font-weight:600;font-size:18px;margin-top:2px}
.pager .nx{text-align:right;grid-column:2}
@media (max-width:560px){.pager{grid-template-columns:1fr}.pager .nx{grid-column:1}}
.conv{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:26px}
.conv div{border-top:2px solid var(--accent);padding-top:10px}
.conv b{font-family:var(--serif);font-weight:600;font-size:18px;display:block;line-height:1.25}
.conv p{font-size:14px;color:var(--fg-2);margin-top:4px}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:760px){.cards{grid-template-columns:1fr}}
a.mcard2{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--fund);padding:18px 18px 16px;text-decoration:none;transition:border-color .15s}
a.mcard2.mt{border-left-color:var(--met)}
a.mcard2:hover{border-color:var(--fg-2)}
a.mcard2 .code{font-family:var(--mono);font-size:11px;color:var(--fund);display:flex;justify-content:space-between}
a.mcard2.mt .code{color:var(--met)}
a.mcard2 .code i{font-style:normal;color:var(--muted)}
a.mcard2 b{font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.25;margin-top:4px}
a.mcard2 ol{margin:10px 0 0;padding-left:20px;font-size:14px;color:var(--fg-2)}
a.mcard2 ol li{margin:3px 0}
a.mcard2 .go{margin-top:12px;font-size:14px;font-weight:600;color:var(--fg)}
.matrix-wrap{overflow-x:auto;margin-top:24px;border:1px solid var(--line);background:var(--surface)}
table.matrix{border-collapse:collapse;min-width:820px;width:100%;font-size:14px}
table.matrix th,table.matrix td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.matrix thead th{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--met);background:var(--bg-2)}
table.matrix tbody th{font-family:var(--serif);font-weight:600;font-size:15px;color:var(--fg);white-space:nowrap}
table.matrix tbody th small{display:block;font-family:var(--mono);font-weight:400;font-size:11px;color:var(--fund)}
table.matrix td{color:var(--fg-2)}
table.matrix tr:last-child th,table.matrix tr:last-child td{border-bottom:0}
.steps{counter-reset:st;list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.steps li{counter-increment:st;display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.steps li::before{content:counter(st,decimal-leading-zero);font-family:var(--mono);font-size:13px;color:var(--accent)}
.steps b{font-family:var(--serif);font-weight:600;font-size:18px}
.steps .tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.steps .tags a{font-family:var(--mono);font-size:12px;padding:3px 8px;border:1px solid var(--line);border-radius:4px;text-decoration:none;color:var(--fg-2)}
.steps .tags a:hover{border-color:var(--fg-2)}
@media (max-width:600px){.steps li{grid-template-columns:40px 1fr}.steps .tags{grid-column:2;justify-content:flex-start}}
.pifacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);margin-top:26px}
.pifacts div{padding:18px 16px 16px 0;border-bottom:1px solid var(--line)}
.pifacts b{display:block;font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.1}
.pifacts span{font-size:14px;color:var(--fg-2)}
@media (max-width:640px){.pifacts{grid-template-columns:1fr}}
@media (max-width:640px){.hbar a span{display:none}}
