@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@600;700;800;900&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --paper:#F1F3EE; --paper-line:#D8DCD3; --ink:#1E2528; --ink-soft:#4A5256;
  --blueprint:#16324F; --blueprint-2:#23486B; --safety:#E2571C; --safety-dark:#B8430F;
  --steel:#7C8489; --card:#FFFFFF;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper); color:var(--ink); font-family:'IBM Plex Sans',sans-serif; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;}
a{color:inherit;}
.wrap{max-width:900px; margin:0 auto; padding:0 28px;}
.display{font-family:'Big Shoulders Display',sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.01em; line-height:.95;}

/* nav */
header.site{position:sticky; top:0; z-index:50; background:var(--paper); border-bottom:1px solid var(--paper-line);}
header.site nav{display:flex; align-items:center; justify-content:space-between; max-width:1100px; margin:0 auto; padding:16px 28px;}
.brand{font-family:'Big Shoulders Display',sans-serif; font-weight:800; font-size:1.35rem; letter-spacing:.03em; text-transform:uppercase; text-decoration:none; color:var(--ink);}
.brand span{color:var(--safety);}
.nav-cta{font-family:'IBM Plex Mono',monospace; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; background:var(--safety); color:#fff; text-decoration:none; padding:9px 16px; border-radius:2px; transition:background .2s;}
.nav-cta:hover{background:var(--safety-dark);}

/* article */
.casopage{padding:52px 0 80px;}
.volver{display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:.8rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-soft); text-decoration:none; margin-bottom:26px; border-bottom:1px solid transparent; transition:.2s;}
.volver:hover{color:var(--safety); border-color:var(--safety);}
.cp-eyebrow{font-family:'IBM Plex Mono',monospace; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--safety); margin-bottom:14px;}
.cp-title{font-size:clamp(1.9rem,4.5vw,3rem); color:var(--blueprint); margin-bottom:26px;}

.cp-meta{list-style:none; border-top:1px solid var(--paper-line); border-bottom:1px solid var(--paper-line); margin-bottom:34px; padding:6px 0;}
.cp-meta li{display:flex; gap:14px; padding:9px 0; border-bottom:1px dashed var(--paper-line); font-size:.95rem;}
.cp-meta li:last-child{border-bottom:none;}
.cp-meta .mk{font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--steel); width:110px; flex-shrink:0; padding-top:3px;}
.cp-meta .mv{color:var(--ink); font-weight:500;}

/* galería */
.cp-gallery{display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-bottom:36px;}
.cp-foto{margin:0;}
.cp-foto .fbox{position:relative; min-height:120px; border:1px solid var(--paper-line); background:var(--card); display:flex; align-items:center; justify-content:center;}
.cp-foto .fbox img{display:block; height:320px; width:auto; max-width:100%; object-fit:contain;}
.cp-foto .fbox .fph{position:absolute; inset:0; z-index:1; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--steel);}
.cp-gallery.single{display:block;}
.cp-gallery.single .fbox{padding:16px;}
.cp-gallery.single .fbox img{height:auto; width:auto; max-width:100%; max-height:440px;}

/* cuerpo */
.cp-body p{color:var(--ink-soft); font-size:1.05rem; margin-bottom:20px;}
.cp-body strong{color:var(--ink); font-weight:600;}

/* cta */
.cp-cta{margin-top:44px; padding:30px 32px; background:linear-gradient(160deg,var(--blueprint),var(--blueprint-2)); border-radius:4px; text-align:center;}
.cp-cta p{color:#DCE6EE; font-size:1.05rem; margin-bottom:18px;}
.btn{display:inline-block; text-decoration:none; font-family:'IBM Plex Mono',monospace; font-size:.85rem; letter-spacing:.05em; text-transform:uppercase; padding:14px 26px; border-radius:2px; transition:.2s;}
.btn-primary{background:var(--safety); color:#fff;}
.btn-primary:hover{background:var(--safety-dark);}

footer{padding:36px 0; text-align:center; font-family:'IBM Plex Mono',monospace; font-size:.78rem; color:var(--steel); border-top:1px solid var(--paper-line);}
footer a{color:var(--steel); text-decoration:none;}

.wa-float{position:fixed; right:22px; bottom:22px; z-index:90; width:58px; height:58px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(30,37,40,.28); transition:.2s;}
.wa-float:hover{background:#1DA851; transform:translateY(-3px);}
.wa-float svg{width:32px; height:32px; fill:currentColor;}

@media (max-width:760px){
  .cp-foto{width:100%;}
  .cp-foto .fbox img{height:auto; width:100%; max-height:360px;}
  .wa-float{right:16px; bottom:16px; width:54px; height:54px;}
}
