:root {
  --navy:#12344d;
  --navy-dark:#0b263a;
  --blue:#27566e;
  --gold:#b88327;
  --gold-light:#f0d399;
  --paper:#fbfaf7;
  --cream:#f3eee4;
  --mist:#eaf0f2;
  --ink:#172a36;
  --muted:#536773;
  --line:#d5dee1;
  --white:#fff;
  --red:#91362d;
  --green:#315f51;
  --shadow:0 18px 46px rgba(18,52,77,.11);
  --max:1240px;
  --read:790px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:16px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-underline-offset:3px; }
img { display:block; max-width:100%; height:auto; }
button,input,select,textarea { font:inherit; }
.wrap { width:min(var(--max),calc(100% - 40px)); margin-inline:auto; }
.skip { position:fixed; left:16px; top:-100px; z-index:1000; background:var(--white); color:var(--navy); padding:12px 16px; border:2px solid var(--navy); }
.skip:focus { top:16px; }
:focus-visible { outline:3px solid var(--gold-light); outline-offset:3px; }

.topbar { background:var(--navy-dark); color:#eef5f6; font-size:.82rem; }
.topbar .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:8px 0; }
.topbar strong { color:var(--gold-light); }
.site-header { position:sticky; top:0; z-index:50; background:rgba(251,250,247,.97); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:84px; }
.brand { display:flex; align-items:center; gap:12px; min-width:295px; text-decoration:none; }
.brand img { width:46px; height:46px; }
.brand-copy strong { display:block; color:var(--navy); font-size:.9rem; letter-spacing:.045em; line-height:1.2; }
.brand-copy span { display:block; margin-top:3px; color:var(--muted); font-size:.74rem; }
.menu { display:flex; align-items:center; gap:18px; font-size:.86rem; font-weight:750; }
.menu a { padding:11px 0; text-decoration:none; }
.menu a:hover,.menu a[aria-current="page"] { color:var(--blue); }
.menu .cta { padding:12px 16px; border-radius:4px; background:var(--navy); color:var(--white); }
.menu .cta:hover { background:var(--blue); color:var(--white); }
.menu-toggle { display:none; min-width:46px; min-height:44px; border:1px solid var(--line); border-radius:4px; background:var(--white); color:var(--navy); cursor:pointer; font-size:1.35rem; }

.eyebrow,.kicker { margin-bottom:12px; color:var(--red); font-size:.76rem; font-weight:850; letter-spacing:.13em; line-height:1.35; text-transform:uppercase; }
h1,h2,.card h3,.court-body h3,.footer h2,.footer h3 { font-family:Georgia,"Times New Roman",serif; }
.hero {
  position:relative;
  min-height:680px;
  overflow:hidden;
  background-color:var(--navy-dark);
  background-image:linear-gradient(90deg,rgba(5,24,38,.24) 0%,rgba(10,39,56,.14) 30%,rgba(10,35,50,.04) 62%,rgba(10,35,50,.00) 100%),url("portada-derivacion-responsabilidad-1280.webp");
  background-position:center center;
  background-size:cover;
}
.hero-grid { display:flex; align-items:center; min-height:680px; padding:78px 0; }
.hero-copy { width:min(760px,72%); color:var(--white); transform:translateX(clamp(34px,3.1vw,58px)); padding:26px 28px; border-radius:14px; background:linear-gradient(180deg,rgba(5,24,38,.24),rgba(5,24,38,.10)); backdrop-filter:blur(2px); }
.hero .eyebrow { color:var(--gold-light); }
.hero h1,.page-hero h1 { margin:.08em 0 .35em; font-weight:500; line-height:1.03; letter-spacing:-.035em; }
.hero h1 { max-width:760px; color:var(--white); font-size:clamp(2.85rem,5vw,5.2rem); text-wrap:balance; text-shadow:0 2px 18px rgba(0,0,0,.24); }
.hero .lead { max-width:715px; color:#f4f7f8; font-size:clamp(1.08rem,1.5vw,1.34rem); text-shadow:0 1px 10px rgba(0,0,0,.28); }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.hero-note { max-width:700px; margin:20px 0 0; color:#e4ecef; font-size:.9rem; }
.hero .page-tags { margin-top:21px; }
.hero .tag { border-color:rgba(255,255,255,.35); background:rgba(9,33,48,.48); color:var(--white); }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 18px; border:1px solid var(--navy); border-radius:4px; background:var(--navy); color:var(--white); cursor:pointer; font-size:.92rem; font-weight:800; line-height:1.25; text-align:center; text-decoration:none; }
.btn:hover { border-color:var(--blue); background:var(--blue); }
.btn:disabled { cursor:wait; opacity:.7; }
.btn.secondary { background:transparent; color:var(--navy); }
.btn.secondary:hover { background:var(--white); }
.hero .btn { border-color:var(--white); background:var(--white); color:var(--navy-dark); }
.hero .btn:hover { border-color:var(--gold-light); background:var(--gold-light); }
.hero .btn.secondary { border-color:rgba(255,255,255,.72); background:rgba(5,24,38,.24); color:var(--white); }
.hero .btn.secondary:hover { background:rgba(255,255,255,.14); }
.hero-guide-section { position:relative; z-index:2; margin-top:-28px; padding-top:0!important; }
.hero-panel { padding:30px; border:1px solid var(--line); border-top:4px solid var(--gold); background:var(--white); box-shadow:var(--shadow); }
.hero-panel h2 { margin:0 0 16px; color:var(--navy); font-size:clamp(1.55rem,2.2vw,2.05rem); font-weight:500; line-height:1.2; }
.hero-panel ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin:20px 0 0; padding:0; list-style:none; counter-reset:guide; }
.hero-panel li { position:relative; padding-left:38px; color:#354e5b; }
.hero-panel li::before { position:absolute; top:0; left:0; display:grid; width:28px; height:28px; border-radius:50%; background:var(--navy); color:var(--white); content:counter(guide); counter-increment:guide; place-items:center; font-size:.78rem; font-weight:850; }
.hero-panel .deadline { margin:22px 0 0; padding-top:16px; border-top:1px solid var(--line); color:var(--red); font-weight:800; }

.page-hero { border-bottom:1px solid var(--line); background:linear-gradient(120deg,#f7f4ec,#edf2f3); }
.page-hero .wrap { padding:58px 0 48px; }
.page-hero h1 { max-width:1000px; color:var(--navy); font-size:clamp(2.45rem,4.7vw,4.65rem); }
.breadcrumb { margin-bottom:19px; color:var(--muted); font-size:.82rem; font-weight:700; }
.breadcrumb a { text-decoration:none; }
.lead { max-width:860px; color:#314b59; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.12rem,1.65vw,1.4rem); line-height:1.55; }
.page-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.tag { display:inline-flex; padding:6px 10px; border:1px solid #afc0c5; border-radius:999px; background:rgba(255,255,255,.68); color:var(--navy); font-size:.75rem; font-weight:800; }
.review-byline { margin:18px 0 0; color:var(--muted); font-size:.84rem; }
.review-byline a { color:var(--navy); font-weight:800; }

.section { padding:72px 0; }
.section.tight { padding:50px 0; }
.section.cream { background:var(--cream); }
.section.mist { background:var(--mist); }
.section.navy { background:var(--navy); color:var(--white); }
.section h2 { margin:0 0 18px; color:var(--navy); font-size:clamp(2rem,3.1vw,3.25rem); font-weight:500; line-height:1.12; letter-spacing:-.025em; }
.section.navy h2 { color:var(--white); }
.section-intro { max-width:860px; margin-bottom:34px; color:var(--muted); font-size:1.13rem; }
.section.navy .section-intro { color:#d7e2e7; }
.grid-2,.grid-3,.grid-4 { display:grid; gap:20px; }
.grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.card { min-width:0; padding:26px; border:1px solid var(--line); background:var(--white); }
.card.shadow { box-shadow:var(--shadow); }
.card h3 { margin:.15rem 0 .65rem; color:var(--navy); font-size:1.35rem; font-weight:600; line-height:1.25; }
.card p { color:#3e5663; }
.card .more { color:var(--blue); font-weight:800; text-decoration:none; }
.card .more:hover { text-decoration:underline; }
.number-card { position:relative; padding-top:72px; }
.number-card .num { position:absolute; top:20px; left:26px; color:var(--gold); font-family:Georgia,serif; font-size:2rem; font-weight:700; }
.route { border-top:4px solid var(--gold); }

.article-layout { display:grid; grid-template-columns:minmax(0,var(--read)) minmax(250px,310px); align-items:start; gap:64px; }
.article { min-width:0; }
.article>p,.article li { font-size:1.055rem; }
.article h2 { margin:2.2em 0 .65em; color:var(--navy); font-size:2.15rem; font-weight:500; line-height:1.2; scroll-margin-top:110px; }
.article h3 { margin:1.7em 0 .5em; color:var(--navy); font-size:1.3rem; }
.article ul,.article ol { padding-left:1.25rem; }
.article li { margin:.45rem 0; }
.article .answer { margin:10px 0 34px; padding:5px 0 5px 22px; border-left:4px solid var(--gold); color:#2c4654; font-family:Georgia,serif; font-size:1.28rem; line-height:1.65; }
.side { position:sticky; top:108px; }
.side-box { padding:22px; border:1px solid var(--line); background:var(--white); }
.side-box+.side-box { margin-top:16px; }
.side-box h2,.side-box h3 { margin:0 0 11px; color:var(--navy); font-family:inherit; font-size:.85rem; letter-spacing:.08em; text-transform:uppercase; }
.side-box a { display:block; padding:7px 0; color:#395261; font-size:.9rem; text-decoration:none; }
.side-box a:hover { color:var(--red); }

.topic-links { margin:32px 0 42px; padding:26px; border:1px solid var(--line); background:var(--mist); }
.article .topic-links h2 { margin:0 0 18px; font-size:1.65rem; }
.topic-link-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.topic-link-grid a { display:block; padding:15px 16px; border:1px solid #c9d6da; background:var(--white); text-decoration:none; }
.topic-link-grid a:hover { border-color:var(--blue); }
.topic-link-grid strong,.topic-link-grid span { display:block; }
.topic-link-grid strong { color:var(--navy); }
.topic-link-grid span { margin-top:4px; color:var(--muted); font-size:.88rem; }

.notice,.warning,.success { margin:28px 0; padding:20px 22px; border-left:4px solid; }
.notice { border-color:var(--blue); background:#edf4f6; }
.warning { border-color:var(--red); background:#f8eee9; }
.success { border-color:var(--green); background:#eaf2ed; }
.warning.compact { margin:20px 0 0; padding:14px 16px; font-size:.9rem; }
.notice strong,.warning strong,.success strong { color:var(--navy); }
.compare { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:26px 0; }
.compare>div { padding:22px; border:1px solid var(--line); background:var(--white); }
.compare .good { border-top:4px solid var(--green); }
.compare .review { border-top:4px solid var(--red); }
.compare h3 { margin-top:0; }
.table-wrap { overflow-x:auto; margin:26px 0; border:1px solid var(--line); background:var(--white); }
.table-wrap:focus-visible { outline-offset:4px; }
table { width:100%; min-width:680px; border-collapse:collapse; }
th,td { padding:14px 15px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
th { background:var(--navy); color:var(--white); font-size:.83rem; }
tr:last-child td { border-bottom:0; }
.timeline { margin:26px 0; counter-reset:step; }
.timeline-step { position:relative; display:grid; grid-template-columns:52px 1fr; gap:16px; padding:18px 0; border-top:1px solid var(--line); }
.timeline-step::before { display:grid; width:38px; height:38px; border-radius:50%; background:var(--navy); color:var(--white); content:counter(step); counter-increment:step; font-weight:800; place-items:center; }
.timeline-step h3 { margin:.1rem 0 .25rem; }
.timeline-step p { margin:0; color:#455e6b; }
.court-block { margin:32px 0; border:1px solid #bdcbd0; background:#f8fbfb; }
.court-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 20px; background:var(--navy); color:var(--white); }
.court-head strong { font-size:.88rem; letter-spacing:.08em; text-transform:uppercase; }
.court-label { padding:5px 8px; border-radius:999px; background:var(--gold-light); color:var(--navy-dark); font-size:.72rem; font-weight:800; }
.court-body { padding:22px; }
.court-body h3 { margin:0 0 .6rem; font-size:1.45rem; font-weight:500; }
.court-meta { color:var(--muted); font-size:.82rem; font-weight:700; }
.limit { margin-top:15px; padding-top:14px; border-top:1px solid var(--line); color:#4d626d; font-size:.94rem; }
.source-notes { margin-top:42px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:.88rem; }
.source-notes a { color:var(--blue); }
.faq details { padding:18px 0; border-top:1px solid var(--line); }
.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { cursor:pointer; color:var(--navy); font-size:1.06rem; font-weight:800; }
.faq p { margin:.8rem 0 0; color:#415966; }
.checklist { padding:0!important; list-style:none!important; }
.checklist li { position:relative; padding-left:30px; }
.checklist li::before { position:absolute; left:0; top:0; color:var(--green); content:"✓"; font-weight:900; }
.danger-list li::before { color:var(--red); content:"!"; }

.cta-band { padding:48px 0; background:linear-gradient(120deg,var(--navy),#24576a); color:var(--white); }
.cta-band .wrap { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.cta-band h2 { margin:0 0 8px; font-size:2.35rem; font-weight:500; }
.cta-band p { max-width:760px; margin:0; color:#d9e4e8; }
.cta-band .btn { flex:none; border-color:var(--gold-light); background:var(--gold-light); color:var(--navy-dark); }
.profile { display:grid; grid-template-columns:minmax(270px,420px) 1fr; align-items:center; gap:48px; }
.profile-photo { padding:10px; border:1px solid var(--line); background:var(--white); box-shadow:var(--shadow); }
.profile-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; }
.profile h2 { margin-top:0; }
.professional-line { color:var(--navy); font-weight:800; }
.contact-line { color:var(--navy); font-size:1.12rem; font-weight:800; }

.form-shell { padding:32px; border:1px solid var(--line); background:var(--white); box-shadow:var(--shadow); }
.form-section { margin:0; padding:0; border:0; }
.form-section+.form-section { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.form-section legend { margin-bottom:16px; color:var(--navy); font-family:Georgia,serif; font-size:1.4rem; font-weight:600; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1/-1; }
label { color:var(--navy); font-size:.9rem; font-weight:800; }
.optional { color:var(--muted); font-weight:500; }
.required-note { margin:0 0 22px; color:var(--muted); font-size:.85rem; }
input,select,textarea { width:100%; padding:12px; border:1px solid #9eafb5; border-radius:4px; background:var(--white); color:var(--ink); }
textarea { min-height:150px; resize:vertical; }
input:focus,select:focus,textarea:focus { border-color:var(--navy); outline:3px solid rgba(184,131,39,.28); }
.check-row { display:grid; grid-template-columns:22px 1fr; align-items:start; gap:10px; }
.check-row input { width:auto; margin-top:5px; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.form-note { color:var(--muted); font-size:.88rem; }
.form-status { display:none; margin-top:18px; padding:18px; border-left:4px solid; }
.form-status.show { display:block; }
.form-status.status-success { border-color:var(--green); background:#eaf2ed; }
.form-status.status-error { border-color:var(--red); background:#f8eee9; }

.problem-filter { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 12px; }
.filter-btn { padding:8px 12px; border:1px solid #aabcc2; border-radius:999px; background:var(--white); color:var(--navy); cursor:pointer; font-weight:800; }
.filter-btn.active,.filter-btn[aria-pressed="true"] { border-color:var(--navy); background:var(--navy); color:var(--white); }
.filter-status { min-height:1.5em; margin:0 0 24px; color:var(--muted); font-size:.88rem; }
.problem-card[hidden] { display:none; }

.footer { padding:52px 0 26px; background:var(--navy-dark); color:#e7eef1; }
.footer-grid { display:grid; grid-template-columns:1.15fr .9fr .9fr .9fr; gap:34px; }
.footer h2,.footer h3 { margin-top:0; color:var(--white); font-weight:500; }
.footer h3 { font-size:1.1rem; }
.footer a { display:block; padding:4px 0; color:#d7e1e5; font-size:.9rem; text-decoration:none; }
.footer a:hover { color:var(--gold-light); }
.footer .small { color:#b9c9d0; font-size:.84rem; }
.footer-bottom { display:flex; justify-content:space-between; gap:25px; margin-top:34px; padding-top:20px; border-top:1px solid #355164; color:#b9c9d0; font-size:.78rem; }
.review-stamp { display:inline-flex; align-items:center; gap:9px; padding:8px 11px; border:1px solid #b8c8cc; border-radius:999px; background:var(--white); color:var(--navy); font-size:.78rem; font-weight:800; }
.review-stamp::before { width:8px; height:8px; border-radius:50%; background:var(--green); content:""; }

@media (max-width:1120px) {
  .brand { min-width:0; }
  .header-inner { min-height:74px; }
  .menu-toggle { display:block; }
  .menu { position:absolute; top:74px; right:0; left:0; flex-direction:column; align-items:stretch; gap:3px; padding:16px 20px 22px; border-bottom:1px solid var(--line); background:var(--paper); box-shadow:var(--shadow); }
  .js .menu { display:none; }
  .js .menu.open { display:flex; }
  .menu a { padding:9px; }
  .menu .cta { text-align:center; }
  .grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .article-layout { gap:36px; }
  .hero-panel ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:860px) {
  .topbar .wrap { display:block; text-align:center; }
  .topbar .wrap span { display:block; }
  .brand-copy span { display:none; }
  .hero { min-height:620px; background-image:linear-gradient(90deg,rgba(5,24,38,.30),rgba(7,29,43,.12)),url("portada-derivacion-responsabilidad-900.webp"); background-position:58% center; }
  .hero-grid { min-height:620px; padding:58px 0; }
  .hero-copy { width:100%; transform:none; padding:22px 18px; border-radius:12px; background:linear-gradient(180deg,rgba(5,24,38,.24),rgba(5,24,38,.10)); backdrop-filter:blur(2px); }
  .article-layout,.profile { grid-template-columns:1fr; }
  .profile-photo { width:100%; max-width:420px; }
  .intake-layout { grid-template-columns:1fr; }
  .side { position:static; }
  .grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cta-band .wrap { display:block; }
  .cta-band .btn { margin-top:22px; }
  .page-hero .wrap { padding:45px 0 38px; }
}

@media (max-width:620px) {
  .wrap { width:min(var(--max),calc(100% - 28px)); }
  .brand-copy strong { max-width:220px; font-size:.78rem; }
  .hero { min-height:640px; }
  .hero-grid { min-height:640px; padding:48px 0 62px; }
  .hero h1 { font-size:clamp(2.45rem,11vw,3.35rem); }
  .page-hero h1 { font-size:clamp(2.2rem,10vw,2.85rem); }
  .hero-actions .btn { width:100%; }
  .hero-panel { padding:22px 18px; }
  .hero-panel ol,.topic-link-grid,.grid-2,.grid-3,.grid-4,.compare,.footer-grid,.form-grid { grid-template-columns:1fr; }
  .section { padding:54px 0; }
  .article h2 { font-size:1.8rem; }
  .cta-band h2 { font-size:1.9rem; }
  .footer-bottom { display:block; }
  .footer-bottom>div+div { margin-top:10px; }
  .form-shell { padding:22px 18px; }
  .field.full { grid-column:auto; }
  .court-head { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion:reduce) {
  * { scroll-behavior:auto!important; transition:none!important; }
}

/* Lectura adaptable de comparativas y respaldo de marca. */
.cell-label { display:none; }
.responsive-table { table-layout:fixed; }
.responsive-table th[scope="row"] { background:#f3f5f3; color:var(--navy); text-align:left; font-weight:700; }
.responsive-table td,.responsive-table th { overflow-wrap:anywhere; vertical-align:top; }
.responsive-table .cell-value { display:block; }
.case-section { margin-top:2.5rem; }
.case-card { margin:1.25rem 0; padding:1.5rem; border-left:3px solid var(--gold); background:#f6f5f0; }
.case-card h3 { margin-top:0; }
.case-intro,.source-note { color:var(--muted); font-size:.93rem; }
.jurisprudence-item { padding:1.1rem 0; border-bottom:1px solid var(--line); }
.jurisprudence-item h3 { margin-top:0; }
.faq-link { margin-top:1rem; }
.profile h2 { font-size:clamp(1.7rem,3vw,2.6rem); }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #997019; outline-offset:4px; }
@media (max-width:1120px) { .menu { top:100%; } }
@media (max-width:1120px) {
 .table-wrap { overflow:visible; border:0; box-shadow:none; }
 .responsive-table { display:block; width:100%; min-width:0; border:0; table-layout:auto; }
 .responsive-table thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .responsive-table tbody { display:block; }
 .responsive-table tbody tr { display:block; margin:0 0 1rem; padding:0; border:1px solid var(--line); border-radius:5px; overflow:hidden; }
 .responsive-table tbody tr + tr { margin-top:1rem; }
 .responsive-table tbody th[scope="row"] { display:block; width:100%; padding:1rem; border:0; background:var(--navy); color:#fff; font-size:1rem; }
 .responsive-table tbody td { display:block; width:100%; padding:.9rem 1rem; border:0; border-top:1px solid var(--line); background:var(--white); font-size:1rem; line-height:1.65; }
 .responsive-table .cell-label { display:block; margin-bottom:.25rem; color:var(--navy); font-weight:750; font-size:.86rem; line-height:1.45; }
 .responsive-table .cell-value { display:block; }
}
@media (max-width:860px) {
 .brand-copy span { display:block; font-size:.68rem; line-height:1.35; margin-top:4px; }
 .brand { min-width:0; max-width:calc(100% - 54px); gap:9px; }
 .brand img { width:38px; height:38px; flex:0 0 38px; }
 .brand-copy { min-width:0; }
 .header-inner { padding-top:10px; padding-bottom:10px; }
 .brand-copy strong { line-height:1.3; }
}
@media (max-width:380px) {
 .brand-copy strong { font-size:.73rem; }
 .brand-copy span { font-size:.64rem; }
 .brand img { width:32px; height:32px; flex-basis:32px; }
 .case-card { padding:1.1rem; }
}

/* Ficha local de fechas: controles legibles y salida de impresión aislada. */
.local-questions { margin:2.6rem 0; }
.chronology-tool { margin:3rem 0; padding:1.7rem; border:1px solid var(--line); border-top:4px solid var(--gold); background:#f6f5f0; }
.chronology-tool h2 { margin-top:.5rem; }
.chronology-tool .notice { margin:1.2rem 0; }
.chronology-tool input,.chronology-tool select,.chronology-tool textarea { min-width:0; font-size:1rem; }
.chronology-fields { margin-top:1.5rem; }
.chronology-row { min-width:0; margin:1.3rem 0; padding:1.2rem; border:1px solid #aab9be; background:var(--white); }
.chronology-row legend { padding:0 .4rem; color:var(--navy); font-weight:800; }
.chronology-row textarea { min-height:90px; }
.chronology-remove { margin-top:1rem; padding:.5rem 0; border:0; color:var(--navy); text-decoration:underline; background:transparent; cursor:pointer; }
.chronology-actions .btn { white-space:normal; text-align:center; }
.js-only { display:none; }
.js .js-only { display:flex; }
#chronology-clear-confirm[hidden],#chronology-print-view { display:none; }
@media(max-width:620px) {
 .chronology-tool { padding:1.1rem .9rem; }
 .chronology-row { padding:.9rem; }
 .chronology-actions .btn { width:100%; }
}
@media print {
 body.chronology-print > :not(#chronology-print-view) { display:none!important; }
 body.chronology-print #chronology-print-view { display:block!important; color:#111; background:white; font:11pt/1.45 Arial,sans-serif; }
 #chronology-print-view h1 { font-size:20pt; }
 #chronology-print-view h2 { font-size:14pt; margin-top:1.1rem; }
 #chronology-print-view p { margin:.45rem 0; overflow-wrap:anywhere; white-space:pre-wrap; }
 #chronology-print-view section { break-inside:avoid; border-top:1px solid #aaa; margin-top:1rem; }
}

@media print { #chronology-print-view .print-title { font-size:20pt; } #chronology-print-view h3 { font-size:13pt; } }

/* Accesos temáticos de portada: enlaces nativos, utilizables sin JavaScript. */
.hero .hero-topics a.tag {
  min-height:44px;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  text-align:center;
  text-decoration:none;
}
.hero .hero-topics a.tag:hover,
.hero .hero-topics a.tag:focus-visible,
.hero .hero-topics a.tag:active {
  border-color:var(--gold-light);
  background:rgba(255,255,255,.16);
  color:var(--white);
  text-decoration:underline;
  text-underline-offset:3px;
}
.hero .hero-topics a.tag:focus-visible {
  outline:3px solid var(--gold-light);
  outline-offset:3px;
}
