@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fuentes/libre-caslon-text-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Libre Caslon Text';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fuentes/libre-caslon-text-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fuentes/libre-caslon-text-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fuentes/figtree-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fuentes/figtree-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fuentes/figtree-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fuentes/figtree-latin-700-normal.woff2) format('woff2')}
/* Diseño: franjas a todo el ancho con un contenedor central; marfil y azul noche con acento burdeos y dorado. */
:root{
  --ivory:#F7F4EE; --paper:#FFFFFF; --sand:#EAE3D5; --line:#E3DDD1; --line-2:#C9C0AE;
  --navy:#1B2838; --ink:#131D29; --burg:#7A2E3A; --burg-d:#6B2633; --burg-h:#5A1F2A; --gold:#D9B77E;
  --text:#3E4652; --muted:#5B6370; --light:#D5DAE1; --soft:#AEB6C1;
  --serif:'Libre Caslon Text', Georgia, 'Times New Roman', serif;
  --sans:'Figtree', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --wrap:1200px; --gut:clamp(16px, 5vw, 48px);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:var(--ivory); color:var(--navy); font-family:var(--sans); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased}
a{color:var(--burg); text-decoration:none}
a:hover{color:var(--burg-h)}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{outline:3px solid var(--gold); outline-offset:2px}
img{max-width:100%; display:block}
h1,h2,h3{font-family:var(--serif); font-weight:400; color:var(--navy); margin:0; text-wrap:balance; line-height:1.2}
p{margin:0}
.wrap{max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut)}
.eyebrow{font-size:13px; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:var(--burg)}
.on-dark .eyebrow{color:var(--gold)}
.lead{font-size:clamp(17px, 1.6vw, 20px); color:var(--text); max-width:62ch}
.stack{display:flex; flex-direction:column; gap:16px}
.section{padding-block:clamp(56px, 8vw, 104px)}
.section-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:16px 48px; margin-bottom:40px}
.section-head h2{font-size:clamp(30px, 3.4vw, 44px)}
.btn{display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 26px; border-radius:4px; font-weight:600; font-size:16px; border:1px solid transparent; cursor:pointer; font-family:var(--sans); text-align:center}
.btn-primary{background:var(--burg); color:var(--ivory)}
.btn-primary:hover{background:var(--burg-h); color:var(--ivory)}
.btn-ghost{border-color:var(--navy); color:var(--navy); background:transparent}
.btn-ghost:hover{background:var(--navy); color:var(--ivory)}
.btn-gold{background:var(--gold); color:var(--navy); font-weight:700}
.btn-gold:hover{background:#E6C893; color:var(--navy)}
.btn-line-light{border-color:var(--ivory); color:var(--ivory)}
.btn-line-light:hover{background:var(--ivory); color:var(--burg-d)}
.btn-row{display:flex; flex-wrap:wrap; gap:14px}
.more{font-weight:600; font-size:16px}
.tag{display:inline-block; align-self:flex-start; font-size:12px; letter-spacing:.15em; text-transform:uppercase; font-weight:700; padding:6px 12px; border-radius:2px}
.tag-burg{background:var(--burg); color:var(--ivory)}
.tag-sand{background:var(--sand); color:var(--navy)}
.tag-gold{background:var(--gold); color:var(--navy)}
.tag-navy{background:var(--navy); color:var(--ivory)}
.crumb{font-size:14px; color:var(--muted)}
.crumb a{color:var(--muted)}
.crumb span[aria-hidden]{padding-inline:6px}

/* Encabezado */
.site-header{position:sticky; top:env(safe-area-inset-top, 0px); z-index:50; background:var(--ivory); border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:116px}
.brand{display:flex; align-items:center; gap:18px; color:var(--navy); min-width:0; flex:1 1 auto}
.brand:hover{color:var(--navy)}
.brand svg{width:96px; height:96px; flex-shrink:0}
.brand-name{font-family:var(--serif); font-weight:700; font-size:clamp(18px, 2vw, 27px); line-height:1.2}
.brand-role{font-size:12px; letter-spacing:.25em; text-transform:uppercase; color:var(--muted); margin-top:2px}
.nav{display:flex; align-items:center; gap:22px; font-size:15px; font-weight:500; flex-shrink:0}
.nav a{color:var(--navy); padding-block:6px; white-space:nowrap}
.nav a[aria-current="page"]{color:var(--burg); font-weight:700; border-bottom:2px solid var(--burg)}
.nav .btn{padding:10px 20px; min-height:44px; color:var(--ivory); border:0}
.nav .btn[aria-current="page"]{color:var(--ivory); border-bottom:0; box-shadow:0 0 0 3px var(--ivory), 0 0 0 5px var(--burg)}
.menu-btn{display:none; width:48px; height:48px; border:1px solid var(--line-2); border-radius:4px; background:transparent; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0}
.menu-btn svg{width:24px; height:24px}
@media (max-width: 1240px){
  .menu-btn{display:inline-flex}
  .nav{display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:0; background:var(--ivory); border-bottom:1px solid var(--line); box-shadow:0 14px 24px rgba(27,40,56,.12); padding:8px var(--gut) 20px}
  .nav.open{display:flex}
  .nav a{padding:14px 4px; border-bottom:1px solid var(--line); font-size:17px}
  .nav a[aria-current="page"]{border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:16px; padding:14px}
  .site-header .wrap{min-height:84px}
  .brand svg{width:64px; height:64px}
}
@media (max-width: 480px){ .brand svg{width:54px; height:54px} .brand{gap:12px} .brand-role{letter-spacing:.15em; font-size:10px} }

/* Portada */
.hero .wrap{display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr); gap:clamp(32px, 6vw, 80px); align-items:center}
.hero h1{font-size:clamp(36px, 4.6vw, 58px); line-height:1.12}
.hero h1 em{color:var(--burg)}
.photo{position:relative; max-width:420px; width:100%; justify-self:end}
.photo img{display:block; width:100%; height:auto; aspect-ratio:880/1100; object-fit:contain; border-radius:4px; background:var(--paper); box-shadow:0 0 0 1px var(--line)}
.badge{position:static; margin-top:14px; background:var(--navy); color:var(--ivory); padding:14px 22px; border-radius:4px; display:flex; flex-direction:row; align-items:center; gap:14px}
.badge b{font-family:var(--serif); font-weight:400; font-size:38px; color:var(--gold); line-height:1}
.badge span{font-size:14px; line-height:1.4}
@media (max-width: 820px){ .hero .wrap{grid-template-columns:1fr} .photo{justify-self:start; max-width:340px}  }

/* Franjas */
.dark{background:var(--navy); color:var(--ivory)}
.dark h2, .dark h3{color:var(--ivory)}
.creds{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:32px 40px; padding-block:52px}
.cred{border-top:1px solid var(--gold); padding-top:18px; display:flex; flex-direction:column; gap:8px}
.cred h3{font-size:21px; color:var(--gold)}
.cred p{font-size:15px; color:var(--light)}
@media (max-width: 900px){ .creds{grid-template-columns:repeat(2, minmax(0,1fr))} }
@media (max-width: 480px){ .creds{grid-template-columns:1fr} }
.entities{text-align:center; padding-block:56px 0}
.entities p{font-family:var(--serif); font-size:clamp(17px, 1.8vw, 21px); line-height:1.9; max-width:1100px; margin:18px auto 0}
.entities .dot{color:var(--line-2); padding-inline:10px}
.rule{border:0; border-top:1px solid var(--line); margin:48px 0 0}
.clients{text-align:center; padding-block:56px 0}
.clients .sub{color:var(--text); font-size:16px; margin-top:10px}
.logos{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; max-width:560px; margin:24px auto 0}
.logos a{display:flex; align-items:center; justify-content:center; height:112px; padding:14px 22px; background:#000; border-radius:4px}
.logos img{max-height:66px; width:auto; object-fit:contain}
@media (max-width: 480px){ .logos a{height:88px} .logos img{max-height:52px} }

/* Tarjetas */
.grid-2{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:28px}
.grid-3{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px}
.grid-4{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:24px}
@media (max-width: 1000px){ .grid-4{grid-template-columns:repeat(2, minmax(0,1fr))} .grid-3{grid-template-columns:repeat(2, minmax(0,1fr))} }
@media (max-width: 720px){ .grid-2, .grid-3, .grid-4{grid-template-columns:1fr} }
.card{background:var(--paper); border:1px solid var(--line); border-radius:4px; padding:clamp(24px, 3vw, 44px); display:flex; flex-direction:column; gap:18px; min-width:0}
.card.navy{background:var(--navy); border-color:var(--navy); color:var(--ivory)}
.card.navy h3{color:var(--ivory)}
.card.navy p{color:var(--light)}
.card h3{font-size:clamp(24px, 2.4vw, 32px)}
.card p{color:var(--text)}
.card ul{margin:0; padding-left:20px; display:flex; flex-direction:column; gap:10px; font-size:16px; line-height:1.5}
.card .btn{align-self:flex-start; margin-top:auto}
.card .more{margin-top:auto}
.mini{background:var(--paper); border:1px solid var(--line); border-radius:4px; padding:28px; display:flex; flex-direction:column; gap:12px; min-width:0}
.mini h3{font-size:24px}
.mini p{font-size:15px; color:var(--text); line-height:1.75}
.mini .more{margin-top:auto; font-size:15px}
.white{background:var(--paper); border-block:1px solid var(--line)}
.white .mini{background:var(--ivory)}

/* Publicaciones */
.chips{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:12px}
.chips .label{font-size:13px; font-weight:700; color:var(--muted); min-width:56px}
.chip{min-height:44px; padding:8px 18px; border-radius:999px; border:1px solid var(--line-2); background:transparent; color:var(--navy); font-family:var(--sans); font-size:15px; font-weight:600; cursor:pointer}
.chip[aria-pressed="true"]{background:var(--navy); color:var(--ivory); border-color:var(--navy)}
.posts{display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap:24px; margin-top:28px}
.post{background:var(--paper); border:1px solid var(--line); border-radius:4px; padding:30px; display:flex; flex-direction:column; gap:12px; min-width:0}
.post[hidden]{display:none}
.post-meta{display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:var(--muted)}
.post-meta time{margin-left:auto; letter-spacing:0; text-transform:none; font-weight:500; font-size:13px}
.post .ref{font-size:14px; font-weight:600; color:var(--burg)}
.post h3{font-size:22px; line-height:1.35}
.post p{font-size:15px; color:var(--text); flex-grow:1}
.empty{grid-column:1 / -1; padding:36px; text-align:center; color:var(--muted); border:1px dashed var(--line-2); border-radius:4px}

/* Contacto (franja) */
.cta{background:var(--burg-d); color:var(--ivory)}
.cta .wrap{display:grid; grid-template-columns:minmax(0,1fr) minmax(0, 380px); gap:40px 72px; align-items:center; padding-block:clamp(56px, 7vw, 96px)}
.cta h2{color:var(--ivory); font-size:clamp(28px, 3.2vw, 42px)}
.cta p{color:var(--light)}
.cta .info{border-left:1px solid #945060; padding-left:40px; display:flex; flex-direction:column; gap:18px}
.info .k{font-size:12px; letter-spacing:.15em; text-transform:uppercase; color:var(--gold)}
.info .v{color:var(--ivory)}
@media (max-width: 820px){ .cta .wrap{grid-template-columns:1fr} .cta .info{border-left:0; border-top:1px solid #945060; padding:28px 0 0} }
.cta-slim .wrap{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px 48px; padding-block:clamp(48px, 6vw, 80px)}
.cta-slim h2{font-size:clamp(26px, 3vw, 36px)}

/* Pie */
.footer{background:var(--ink); color:var(--soft); font-size:14px}
.footer .wrap{display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px 48px; padding-block:44px 96px}
.footer .fname{font-family:var(--serif); font-size:24px; color:var(--ivory)}
.footer nav{display:flex; flex-wrap:wrap; gap:12px 28px}
.footer a{color:var(--light)}
.footer a:hover{color:var(--ivory)}

/* WhatsApp flotante */
.wa{position:fixed; right:20px; bottom:calc(20px + env(safe-area-inset-bottom, 0px)); z-index:60; display:flex; align-items:center; gap:10px; color:var(--navy)}
.wa:hover{color:var(--navy)}
.wa .pill{background:var(--paper); color:var(--navy); font-size:15px; font-weight:700; padding:10px 16px; border-radius:999px; box-shadow:0 4px 16px rgba(27,40,56,.18)}
.wa .dotbtn{width:62px; height:62px; border-radius:50%; background:#1FA855; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 20px rgba(27,40,56,.28); transition:transform .15s}
.wa:hover .dotbtn{transform:scale(1.06)}
.wa svg{width:32px; height:32px}
@media (max-width: 640px){ .wa{right:14px; bottom:calc(14px + env(safe-area-inset-bottom, 0px)); gap:0; background:#1FA855; border-radius:999px; padding:0 6px 0 16px; box-shadow:0 6px 20px rgba(27,40,56,.28)} .wa .pill{background:none; box-shadow:none; color:#fff; padding:0 4px 0 0; font-size:15px} .wa .pill .long{display:none} .wa .dotbtn{width:50px; height:50px; box-shadow:none} .wa svg{width:28px; height:28px} }

/* Páginas internas */
.page-head{padding-block:clamp(40px, 6vw, 72px) clamp(24px, 4vw, 48px)}
.page-head h1{font-size:clamp(36px, 4.6vw, 60px); line-height:1.1}
.two-col{display:grid; grid-template-columns:minmax(0, 340px) minmax(0,1fr); gap:clamp(32px, 6vw, 96px); align-items:start}
@media (max-width: 860px){ .two-col{grid-template-columns:1fr} }
.list-rows{border-top:1px solid var(--line)}
.list-rows > div{padding:24px 0; border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:6px}
.list-rows .t{font-size:17px; font-weight:700; color:var(--navy)}
.list-rows .d{font-size:15px; color:var(--text)}
.steps{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:32px}
.steps .n{font-family:var(--serif); font-size:40px; color:var(--burg); line-height:1}
.steps h3{font-family:var(--sans); font-weight:700; font-size:18px; margin-top:10px}
.steps p{font-size:15px; color:var(--text); margin-top:6px}
@media (max-width: 900px){ .steps{grid-template-columns:repeat(2, minmax(0,1fr))} }
@media (max-width: 480px){ .steps{grid-template-columns:1fr} }
.pills{display:flex; flex-wrap:wrap; gap:10px}
.pills a{min-height:44px; display:inline-flex; align-items:center; padding:8px 18px; border:1px solid var(--line-2); border-radius:999px; color:var(--navy); font-weight:600; font-size:15px}
.pills a:hover{border-color:var(--navy)}
.whom{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:32px 40px}
.whom > div{border-top:1px solid var(--gold); padding-top:18px; display:flex; flex-direction:column; gap:8px}
.whom h3{font-size:21px; color:var(--gold)}
.whom p{font-size:15px; color:var(--light)}
@media (max-width: 820px){ .whom{grid-template-columns:1fr} }

/* Sobre mí */
.about-hero .wrap{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); column-gap:clamp(28px, 5vw, 72px); row-gap:20px; align-items:start}
.about-head{grid-column:1; grid-row:1} .about-body{grid-column:1; grid-row:2} .about-photo{grid-column:2; grid-row:2; align-self:start; margin-top:8px; max-width:480px}
.about-hero .role{font-family:var(--serif); font-style:italic; font-size:clamp(18px, 2vw, 22px); color:var(--burg)}
@media (max-width: 600px){ .about-hero .wrap{grid-template-columns:1fr} .about-head,.about-body,.about-photo{grid-column:1; grid-row:auto} }
.stats{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:28px 40px; padding-block:52px}
.stats b{display:block; font-family:var(--serif); font-weight:400; font-size:clamp(34px, 4vw, 48px); color:var(--gold); line-height:1.1; font-variant-numeric:tabular-nums}
.stats span{font-size:15px; color:var(--light)}
@media (max-width: 900px){ .stats{grid-template-columns:repeat(2, minmax(0,1fr))} }
.values{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px}
.values div{background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--burg); border-radius:4px; padding:26px 24px; display:flex; flex-direction:column; gap:10px}
.values h3{font-size:22px}
.values p{font-size:15px; color:var(--text)}
@media (max-width: 1000px){ .values{grid-template-columns:repeat(2, minmax(0,1fr))} }
@media (max-width: 520px){ .values{grid-template-columns:1fr} }
.note{padding:20px 24px; background:var(--sand); border-radius:4px; font-size:16px; color:var(--navy)}
.note b{color:var(--burg)}
.timeline{border-top:1px solid var(--line)}
.job{display:grid; grid-template-columns:150px minmax(0,1fr); gap:8px 32px; padding:28px 0; border-bottom:1px solid var(--line)}
.job .y{font-weight:700; color:var(--muted); font-size:15px; font-variant-numeric:tabular-nums; padding-top:4px}
.job h3{font-size:23px}
.job .e{font-size:16px; font-weight:700; color:var(--burg); margin-top:4px}
.job p{font-size:16px; color:var(--text); margin-top:8px}
.job.hi{background:var(--paper); border-left:3px solid var(--burg); padding-inline:28px; margin-block:10px}
.job.hi .y{color:var(--burg)}
.achieve{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px}
.achieve span{font-size:14px; font-weight:600; background:var(--burg); color:var(--ivory); padding:6px 14px; border-radius:999px}
@media (max-width: 640px){ .job{grid-template-columns:1fr} .job.hi{padding-inline:18px} }
.edu > div{display:flex; justify-content:space-between; align-items:baseline; gap:12px 24px; flex-wrap:wrap; padding:24px 0; border-bottom:1px solid var(--line)}
.edu h3{font-size:24px}
.edu .i{color:var(--muted); font-size:16px}
.edu .y{color:var(--burg); font-weight:700; font-size:15px}

/* Formulario */
.contact-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0, 400px); gap:40px 56px; align-items:start}
@media (max-width: 900px){ .contact-grid{grid-template-columns:1fr} }
.form{background:var(--paper); border:1px solid var(--line); border-radius:4px; padding:clamp(22px, 4vw, 48px); display:flex; flex-direction:column; gap:20px}
.form h2{font-size:30px}
.fields{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px}
@media (max-width: 600px){ .fields{grid-template-columns:1fr} }
.field{display:flex; flex-direction:column; gap:8px; font-size:14px; font-weight:600; color:var(--navy)}
.field input, .field select, .field textarea{min-height:50px; padding:12px 14px; border:1px solid var(--line-2); border-radius:4px; background:var(--paper); font-family:var(--sans); font-size:16px; color:var(--navy); width:100%}
.field textarea{resize:vertical; line-height:1.5}
.consent{display:flex; gap:12px; align-items:flex-start; font-size:15px; line-height:1.55; color:var(--text)}
.consent input{width:22px; height:22px; margin-top:2px; flex-shrink:0; accent-color:var(--burg)}
.consent a{font-weight:600; text-decoration:underline}
.err{font-size:14px; font-weight:600; color:var(--burg)}
.fine{font-size:13px; color:var(--muted)}
.ok{padding:24px; border-radius:4px; background:var(--sand); border-left:3px solid var(--burg); display:flex; flex-direction:column; gap:6px}
.ok h3{font-size:22px}
.side{display:flex; flex-direction:column; gap:20px}
.side .box{background:var(--navy); color:var(--ivory); border-radius:4px; padding:32px; display:flex; flex-direction:column; gap:20px}
.side .map{background:var(--sand); border-radius:4px; padding:26px; display:flex; flex-direction:column; gap:10px}
.side .map h3{font-size:20px}
.side .map p{font-size:15px; color:var(--text)}

/* Política */
.legal h2{font-size:clamp(21px, 2.2vw, 26px)}
.legal > div{padding:30px 0; border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:12px}
.legal p{font-size:16px; line-height:1.75; color:var(--text); max-width:72ch}

/* Publicación */
.article{display:grid; grid-template-columns:minmax(0,1fr) minmax(0, 360px); gap:40px 72px; align-items:start}
@media (max-width: 960px){ .article{grid-template-columns:1fr} }
.prose{display:flex; flex-direction:column; gap:18px; border-top:1px solid var(--line); padding-top:36px}
.prose h2{font-size:clamp(23px, 2.4vw, 28px); margin-top:14px}
.prose h2:first-child{margin-top:0}
.prose p{font-size:18px; line-height:1.8; color:var(--text); max-width:68ch}
.prose ul{margin:0; padding-left:22px; display:flex; flex-direction:column; gap:10px; max-width:68ch}
.prose li{font-size:17px; line-height:1.7; color:var(--text)}
.prose li::marker{color:var(--burg)}
.dtable{width:100%; max-width:560px; border-collapse:collapse; font-size:15px; background:#fff; box-shadow:0 0 0 1px var(--line); border-radius:4px; overflow:hidden}
.dtable th{background:var(--navy); color:var(--ivory); text-align:left; padding:10px 14px; font-weight:600; font-size:14px}
.dtable td{padding:8px 14px; border-top:1px solid var(--line); color:var(--text)}
.dtable td:last-child{font-weight:600; color:var(--navy)}
.fact{background:var(--navy); color:var(--ivory); border-radius:4px; padding:28px; display:flex; flex-direction:column; gap:14px}
.fact .k{font-size:12px; color:var(--soft)}
.fact .v{font-size:16px; line-height:1.45}
.fact .ttl{font-size:12px; letter-spacing:.15em; text-transform:uppercase; font-weight:700; color:var(--gold)}
.fact a{color:var(--gold); font-weight:600}
.rel{background:var(--paper); border:1px solid var(--line); border-radius:4px; padding:26px}
.rel a{display:flex; flex-direction:column; gap:6px; padding:18px 0; border-bottom:1px solid var(--line); color:var(--navy)}
.rel a:last-child{border-bottom:0; padding-bottom:0}
.rel .r{font-size:13px; font-weight:600; color:var(--burg)}
.rel .h{font-family:var(--serif); font-size:18px; line-height:1.35}
.share{display:flex; flex-wrap:wrap; gap:10px; align-items:center; border-top:1px solid var(--line); padding-top:18px}

/* Cursor de balanza */
.lcs-cursor{position:fixed; left:0; top:0; z-index:200; pointer-events:none; width:30px; height:24px; margin:-1px 0 0 -15px; opacity:0; transition:opacity .15s; filter:drop-shadow(0 0 1.2px var(--ivory)) drop-shadow(0 0 1.2px var(--ivory))}
.lcs-cursor svg{width:30px; height:24px; overflow:visible; display:block}
html.has-cursor, html.has-cursor a, html.has-cursor button, html.has-cursor label{cursor:none}
html.has-cursor input, html.has-cursor textarea, html.has-cursor select{cursor:auto}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }

/* Ajustes de publicación */
.skip{position:absolute; left:-9999px; top:0; z-index:300; background:var(--navy); color:var(--ivory); padding:12px 18px; border-radius:4px}
.skip:focus{left:16px; top:16px; color:var(--ivory)}
[id]{scroll-margin-top:136px}
@media (max-width: 1240px){ [id]{scroll-margin-top:100px} }
.err{display:flex; flex-direction:column; gap:4px}
.field [aria-invalid="true"]{border-color:var(--burg); box-shadow:0 0 0 1px var(--burg)}
.field .opt{font-weight:500; color:var(--muted)}
.ok:focus{outline:none}
.fact a.src{display:inline-flex; gap:6px; align-items:center}
.nf{text-align:center; padding-block:clamp(80px,12vw,160px)}
.nf h1{font-size:clamp(34px,4.6vw,56px)}
.nf p{margin:18px auto 30px; max-width:52ch; color:var(--text)}
.nf .btn-row{justify-content:center}
