.crumb{ background:var(--paper); border-bottom:1px solid var(--rule-soft); padding:14px 0 }
.crumb .wrap{ display:flex; justify-content:space-between; gap:24px; align-items:center }

.cal-hero{ padding:80px 0 60px; border-bottom:1px solid var(--rule) }
.cal-hero .eyebrow{ display:block; margin-bottom:18px }
.cal-hero h1{ font-size:clamp(56px, 9vw, 120px); line-height:.95; margin:0 0 28px; font-weight:400; letter-spacing:-.02em }
.cal-intro{ max-width:760px; font-size:18px; line-height:1.6; color:var(--ink-2); margin:0 }

.cal-render-hero{
  margin:0; position:relative; height:520px; overflow:hidden;
  border-bottom:1px solid var(--rule);
}
.cal-render-hero img{ width:100%; height:100%; object-fit:cover; display:block }
.cal-render-hero figcaption{
  position:absolute; right:24px; bottom:24px;
  display:flex; flex-direction:column; gap:6px; align-items:flex-end;
}
.cal-render-hero figcaption .tag{ background:rgba(242,239,233,.92); padding:4px 10px }

.cal-inline-render{
  margin:0; position:relative; height:380px; overflow:hidden;
  border:1px solid var(--rule);
}
.cal-inline-render img{ width:100%; height:100%; object-fit:cover; display:block }
.cal-inline-render figcaption{
  position:absolute; left:14px; bottom:12px;
  background:rgba(242,239,233,.92); padding:4px 10px;
}

/* Tablas tipo dossier */
.cal-tbl{ width:100%; border-collapse:collapse; background:var(--paper); border:1px solid var(--rule-soft) }
.cal-tbl th,
.cal-tbl td{
  text-align:left; vertical-align:top; padding:18px 22px;
  border-bottom:1px solid var(--rule-soft); font-size:15px; line-height:1.55;
}
.cal-tbl tr:last-child th,
.cal-tbl tr:last-child td{ border-bottom:0 }
.cal-tbl th{
  font-family:var(--mono); font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; font-weight:500; color:var(--ink);
  width:180px; background:var(--bone-2); border-right:1px solid var(--rule-soft);
}
.cal-tbl td{ color:var(--ink-2) }
.cal-tbl td em{ font-style:italic; color:var(--ink) }
.cal-tbl td strong{ color:var(--ink); font-weight:500 }

.cal-lead{
  font-size:15px; line-height:1.6; color:var(--ink-2);
  max-width:680px; margin:0 0 20px;
}

@media (max-width:720px){
  .cal-render-hero{ height:320px }
  .cal-inline-render{ height:240px }
  .cal-tbl th{ width:auto; display:block; border-right:0; border-bottom:0; padding-bottom:4px }
  .cal-tbl td{ display:block; padding-top:6px }
}

.cal-body{ padding:80px 0 }
.cal-grid{ display:grid; grid-template-columns:260px 1fr; gap:80px; align-items:start }
.cal-nav{ position:sticky; top:96px }
.cal-nav .tag{ display:block; margin-bottom:18px }
.cal-nav ol{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; counter-reset:n }
.cal-nav li a{
  display:block; padding:9px 12px; border-left:2px solid transparent;
  font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2);
  transition:all .15s;
}
.cal-nav li a:hover{ border-left-color:var(--ink); color:var(--ink); background:var(--paper) }

.cal-content{ display:flex; flex-direction:column; gap:64px }
.cal-sec{ scroll-margin-top:90px }
.cal-sec-head{ display:flex; align-items:baseline; gap:24px; padding-bottom:20px; margin-bottom:24px; border-bottom:1px solid var(--rule) }
.cal-sec-head .num{ font-family:var(--mono); font-size:14px; letter-spacing:.18em; color:var(--accent) }
.cal-sec-head h2{ font-size:36px; font-weight:400; margin:0; letter-spacing:-.005em }

.cal-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; max-width:720px }
.cal-list li{
  position:relative; padding-left:28px; font-size:15px; line-height:1.65; color:var(--ink-2);
}
.cal-list li::before{
  content:""; position:absolute; left:0; top:.85em;
  width:14px; height:1px; background:var(--ink);
}
.cal-list li em{ font-style:italic; color:var(--ink) }
.cal-list li strong{ color:var(--ink); font-weight:500 }

.cal-foot{ margin-top:60px; padding:40px; background:var(--paper); display:flex; flex-direction:column; gap:16px; align-items:flex-start }
.cal-foot p{ max-width:620px; font-size:15px; line-height:1.6; color:var(--ink-2); margin:0 }

@media (max-width:980px){
  .cal-grid{ grid-template-columns:1fr; gap:40px }
  .cal-nav{ position:static }
  .cal-hero h1{ font-size:64px }
  .nav ul{ display:none }
}
