/* Kit de herramientas: componentes neutros, la identidad viene de las variables de cada sitio. */
.hk{--a:#9a465d;--a2:#3b493c;--tint:#fff2f5;--bg:#f4efe7;--surf:#fffdf9;--ink:#16131f;--muted:#5d5860;--line:#d8d0c4;--r:18px;--disp:Instrument,Georgia,serif;--dispw:400;--body:Jakarta,Arial,sans-serif;color:var(--ink);font-family:var(--body);line-height:1.6;max-width:1160px;margin:0 auto;padding:28px 24px 72px;box-sizing:border-box}
.hk *,.hk *::before,.hk *::after{box-sizing:border-box}
.hk [hidden]{display:none!important}
.hk a{color:inherit}
.hk h1,.hk h2,.hk h3{font-family:var(--disp);font-weight:var(--dispw);line-height:1.08;margin:0;color:var(--ink);letter-spacing:-.01em}
.hk h1{font-size:clamp(34px,5.2vw,62px)}
.hk h2{font-size:clamp(26px,3.2vw,38px);margin-bottom:12px}
.hk h3{font-size:22px;margin-bottom:6px}
.hk p{margin:0 0 12px}
.hk-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hk-crumb{font-size:13px;color:var(--muted);margin-bottom:18px}
.hk-crumb a{text-underline-offset:3px}
.hk-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--a);margin:0 0 10px}
.hk-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:end;padding:12px 0 26px;border-bottom:1px solid var(--line);margin-bottom:26px}
.hk-hero .hk-lead{font-size:18px;color:var(--muted);max-width:60ch;margin-top:14px}
.hk-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.hk-badges li{background:var(--tint);border:1px solid var(--line);border-radius:999px;padding:6px 13px;font-size:13px}
.hk-badges li::before{content:"✓ ";color:var(--a);font-weight:700}
.hk-hero-side{display:grid;gap:14px}
.hk-jump{display:flex;gap:10px;flex-wrap:wrap}
.hk-jump a{font-size:14px;font-weight:600;text-decoration:none;border-bottom:2px solid var(--a);padding:4px 0}
.hk-demo{background:var(--tint);border-left:4px solid var(--a);padding:12px 16px;border-radius:0 var(--r) var(--r) 0;font-size:15px;margin:0 0 20px}
.hk-demo strong{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--a);margin-bottom:2px}
.hk-app{display:grid;gap:22px;align-items:start}
.hk-split{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.hk-split .hk-out{position:sticky;top:96px}
.hk-stack{grid-template-columns:minmax(0,1fr)}
.hk-panel{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:clamp(16px,2.4vw,26px)}
.hk-panel>h2,.hk-panel>h3:first-child{margin-top:0}
.hk-form fieldset{border:1px solid var(--line);border-radius:calc(var(--r) - 4px);margin:0 0 16px;padding:14px 16px 6px;min-width:0}
.hk-form legend{font-weight:700;font-size:14px;padding:0 8px}
.hk-field{display:block;margin:0 0 12px;font-size:14px;font-weight:600}
.hk-field small{display:block;font-weight:400;color:var(--muted);font-size:12.5px;margin-top:2px}
.hk-field input,.hk-field select,.hk-field textarea,.hk-cell{width:100%;display:block;margin-top:4px;padding:10px 12px;font:inherit;font-weight:400;color:var(--ink);background:#fff;border:1.5px solid #bdb5a8;border-radius:10px;min-height:44px}
.hk-field textarea{min-height:96px;resize:vertical}
.hk-field input[type=checkbox],.hk-field input[type=radio]{display:inline-block;width:auto;min-height:0;margin:0 8px 0 0}
.hk-field.hk-inline{display:flex;align-items:center;font-weight:500}
.hk-field input:focus-visible,.hk-field select:focus-visible,.hk-field textarea:focus-visible,.hk-cell:focus-visible,.hk-btn:focus-visible,.hk a:focus-visible,.hk summary:focus-visible,.hk-chip:focus-visible{outline:3px solid var(--a);outline-offset:2px}
.hk-field [aria-invalid=true],.hk-cell[aria-invalid=true]{border-color:#b3261e;background:#fff5f4}
.hk-err{color:#b3261e;font-size:13px;font-weight:600;margin:4px 0 0}
.hk-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 14px}
.hk-btn{font:inherit;font-weight:600;font-size:14px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);padding:10px 16px;border-radius:999px;cursor:pointer;min-height:44px}
.hk-btn:hover{background:var(--ink);color:#fff}
.hk-primary{background:var(--a);border-color:var(--a);color:#fff}
.hk-primary:hover{background:var(--ink);border-color:var(--ink)}
.hk-btn.hk-sm{min-height:36px;padding:6px 12px;font-size:13px}
.hk-btn.hk-danger{border-color:#b3261e;color:#b3261e}.hk-btn.hk-danger:hover{background:#b3261e;color:#fff}
.hk-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.hk-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0 0 16px}
.hk-kpi{background:var(--tint);border-radius:calc(var(--r) - 4px);padding:12px 14px;border:1px solid var(--line)}
.hk-kpi b{display:block;font-family:var(--disp);font-weight:var(--dispw);font-size:clamp(26px,3vw,36px);line-height:1.05;color:var(--a);overflow-wrap:anywhere}
.hk-kpi span{font-size:12.5px;color:var(--muted)}
.hk-kpi.hk-big{grid-column:1/-1}
.hk-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:calc(var(--r) - 6px);background:#fff;margin:0 0 14px}
.hk-table{border-collapse:collapse;width:100%;font-size:14px}
.hk-table caption{text-align:left;font-weight:700;padding:10px 12px;font-size:14px}
.hk-table th,.hk-table td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.hk-table th{background:var(--tint);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.hk-table td.n,.hk-table th.n{text-align:right;font-variant-numeric:tabular-nums}
.hk-table tfoot td{font-weight:700;background:var(--tint)}
.hk-table .hk-cell{margin:0;min-width:90px;padding:7px 9px;min-height:38px}
.hk-note{font-size:14px;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px;margin-top:12px}
.hk-warn,.hk-ok,.hk-info{border-radius:10px;padding:10px 14px;font-size:14px;margin:0 0 12px;border:1px solid}
.hk-warn{background:#fff6e5;border-color:#e0b25a;color:#5c3d00}
.hk-ok{background:#eaf6ee;border-color:#7fbf95;color:#12472a}
.hk-info{background:var(--tint);border-color:var(--line)}
.hk-meter{height:16px;border-radius:999px;background:#e9e3d8;overflow:hidden;position:relative;margin:8px 0}
.hk-meter i{display:block;height:100%;background:var(--a);border-radius:999px;transition:width .35s}
.hk-meter.over i{background:#b3261e}
.hk-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.hk-chip{font:inherit;font-size:13.5px;font-weight:600;border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:7px 14px;cursor:pointer;min-height:40px}
.hk-chip[aria-pressed=true],.hk-chip[aria-checked=true]{background:var(--a);border-color:var(--a);color:#fff}
.hk-seg{display:inline-flex;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden;margin:0 0 14px}
.hk-seg button{font:inherit;font-size:14px;font-weight:600;border:0;background:transparent;padding:9px 16px;cursor:pointer;min-height:42px}
.hk-seg button[aria-pressed=true]{background:var(--ink);color:#fff}
.hk-text{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;white-space:pre-wrap;font-size:15px;overflow-wrap:anywhere;margin:0 0 8px;line-height:1.55}
.hk-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.hk-card-head h3{margin:0}
.hk-svg{width:100%;height:auto;display:block}
.hk-svg text{font-family:var(--body);font-size:11px;fill:var(--muted)}
.hk-svg .t-strong{fill:var(--ink);font-weight:700}
.hk-prose{max-width:760px;margin:44px 0 0}
.hk-prose h2{margin-top:30px}
.hk-prose ul,.hk-prose ol{padding-left:22px}
.hk-prose li{margin:0 0 6px}
.hk-method{border:1px solid var(--line);border-radius:var(--r);background:var(--surf);padding:6px 18px;margin:18px 0}
.hk-method summary{cursor:pointer;font-weight:700;padding:10px 0}
.hk-faq details{border-bottom:1px solid var(--line);padding:4px 0}
.hk-faq summary{cursor:pointer;font-weight:700;padding:12px 0;font-size:16px}
.hk-faq p{color:var(--muted)}
.hk-cta{margin:34px 0 0;padding:20px 24px;border-radius:var(--r);background:var(--a2);color:#fff;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.hk-cta p{margin:0;max-width:52ch}.hk-cta strong{font-family:var(--disp);font-weight:var(--dispw);font-size:22px;display:block}
.hk-cta a{background:#fff;color:var(--ink);border-radius:999px;padding:10px 20px;font-weight:700;text-decoration:none;font-size:14px}
.hk-related{margin:34px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.hk-related a{display:block;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;text-decoration:none;background:var(--surf)}
.hk-related a:hover{border-color:var(--a)}
.hk-related b{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--a);margin-bottom:4px}
.hk-related span{font-weight:600}
.hk-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,30px);background:var(--ink);color:#fff;padding:11px 18px;border-radius:999px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:60;max-width:calc(100% - 32px);text-align:center}
.hk-toast.on{opacity:1;transform:translate(-50%,0)}
.hk-tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin:0 0 16px;overflow-x:auto}
.hk-tabs button{font:inherit;font-weight:600;border:0;background:transparent;padding:10px 16px;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;min-height:44px}
.hk-tabs button[aria-selected=true]{border-color:var(--a);color:var(--a)}
.hk-check{display:flex;gap:10px;align-items:flex-start;padding:8px 4px;border-bottom:1px solid var(--line)}
.hk-check input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:var(--a)}
.hk-check.done span.t{text-decoration:line-through;color:var(--muted)}
.hk-sheet{background:#fff;border:1px solid var(--line);padding:22px;border-radius:6px;box-shadow:0 10px 30px -18px rgba(0,0,0,.35)}
.hk-qrbox{display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.hk-qrbox svg{width:min(100%,320px);height:auto}
.hk-count{font-variant-numeric:tabular-nums}
#hk-print{display:none}
.hk-noscript{background:var(--tint);border:1px dashed var(--a);padding:12px 16px;border-radius:12px;font-size:14px}
@media (max-width:860px){.hk{padding:20px 16px 56px}.hk-hero{grid-template-columns:1fr}.hk-split{grid-template-columns:minmax(0,1fr)}.hk-split .hk-out{position:static}}
@media (prefers-reduced-motion:reduce){.hk *,.hk-toast{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{body.hk-printing>*:not(#hk-print){display:none!important}body.hk-printing #hk-print{display:block}body:not(.hk-printing) .hk-actions,body:not(.hk-printing) .hk-form,body:not(.hk-printing) .hk-jump{display:none}#hk-print{color:#000;font:14px/1.45 Arial,sans-serif}#hk-print table{border-collapse:collapse;width:100%}#hk-print th,#hk-print td{border:1px solid #444;padding:6px 8px;text-align:left}#hk-print h1,#hk-print h2{font-family:Georgia,serif}}

/* Convite: papelería cálida, esquinas amplias, titulares con serifa fina */
.hk.hk-convite{--a:#9a465d;--a2:#3b493c;--tint:#fff2f5;--bg:#f4efe7;--surf:#fffdf9;--ink:#16131f;--muted:#5d5860;--line:#ddd2c6;--r:18px;--disp:Instrument,Georgia,serif;--dispw:400;--body:Jakarta,Arial,sans-serif}
.hk-convite .hk-hero h1{font-size:clamp(40px,6vw,76px);letter-spacing:-.02em}
.hk-convite .hk-panel{box-shadow:0 18px 40px -30px rgba(70,40,40,.55)}
.hk-convite .hk-kpi{background:linear-gradient(160deg,#fff7f8,#fff2f5)}
.hk-convite .hk-demo{border-left:0;border:1.5px dashed var(--a);border-radius:var(--r)}
.hk-convite .hk-sheet{border-radius:var(--r);background-image:radial-gradient(circle at 12px 0,transparent 8px,#fff 8.5px);background-size:24px 100%;background-repeat:repeat-x;background-position:0 -2px}

/* Vecino: estructura sobria, verde bosque, bordes rectos y rejillas legibles */
.hk.hk-vecino{--a:#215a48;--a2:#123d30;--tint:#eef5ea;--bg:#f6f4ec;--surf:#fefdf8;--ink:#193c31;--muted:#59695e;--line:#dfe3d5;--r:10px;--disp:Georgia,'Times New Roman',serif;--dispw:500;--body:Inter,'Avenir Next',Avenir,-apple-system,'Segoe UI',sans-serif}
.hk-vecino h1,.hk-vecino h2,.hk-vecino h3{letter-spacing:-.03em}
.hk-vecino .hk-hero{border-bottom:3px solid var(--a)}
.hk-vecino .hk-panel{border-top:4px solid var(--a)}
.hk-vecino .hk-btn{border-radius:8px}
.hk-vecino .hk-chip,.hk-vecino .hk-badges li{border-radius:8px}
.hk-vecino .hk-seg{border-radius:8px}
.hk-vecino .hk-kpi{border-left:5px solid var(--a);background:#fff}
.hk-vecino .hk-demo{background:var(--tint);border-left-color:#d1892e}

/* ---- Hub ---- */
.hk-hub-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:34px;align-items:center;padding:8px 0 30px}
.hk-hub-hero .hk-lead{font-size:19px;color:var(--muted);max-width:58ch;margin-top:16px}
.hk-hub-art{color:var(--a);background:var(--tint);border:1px solid var(--line);border-radius:calc(var(--r) + 6px);padding:18px;display:grid;place-items:center}
.hk-hub-art svg{width:100%;max-width:340px;height:auto}
.hk-search{display:grid;gap:12px;background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:0 0 22px}
.hk-search label{font-weight:700;font-size:14px}
.hk-search input[type=search]{width:100%;font:inherit;padding:12px 14px;border:1.5px solid #bdb5a8;border-radius:12px;background:#fff;min-height:48px}
.hk-count-line{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap;font-size:14px;color:var(--muted);margin:6px 0 14px}
.hk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;list-style:none;padding:0;margin:0}
.hk-card{display:flex;flex-direction:column;height:100%;background:var(--surf);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.hk-card:hover{transform:translateY(-3px);border-color:var(--a);box-shadow:0 20px 34px -24px rgba(0,0,0,.45)}
.hk-card .th{color:var(--a);background:var(--tint);padding:16px;display:grid;place-items:center;border-bottom:1px solid var(--line);min-height:150px}
.hk-card .th svg{width:100%;max-width:200px;height:auto;max-height:128px}
.hk-card .bd{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.hk-card .cat{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--a)}
.hk-card h3{font-size:24px;margin:0}
.hk-card p{font-size:14.5px;color:var(--muted);margin:0;flex:1}
.hk-card .go{font-weight:700;font-size:14px;color:var(--a);margin-top:8px}
.hk-card .fmt{font-size:12px;color:var(--muted)}
.hk-privacy{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;background:var(--a2);color:#fff;border-radius:var(--r);padding:22px 26px;margin:38px 0 0}
.hk-privacy h2{color:#fff;font-size:26px;margin:0 0 6px}
.hk-privacy p{margin:0;opacity:.92}
.hk-privacy svg{width:56px;height:56px;color:#fff}
.hk-guides{margin:40px 0 0}
.hk-guides ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.hk-guides a{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surf);text-decoration:none;font-weight:600}
.hk-guides a small{display:block;font-weight:400;color:var(--muted);margin-top:2px}
.hk-guides a:hover{border-color:var(--a)}
@media (max-width:860px){.hk-hub-hero{grid-template-columns:1fr}.hk-privacy{grid-template-columns:1fr}.hk-hub-art{display:none}}
@media (max-width:400px){.hk h1{font-size:34px}.hk-grid{grid-template-columns:minmax(0,1fr)}}

/* ajustes de contraste y tipografía */
.hk .hk-text{font-family:var(--body)}
.hk .hk-cta p,.hk .hk-privacy p,.hk .hk-privacy h2,.hk .hk-cta strong{color:#fff}
.hk .hk-cta a{color:var(--ink)}
.hk p{color:inherit}
.hk .hk-lead,.hk .hk-note,.hk .hk-faq p,.hk .hk-kpi span,.hk .hk-count-line,.hk .hk-card p,.hk .hk-field small,.hk .hk-crumb{color:var(--muted)}
.hk .hk-card p{color:var(--muted)}
.hk-sheet .hk-note{color:#555}
.hk-tablewrap{position:relative}
