/*
Theme Name: JMV · Un Ruido Llamado Ángel
Theme URI: https://jmvillatoro.com/
Author: OpenAI para José María Villatoro
Description: Tema editorial oscuro integrado visualmente con unruidollamadoangel.com. Portada, discos, archivo y últimas entradas listos al activar.
Version: 1.0.3
Text Domain: jmv-urdla
*/
:root{--bg:#060606;--panel:#0b0b0b;--fg:#f2f2f0;--muted:#8a8a86;--line:#242424;--red:#e51c23;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit}img{max-width:100%;height:auto}::selection{background:var(--red);color:#fff}
.site-header{position:sticky;top:0;z-index:50;background:rgba(6,6,6,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{width:min(var(--max),calc(100% - 40px));margin:auto;display:flex;align-items:center;gap:28px;min-height:72px}.brand{font-size:12px;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;white-space:nowrap}.brand b{color:var(--red);font-weight:500}.nav{margin-left:auto;display:flex;gap:22px;align-items:center;flex-wrap:wrap}.nav a{text-decoration:none;color:#aaa;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.nav a:hover{color:#fff}.nav .urdla{color:var(--red)}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}.hero{min-height:76vh;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;padding:74px 0 58px;border-bottom:1px solid var(--line)}.eyebrow{color:var(--red);font-size:11px;letter-spacing:.22em;text-transform:uppercase}.hero h1{font-size:clamp(54px,8vw,118px);font-weight:300;line-height:.88;letter-spacing:-.055em;margin:14px 0 24px}.hero p{max-width:670px;color:#a5a5a0;font-size:18px}.hero-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid #3a3a3a;text-decoration:none;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.btn.primary{border-color:var(--red);background:var(--red);color:#fff}.btn:hover{border-color:#777}.hero-art{aspect-ratio:1/1;border:1px solid var(--line);background:#050505;position:relative;overflow:hidden}.hero-art.whoiam-hero{display:block;text-decoration:none}.hero-art.whoiam-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;filter:none}.hero-art.whoiam-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 35%,rgba(0,0,0,.78) 100%)}.whoiam-overlay{position:absolute;z-index:2;left:32px;right:28px;bottom:30px;display:flex;flex-direction:column;align-items:flex-start}.whoiam-overlay small{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#bcbcbc;margin-bottom:9px}.whoiam-overlay strong{font-size:clamp(38px,5.4vw,72px);line-height:.9;letter-spacing:.025em;font-weight:300;color:#fff}.whoiam-overlay strong i{font-style:normal;color:var(--red)}.whoiam-overlay em{font-style:normal;margin-top:16px;color:#aaa;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.hero-art.whoiam-hero:hover{border-color:#444}.hero-art.whoiam-hero:hover .whoiam-overlay em{color:#fff}.red-line{position:absolute;z-index:3;top:0;left:0;width:6px;height:100%;background:var(--red)}
.section{padding:78px 0;border-bottom:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-head h2{font-size:clamp(34px,5vw,66px);font-weight:300;letter-spacing:-.035em;margin:0}.section-head p{color:var(--muted);max-width:520px;margin:0;font-size:13px}.text-link{color:#aaa;text-decoration:none;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.text-link:hover{color:#fff}
.disc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.disc{display:block;text-decoration:none;border:1px solid var(--line);background:var(--panel);padding:10px;transition:.22s}.disc:hover{transform:translateY(-3px);border-color:#444}.disc-cover{aspect-ratio:1/1;background:#111;overflow:hidden}.disc-cover img{width:100%;height:100%;object-fit:cover;display:block}.disc-meta{padding:14px 4px 6px}.disc-title{font-size:14px}.disc-year{color:#666;font-size:10px;margin-top:4px;letter-spacing:.08em}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.category-card{background:var(--bg);padding:28px;min-height:180px;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between}.category-card span{color:var(--red);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.category-card strong{font-size:26px;font-weight:300}.category-card:hover{background:#0b0b0b}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.post-card{border-top:1px solid var(--line);padding-top:16px}.post-card time{font-size:10px;color:#666;letter-spacing:.08em;text-transform:uppercase}.post-card h3{font-size:24px;font-weight:300;line-height:1.12;margin:10px 0}.post-card h3 a{text-decoration:none}.post-card p{color:#92928e;font-size:13px}.post-card .more{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#bbb;text-decoration:none}
.feature-band{padding:90px 0;background:#0a0a0a;border-bottom:1px solid var(--line)}.feature-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:start}.feature-title{font-size:12px;letter-spacing:.2em;color:var(--red);text-transform:uppercase}.feature-quote{font-size:clamp(32px,5vw,66px);line-height:1.02;letter-spacing:-.04em;font-weight:300;margin:0}.feature-copy{color:#91918d;margin-top:22px;max-width:800px}
.content-wrap{width:min(900px,calc(100% - 40px));margin:60px auto}.entry-title{font-size:clamp(42px,7vw,82px);font-weight:300;line-height:.96;letter-spacing:-.04em;margin:10px 0 20px}.entry-meta{color:#777;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.entry-content{font-size:18px;color:#d6d6d2}.entry-content p{margin:1.25em 0}.entry-content h2,.entry-content h3{font-weight:400;margin-top:1.8em}.entry-content a{color:#fff;text-decoration-color:var(--red);text-underline-offset:3px}.entry-content img{margin:20px 0}.wp-block-image{margin:28px 0}
.site-footer{padding:42px 0 70px;color:#6f6f6b}.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer-grid a{color:#888;text-decoration:none}.footer-grid a:hover{color:#fff}
.archive-list{display:grid;gap:0}.archive-item{display:grid;grid-template-columns:140px 1fr auto;gap:20px;padding:20px 0;border-top:1px solid var(--line);text-decoration:none}.archive-item time{color:#666;font-size:11px}.archive-item strong{font-size:20px;font-weight:300}.archive-item span{color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:1000px){.hero{grid-template-columns:1fr;min-height:auto}.hero-art{max-width:620px}.disc-grid{grid-template-columns:repeat(3,1fr)}.category-grid{grid-template-columns:repeat(2,1fr)}.posts-grid{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr}.nav{gap:14px}}
@media(max-width:680px){.header-inner{width:min(100% - 24px,var(--max));min-height:auto;padding:14px 0;align-items:flex-start;flex-direction:column;gap:12px}.nav{margin-left:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:0;border:1px solid var(--line)}.nav a{padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.nav a:nth-child(even){border-right:0}.container{width:min(100% - 24px,var(--max))}.hero{padding-top:46px;gap:30px}.hero h1{font-size:52px}.hero p{font-size:15px}.section{padding:54px 0}.section-head{align-items:start;flex-direction:column}.disc-grid{grid-template-columns:repeat(2,1fr);gap:10px}.disc{padding:7px}.disc-title{font-size:12px}.category-grid{grid-template-columns:1fr}.category-card{min-height:130px}.posts-grid{grid-template-columns:1fr}.feature-band{padding:60px 0}.archive-item{grid-template-columns:1fr;gap:6px}.content-wrap{width:calc(100% - 24px);margin:36px auto}.entry-content{font-size:17px}}

.header-search{display:flex;align-items:center;gap:0;margin-left:8px;border:1px solid var(--line);background:#090909}.header-search input{width:150px;height:34px;border:0;background:transparent;color:#eee;padding:0 10px;outline:none;font-size:11px}.header-search input::placeholder{color:#666}.header-search button{height:34px;border:0;border-left:1px solid var(--line);background:transparent;color:#999;padding:0 10px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.header-search button:hover{color:#fff}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.header-inner{flex-wrap:wrap}.header-search{margin-left:auto}.nav{order:2;width:100%;margin-left:0}}
@media(max-width:680px){.header-search{width:100%;margin-left:0}.header-search input{flex:1;width:auto}.header-search button{min-width:72px}}

.nav .contact-link{color:var(--red)}
.project-page{padding:78px 0;border-bottom:1px solid var(--line)}.project-hero{display:grid;grid-template-columns:minmax(280px,.85fr) 1.15fr;gap:64px;align-items:center}.project-cover{border:1px solid var(--line);background:#050505}.project-cover img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain}.project-copy h1{font-size:clamp(58px,9vw,126px);line-height:.85;letter-spacing:-.05em;font-weight:300;margin:18px 0 28px}.project-copy h1 span{color:var(--red)}.project-lead{font-size:20px;color:#d0d0cc;max-width:760px}.project-copy p{color:#969692;max-width:760px}.project-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.contact-page{max-width:760px}.contact-intro{color:#999;margin-bottom:32px}.contact-form{display:grid;gap:18px}.contact-form label{display:grid;gap:8px;color:#aaa;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);background:#0a0a0a;color:#f2f2f0;padding:13px 14px;font:inherit;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#555}.contact-form textarea{resize:vertical;min-height:180px}.contact-form .btn{justify-self:start}.form-notice{border:1px solid var(--line);padding:14px 16px;margin:18px 0}.form-notice.success{border-color:#3e6b49}.form-notice.error{border-color:#7a3535}.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.project-hero{grid-template-columns:1fr;gap:34px}.project-cover{max-width:620px}}

/* v9 · entradas editoriales */
.single-main{border-bottom:1px solid var(--line)}
.single-article{width:100%}
.post-hero{padding:72px 0 52px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#090909 0%,#060606 100%)}
.post-hero-inner{width:min(1180px,calc(100% - 40px));margin:auto}
.post-back{display:inline-block;margin-bottom:48px;color:#777;text-decoration:none;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.post-back:hover{color:#fff}
.post-kicker{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:#777;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.post-kicker a{color:var(--red);text-decoration:none}
.post-title{max-width:1100px;margin:16px 0 0;font-size:clamp(48px,7.4vw,102px);font-weight:300;line-height:.95;letter-spacing:-.05em;text-wrap:balance}
.post-deck{max-width:780px;margin:28px 0 0;color:#9b9b96;font-size:19px;line-height:1.55}
.post-featured{width:min(1180px,calc(100% - 40px));margin:50px auto 0}
.post-featured img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;background:#0b0b0b}
.post-reading-grid{width:min(1180px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:180px minmax(0,760px);gap:70px;justify-content:center;padding:72px 0 86px}
.post-rail{position:sticky;top:110px;align-self:start;display:flex;flex-direction:column;gap:10px;color:#666;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.post-rail .rail-rule{width:38px;height:2px;background:var(--red);margin-bottom:8px}
.post-rail a{color:#888;text-decoration:none}.post-rail a:hover{color:#fff}
.post-body{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.82;color:#e0e0dc}
.post-body>p:first-of-type{font-size:23px;line-height:1.72;color:#f0f0ed}
.post-body h2,.post-body h3,.post-body h4{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.025em;line-height:1.1}
.post-body h2{font-size:40px}.post-body h3{font-size:30px}
.post-body blockquote{margin:42px 0;padding:10px 0 10px 28px;border-left:3px solid var(--red);font-size:26px;line-height:1.48;color:#f1f1ee}
.post-body img{display:block;max-width:100%;height:auto;margin:38px auto}
.post-body figure{margin:42px 0}.post-body figcaption{font-family:Arial,Helvetica,sans-serif;color:#666;font-size:11px;letter-spacing:.04em}
.post-body a{color:#fff;text-decoration-color:var(--red);text-decoration-thickness:1px;text-underline-offset:4px}
.post-body hr{border:0;border-top:1px solid var(--line);margin:48px 0}
.post-footer{width:min(960px,calc(100% - 40px));margin:0 auto;padding:0 0 86px}
.post-tags{display:flex;gap:8px;flex-wrap:wrap;padding:22px 0;border-top:1px solid var(--line)}
.post-tags a{padding:7px 10px;border:1px solid var(--line);color:#888;text-decoration:none;font-size:10px;letter-spacing:.08em}
.post-tags a:hover{color:#fff;border-color:#555}
.post-nav{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.post-nav-item{min-height:140px;padding:26px 0;display:flex;flex-direction:column;gap:12px;justify-content:center}
.post-nav-item.next{text-align:right;border-left:1px solid var(--line);padding-left:30px}.post-nav-item.prev{padding-right:30px}
.post-nav-item span{color:#666;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.post-nav-item a{font-size:22px;line-height:1.15;text-decoration:none}.post-nav-item a:hover{color:var(--red)}
@media(max-width:850px){.post-reading-grid{grid-template-columns:1fr;gap:28px}.post-rail{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}.post-rail .rail-rule{margin:0 6px 0 0}.post-body{font-size:19px}.post-title{font-size:clamp(44px,11vw,74px)}}
@media(max-width:680px){.post-hero{padding:42px 0 36px}.post-hero-inner,.post-featured,.post-reading-grid,.post-footer{width:calc(100% - 24px)}.post-back{margin-bottom:32px}.post-title{font-size:44px;line-height:.98}.post-deck{font-size:16px}.post-featured{margin-top:28px}.post-reading-grid{padding:44px 0 58px}.post-body{font-size:18px;line-height:1.72}.post-body>p:first-of-type{font-size:20px}.post-body h2{font-size:32px}.post-body h3{font-size:25px}.post-body blockquote{font-size:22px;margin:32px 0}.post-nav{grid-template-columns:1fr}.post-nav-item.next{border-left:0;border-top:1px solid var(--line);text-align:left;padding-left:0}.post-nav-item.prev{padding-right:0}.post-footer{padding-bottom:58px}}

/* Generic pages */
.page-main{min-height:60vh}.page-hero{border-bottom:1px solid var(--line);padding:54px 0 34px}.page-hero-inner{width:min(var(--max),calc(100% - 40px));margin:auto}.page-title{font-size:clamp(40px,6vw,78px);line-height:.96;letter-spacing:-.04em;font-weight:300;margin:12px 0 0}.page-content{width:min(var(--max),calc(100% - 40px));margin:0 auto;padding:42px 0 72px;max-width:none}.page-content>*:first-child{margin-top:0}.page-content iframe,.page-content video,.page-content audio{max-width:100%}.page-content iframe{width:100%;min-height:70vh;border:0;background:#000}.page-content .wp-block-embed,.page-content .wp-block-html,.page-content .wp-block-group,.page-content .wp-block-cover{max-width:100%}.page-content .alignwide{width:min(var(--max),100%);max-width:none}.page-content .alignfull{width:100%;max-width:none}.page-content table{max-width:100%;overflow:auto;display:block}.page-content pre{overflow:auto}.page-content img{height:auto}.page-content .wp-block-columns{gap:24px}
@media(max-width:680px){.page-hero{padding:38px 0 24px}.page-hero-inner,.page-content{width:calc(100% - 24px)}.page-content{padding:28px 0 54px}.page-content iframe{min-height:60vh}}
