/* =============================================
   Riesgos · HTTPS y cabeceras (correo aéreo)
   ============================================= */
.rk-ht { --ht-kraft:#e9d3ac; --ht-cream:#faf1dd; --ht-ink:#2a2118; --ht-muted:#6d5f4b; --ht-line:#d9c49a; --ht-red:#d6353b; --ht-blue:#1f4aa8; --ht-green:#2f7a4f; --ht-bg:#f6ead0; background:var(--ht-bg); }
/* ---- comunes ---- */
.rk .sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ht-wrap { width:100%; max-width:1140px; margin:0 auto; padding:0 28px; }
.ht-sec { padding:clamp(52px,7vw,92px) 0; }
.ht-head { max-width:720px; margin:0 0 clamp(26px,4vw,44px); }
.ht-eyebrow { font:700 .72rem/1.2 'JetBrains Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:#1f4aa8; }
.ht-head h2 { margin:12px 0 12px; font-size:clamp(1.9rem,3.6vw,3rem); line-height:1.04; letter-spacing:-.05em; color:#2a2118; }
.ht-head p { margin:0; color:#6d5f4b; font-size:clamp(1rem,1.4vw,1.12rem); line-height:1.66; }
.ht-faq details { border-bottom:1px solid #d9c49a; }
.ht-faq details:first-child { border-top:1px solid #d9c49a; }
.ht-faq summary { display:flex; justify-content:space-between; gap:18px; padding:20px 2px; color:#2a2118; font-size:1.06rem; font-weight:750; cursor:pointer; list-style:none; }
.ht-faq summary::-webkit-details-marker { display:none; }
.ht-faq summary::after { content:"+"; color:#d6353b; font-size:1.5rem; font-weight:400; transition:transform .2s ease; }
.ht-faq details[open] summary::after { transform:rotate(45deg); }
.ht-faq summary:focus-visible { outline:3px solid #d6353b; outline-offset:2px; }
.ht-faq p { max-width:66ch; margin:-4px 36px 22px 0; color:#6d5f4b; font-size:.97rem; line-height:1.68; }
.ht-links { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:24px; }
.ht-links a { color:#1f4aa8; font-weight:700; font-size:.92rem; }
.ht-cta { padding:clamp(56px,8vw,100px) 0; text-align:center; color:#fff; background:linear-gradient(180deg,#1f4aa8,#143a86); }
.ht-cta .ht-wrap { max-width:760px; }
.ht-cta h2 { margin:0; color:#fff; font-size:clamp(2rem,4.2vw,3.4rem); line-height:1.04; letter-spacing:-.055em; }
.ht-cta p { max-width:540px; margin:16px auto 26px; color:#cfdcff; font-size:1.05rem; line-height:1.62; }
.ht-cta .btn { background:#faf1dd; color:#143a86; }
.ht-cta .btn:hover { background:#fff; }
.ht-disc { padding:22px 0; background:#e6d2a8; color:#6d5a38; font-size:.76rem; line-height:1.55; text-align:center; }
.ht-disc p { max-width:880px; margin:0 auto; }
/* ---- fin comunes ---- */
.rk-ht main { color:var(--ht-ink); }
.ht-mono { font-family:'JetBrains Mono',monospace; }
.ht-air { height:14px; background:repeating-linear-gradient(135deg,var(--ht-red) 0 18px,#fff 18px 28px,var(--ht-blue) 28px 46px,#fff 46px 56px); }

/* ---------- Hero ---------- */
.ht-hero { position:relative; padding:clamp(44px,6vw,86px) 0 clamp(44px,6vw,80px); background:linear-gradient(180deg,var(--ht-kraft),var(--ht-bg)); overflow:hidden; }
.ht-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(rgba(90,60,20,.09) 1px, transparent 1px); background-size:7px 7px; opacity:.6; }
.ht-hero__grid { position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(26px,5vw,70px); align-items:center; }
.ht-kicker { display:inline-block; font:700 .72rem/1.2 'JetBrains Mono',monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--ht-blue); border:2px solid var(--ht-blue); border-radius:4px; padding:6px 12px; transform:rotate(-1.5deg); }
.ht-hero h1 { margin:20px 0 18px; font-size:clamp(2.4rem,5.4vw,4.5rem); line-height:.98; letter-spacing:-.06em; color:var(--ht-ink); }
.ht-hero h1 span { color:var(--ht-red); }
.ht-lead { max-width:560px; margin:0; font-size:clamp(1.05rem,1.6vw,1.2rem); line-height:1.62; color:#4a3e2c; }
.ht-lead b { color:var(--ht-ink); }
.ht-env { position:relative; background:var(--ht-cream); border-radius:6px; padding:34px 28px 30px; box-shadow:0 22px 44px rgba(80,50,10,.22); transform:rotate(2deg); }
.ht-env::before, .ht-env::after { content:""; position:absolute; left:0; right:0; height:12px; background:repeating-linear-gradient(135deg,var(--ht-red) 0 16px,#fff 16px 24px,var(--ht-blue) 24px 40px,#fff 40px 48px); }
.ht-env::before { top:0; border-radius:6px 6px 0 0; } .ht-env::after { bottom:0; border-radius:0 0 6px 6px; }
.ht-stamp { position:absolute; top:26px; right:20px; width:92px; padding:8px 6px 10px; text-align:center; background:#fff; color:var(--ht-blue); font:800 .62rem 'JetBrains Mono',monospace; letter-spacing:.06em; border:2px dashed #7f97cf; outline:5px solid #fff; border-radius:3px; }
.ht-stamp b { display:block; font:800 1.9rem/1 Inter,sans-serif; letter-spacing:-.06em; color:var(--ht-red); }
.ht-addr { margin-top:6px; padding-right:110px; }
.ht-addr small { font:700 .62rem 'JetBrains Mono',monospace; color:var(--ht-muted); letter-spacing:.1em; text-transform:uppercase; }
.ht-addr strong { display:block; margin-top:4px; font-size:1.25rem; letter-spacing:-.03em; }
.ht-addr span { display:block; height:8px; margin-top:12px; border-radius:2px; background:#e3d3b2; }
.ht-post { margin-top:26px; padding-top:16px; border-top:2px dashed var(--ht-line); font:600 .78rem 'JetBrains Mono',monospace; color:var(--ht-muted); }
.ht-post b { color:var(--ht-green); }

/* ---------- Secciones ---------- */
.ht-sec { padding:clamp(52px,7vw,92px) 0; }
.ht-sec--kraft { background:var(--ht-kraft); }
.ht-sec--ink { background:#231b12; color:#f5ead3; }
.ht-sec--ink .ht-head h2 { color:#fff; }
.ht-sec--ink .ht-head p { color:#d9c9a8; }
.ht-sec--ink .ht-eyebrow { color:#ffb3a0; }

/* ---------- Postal vs sobre ---------- */
.ht-lab { display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,3vw,32px); align-items:stretch; }
.ht-pane { border-radius:12px; padding:clamp(20px,2.6vw,30px); }
.ht-pane--me { background:var(--ht-cream); color:var(--ht-ink); }
.ht-pane--spy { background:#14100b; color:#f5ead3; border:1px solid #3a2f20; }
.ht-pane h3 { margin:0 0 6px; font-size:1.2rem; letter-spacing:-.03em; }
.ht-pane--spy h3 { color:#fff; }
.ht-pane p.ht-sub { margin:0 0 16px; font-size:.9rem; color:var(--ht-muted); line-height:1.5; }
.ht-pane--spy p.ht-sub { color:#bba98a; }
.ht-toggle { display:inline-flex; padding:4px; border-radius:99px; background:#e3d1a9; margin-bottom:18px; }
.ht-toggle button { border:0; background:transparent; padding:9px 18px; border-radius:99px; font:700 .84rem Inter,sans-serif; color:#5b4c33; cursor:pointer; transition:background .15s,color .15s; }
.ht-toggle button[aria-pressed="true"] { background:var(--ht-ink); color:#fff; }
.ht-toggle button:focus-visible { outline:3px solid var(--ht-blue); outline-offset:2px; }
.ht-pane label { display:block; font-weight:750; font-size:.88rem; margin-bottom:8px; }
.ht-pane textarea { width:100%; min-height:110px; resize:vertical; padding:12px 14px; font:inherit; font-size:.95rem; line-height:1.5; border:1.5px solid #cdb584; border-radius:8px; background:#fff; color:var(--ht-ink); }
.ht-pane textarea:focus-visible { outline:3px solid var(--ht-blue); outline-offset:1px; }
.ht-url { display:flex; align-items:center; gap:10px; margin-top:14px; padding:10px 12px; border-radius:8px; background:#efe0bd; font:600 .82rem 'JetBrains Mono',monospace; color:var(--ht-ink); }
.ht-url i { font-style:normal; font-weight:800; padding:2px 8px; border-radius:5px; color:#fff; background:var(--ht-red); transition:background .2s; }
.ht-url.is-ok i { background:var(--ht-green); }
.ht-wire { min-height:150px; padding:14px 16px; border-radius:8px; background:#000; font:500 .88rem/1.6 'JetBrains Mono',monospace; color:#7dffb2; word-break:break-all; white-space:pre-wrap; border:1px solid #2c2418; }
.ht-wire.is-enc { color:#ffb36b; }
.ht-wire .hot { background:rgba(214,53,59,.35); color:#fff; border-radius:3px; padding:0 2px; }
.ht-verdict { margin-top:14px; font-size:.92rem; line-height:1.55; color:#e5d6b6; }
.ht-verdict b { color:#fff; }
.ht-footnote { margin:18px 0 0; color:var(--ht-muted); font-size:.85rem; line-height:1.55; max-width:78ch; }

/* ---------- Escalera ---------- */
.ht-stairs { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; align-items:end; height:clamp(260px,34vw,340px); }
.ht-step { position:relative; display:flex; flex-direction:column; justify-content:flex-end; text-align:left; border:0; border-radius:10px 10px 0 0; padding:14px 12px 14px; color:#fff; background:var(--ht-blue); cursor:pointer; height:var(--h); transition:transform .2s, filter .2s; font:inherit; }
.ht-step:hover { transform:translateY(-4px); }
.ht-step[aria-pressed="true"] { filter:brightness(1.12); box-shadow:0 0 0 3px var(--ht-ink); }
.ht-step:focus-visible { outline:3px solid var(--ht-ink); outline-offset:3px; }
.ht-step b { font-size:clamp(1.5rem,3.2vw,2.5rem); line-height:1; letter-spacing:-.06em; }
.ht-step span { margin-top:6px; font-size:.82rem; line-height:1.3; font-weight:650; }
.ht-step--low { background:var(--ht-red); }
.ht-step--mid { background:#c97a14; }
.ht-step--ok { background:var(--ht-green); }
.ht-stairs-info { margin-top:16px; padding:20px 22px; border-radius:10px; background:var(--ht-cream); border:1px solid var(--ht-line); display:grid; grid-template-columns:auto 1fr; gap:6px 22px; align-items:baseline; }
.ht-stairs-info b { font-size:1.15rem; letter-spacing:-.03em; }
.ht-stairs-info span { color:var(--ht-muted); font-size:.95rem; line-height:1.6; }
.ht-stairs-info em { grid-column:1/-1; font-style:normal; font-size:.88rem; color:var(--ht-green); font-weight:650; }

/* ---------- Sellos (cabeceras) ---------- */
.ht-stamps { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.ht-seal { position:relative; border:0; background:#fff; padding:18px 12px 16px; text-align:center; cursor:pointer; color:var(--ht-ink); font:inherit; border-radius:3px; outline:6px solid #fff; outline-offset:-1px; border:2px dashed #b9c6e6; transition:transform .2s; }
.ht-seal:hover { transform:rotate(-2deg) translateY(-3px); }
.ht-seal[aria-pressed="true"] { background:#fff3c8; transform:rotate(-2deg) translateY(-3px); }
.ht-seal:focus-visible { outline:3px solid var(--ht-red); outline-offset:3px; }
.ht-seal b { display:block; font-size:2.2rem; line-height:1; letter-spacing:-.06em; color:var(--ht-red); }
.ht-seal span { display:block; margin-top:8px; font:700 .66rem/1.3 'JetBrains Mono',monospace; letter-spacing:.04em; word-break:break-word; color:var(--ht-blue); }
.ht-seal-info { margin-top:20px; padding:20px 24px; border-radius:10px; background:#2d2316; color:#f5ead3; display:grid; gap:6px; }
.ht-seal-info b { font:700 .78rem 'JetBrains Mono',monospace; letter-spacing:.06em; color:#ffd27a; }
.ht-seal-info span { font-size:.96rem; line-height:1.6; color:#eadcbd; }

/* ---------- Comprobación y copia ---------- */
.ht-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:28px; counter-reset:htstep; }
.ht-steps li { list-style:none; padding:18px 16px; border-radius:10px; background:var(--ht-cream); border:1px solid var(--ht-line); counter-increment:htstep; }
.ht-steps li::before { content:counter(htstep); display:grid; place-items:center; width:30px; height:30px; margin-bottom:10px; border-radius:50%; background:var(--ht-blue); color:#fff; font:700 .8rem 'JetBrains Mono',monospace; }
.ht-steps b { display:block; margin-bottom:6px; font-size:1rem; letter-spacing:-.02em; }
.ht-steps span { color:var(--ht-muted); font-size:.9rem; line-height:1.55; }
.ht-term { border-radius:10px; background:#14100b; border:1px solid #3a2f20; overflow:hidden; max-width:820px; }
.ht-term__bar { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 14px; background:#231b12; color:#bba98a; font:600 .76rem 'JetBrains Mono',monospace; }
.ht-term__bar button { border:1px solid #5a4a30; background:transparent; color:#f5ead3; border-radius:6px; padding:5px 12px; font:600 .76rem 'JetBrains Mono',monospace; cursor:pointer; }
.ht-term__bar button:hover { background:#3a2f20; }
.ht-term pre { margin:0; padding:16px 18px; color:#7dffb2; font:500 .86rem/1.7 'JetBrains Mono',monospace; overflow-x:auto; }
.ht-term pre .c { color:#8c7a58; }
.ht-term pre .o { color:#ffb36b; }
.ht-callout { margin-top:20px; max-width:820px; padding:16px 20px; border-left:4px solid var(--ht-red); background:rgba(214,53,59,.08); border-radius:0 8px 8px 0; font-size:.94rem; line-height:1.6; color:#4a3e2c; }

@media (max-width: 960px) {
  .ht-hero__grid, .ht-lab { grid-template-columns:1fr; }
  .ht-stamps { grid-template-columns:repeat(3,1fr); }
  .ht-steps { grid-template-columns:repeat(2,1fr); }
  .ht-env { transform:none; }
}
@media (max-width: 560px) {
  .ht-wrap { padding:0 16px; }
  .ht-stairs { gap:6px; }
  .ht-step { padding:10px 6px; }
  .ht-step span { font-size:.68rem; }
  .ht-stamps { grid-template-columns:repeat(2,1fr); }
  .ht-steps { grid-template-columns:1fr; }
  .ht-stairs-info { grid-template-columns:1fr; }
  .ht-addr { padding-right:0; margin-top:70px; }
  .ht-term pre { font-size:.76rem; }
}
@media (prefers-reduced-motion: reduce) { .ht-step, .ht-seal { transition:none; } }
