:root{--p:#6D4EE1;--pd:#3D2680;--t:#262626;--m:#525252;--b:#e5e5e5;--bg:#fff;--soft:#F5F3FF}
*{box-sizing:border-box}body{margin:0;font-family:Geist,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--t);background:var(--bg);line-height:1.7;font-size:1.0625rem}
a{color:var(--p)}a:hover{color:var(--pd)}
.g-header{position:sticky;top:0;z-index:10;background:#F3F4F6;border-bottom:1px solid var(--b)}
.g-header nav{max-width:72rem;margin:0 auto;padding:.7rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.g-brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--pd);font-weight:600;font-size:1.35rem;letter-spacing:-.02em}
.g-brand svg{color:var(--p)}
.g-nav{display:flex;gap:.25rem;flex-wrap:wrap}.g-nav a{text-decoration:none;color:var(--t);font-size:.95rem;padding:.4rem .75rem;border-radius:9999px}.g-nav a:hover{background:#e9e3ff;color:var(--pd)}
.g-nav a.g-cta{background:var(--p);color:#fff}.g-nav a.g-cta:hover{background:#5C3FCF;color:#fff}
main{max-width:46rem;margin:0 auto;padding:2rem 1.25rem 4rem}
.g-crumbs ol{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-wrap:wrap;gap:.35rem;font-size:.85rem;color:var(--m)}
.g-crumbs li+li::before{content:"›";margin-right:.35rem;color:#a3a3a3}
h1{font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.15;letter-spacing:-.025em;color:var(--pd);margin:0 0 .75rem}
h2{font-size:1.5rem;line-height:1.3;letter-spacing:-.015em;margin:2.5rem 0 .75rem;scroll-margin-top:5rem}
h3{font-size:1.15rem;margin:1.75rem 0 .5rem;scroll-margin-top:5rem}
.g-meta{font-size:.9rem;color:var(--m);margin:0 0 1.5rem}
.g-summary{background:var(--soft);border-left:4px solid var(--p);border-radius:.75rem;padding:1rem 1.25rem;margin:0 0 2rem}
.g-summary strong{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--pd);margin-bottom:.25rem}
.g-toc{border:1px solid var(--b);border-radius:.75rem;padding:.75rem 1.25rem;margin:0 0 2rem;font-size:.95rem}
.g-toc summary{cursor:pointer;font-weight:600}.g-toc ol{margin:.5rem 0 0;padding-left:1.25rem}
ul,ol{padding-left:1.35rem}li{margin:.3rem 0}
blockquote{margin:1.5rem 0;padding:.75rem 1.25rem;background:#fef3c7;border-radius:.75rem;color:#78350f}
blockquote p{margin:.25rem 0}
.g-table{overflow-x:auto;margin:1.25rem 0}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{border:1px solid var(--b);padding:.5rem .75rem;text-align:left;vertical-align:top}th{background:#fafafa}
.g-box{border:1px solid var(--b);border-radius:1rem;padding:1.25rem 1.5rem;margin:3rem 0 0;background:#fafafa}
.g-box h2{margin-top:0;font-size:1.2rem}.g-box ul{margin:.25rem 0 0}
.g-author{font-size:.9rem;color:var(--m);margin-top:2rem;border-top:1px solid var(--b);padding-top:1rem}
.g-cards{list-style:none;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}
.g-cards li{border:1px solid var(--b);border-radius:1rem;padding:1.25rem;margin:0}.g-cards a{font-weight:600;font-size:1.1rem;text-decoration:none}.g-cards p{margin:.4rem 0 0;color:var(--m);font-size:.95rem}
footer{background:#171717;color:#a3a3a3;font-size:.9rem}footer div{max-width:72rem;margin:0 auto;padding:2rem 1.25rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between}footer a{color:#e5e5e5}
/* Móvil: la marca no se parte y el nav se compacta (va al final para ganar la cascada). */
@media (max-width:520px){.g-brand{font-size:1.15rem;white-space:nowrap}.g-nav a[href="/roomies"]{display:none}.g-nav a{padding:.35rem .6rem;font-size:.9rem}.g-header nav{padding:.6rem 1rem}}