*{box-sizing:border-box}
body{margin:0;background:#F4F4F4;color:#1A1A1A;font-family:'Arimo','Helvetica Neue',Arial,sans-serif}
a{color:#1A1A1A;text-decoration:none}a:hover{color:#4E3535}
img{display:block;max-width:100%}
.muted{color:#6B6B6B}
.sold{color:#C62828 !important}
.u{text-decoration:underline;text-underline-offset:4px}
.pad{padding-left:80px;padding-right:80px}
.hdr{padding:40px 24px 28px;background:#FFF;display:flex;flex-direction:column;align-items:center;gap:36px;position:relative}
.logo{font-family:'Londrina Solid',sans-serif;font-weight:900;font-size:56px;letter-spacing:.16em;line-height:1;color:#4E3535}
.logo.small{font-size:32px;letter-spacing:.14em}
.nav{display:flex;gap:36px;flex-wrap:wrap;justify-content:center;font-size:12px;letter-spacing:.22em}
.nav a{padding:8px 0}
.nav a[aria-current],.tabs a[aria-current],.tabs summary[aria-current]{text-decoration:underline;text-underline-offset:4px;color:#1A1A1A}
.lang{position:absolute;left:24px;top:40px;display:flex;align-items:center;font-size:12px;letter-spacing:.22em}
.lang a,.menu-lang a{height:44px;padding:0 8px;display:flex;align-items:center;color:#8A8A8A}
.lang a[aria-current],.menu-lang a[aria-current]{color:#1A1A1A;text-decoration:underline;text-underline-offset:4px}
.lang span,.menu-lang span{color:#BDBDBD}
.burger{display:none;position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:10px;padding:0 6px;cursor:pointer}
.burger span{display:block;height:2px;background:#1A1A1A}
.menu{position:fixed;inset:0;z-index:50;background:#F4F4F4;display:flex;flex-direction:column;padding:24px 20px 32px}
.menu[hidden]{display:none}
.menu-top{display:flex;justify-content:space-between;align-items:center}
.menu-close{width:44px;height:44px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer}
.menu-nav{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;text-align:center}
.menu-nav>a,.menu-works>a{font-size:30px;letter-spacing:.16em}
.menu-works{display:flex;flex-direction:column;align-items:center;gap:14px}
.menu-series{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;font-size:12px;letter-spacing:.22em}
.menu-series a{color:#6B6B6B;padding:12px 0;text-transform:uppercase}
.menu-lang{display:flex;justify-content:center;align-items:center;font-size:13px;letter-spacing:.22em}
main{min-height:50vh}
.home{padding-top:64px;display:flex;flex-direction:column;gap:88px}
.events{display:flex;flex-direction:column;gap:24px}
.card{background:#FFF;padding:40px}
.stack{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px;align-items:center}
.card>img{grid-column:1/span 7;width:100%;height:min(56vh,520px);object-fit:cover}
.ev-text{grid-column:8/span 5;display:flex;flex-direction:column;gap:18px}
.kicker{font-size:12px;letter-spacing:.22em;color:#6B6B6B;text-transform:uppercase}
.ev-title{margin:0;font-family:'Londrina Solid',sans-serif;font-weight:900;font-size:34px;line-height:1.15;letter-spacing:.06em;color:#4E3535}
.ev-p{margin:0;font-size:14px;line-height:1.7;letter-spacing:.14em;color:#2A2A2A}
.ev-info{display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.6;letter-spacing:.16em}
.btn{margin-top:6px;min-height:48px;padding:14px 20px;display:flex;align-items:center;justify-content:center;border:1px solid #1A1A1A;font-size:12px;line-height:1.5;letter-spacing:.24em;text-align:center}
.btn:hover{background:#1A1A1A;color:#FFF}
.featured{align-items:end}
.featured img{grid-column:1/span 7;justify-self:center;object-fit:cover}
.featured .meta{grid-column:9/span 3}
.meta{display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.35;letter-spacing:.16em}
.sec-title{margin:0 0 32px;text-align:center;font-size:14px;font-weight:400;letter-spacing:.3em}
.scards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:64px 40px}
.scard{display:flex;flex-direction:column;gap:18px}
.scard img{width:100%;aspect-ratio:2/3;object-fit:cover}
.scard .meta span:first-child{text-transform:uppercase}
.obras{padding-top:56px;display:flex;flex-direction:column;gap:48px}
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.tabs a,.tabs summary{min-height:44px;padding:0 8px;display:flex;align-items:center;color:#6B6B6B;cursor:pointer}
.more{position:relative}
.more summary{list-style:none;gap:8px}
.more summary::-webkit-details-marker{display:none}
.more-list{position:absolute;top:48px;left:50%;transform:translateX(-50%);z-index:5;min-width:260px;background:#FFF;box-shadow:0 6px 24px rgba(0,0,0,.12);padding:8px 0;display:flex;flex-direction:column}
.more-list a{padding:10px 20px;color:#1A1A1A}
.more-list a[aria-current]{background:#F4F4F4;text-decoration:none}
.sdesc{margin:0 auto;max-width:720px;text-align:center;font-size:15px;line-height:1.8;letter-spacing:.16em;color:#3D3D3D}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:64px 40px;align-items:end}
.work{display:flex;flex-direction:column;gap:18px}
.work img{width:100%;height:auto}
.obra{max-width:1280px;margin:0 auto;padding-top:24px;padding-left:48px;padding-right:48px;display:flex;flex-direction:column;gap:24px}
.back{font-size:12px;letter-spacing:.22em;color:#6B6B6B;padding:12px 0;align-self:flex-start}
.detail{display:flex;gap:48px;align-items:center;justify-content:center}
.detail-img{flex:0 0 auto;width:min(calc(100% - 348px),calc(min(72vh,720px) * var(--r)))}
.zoom{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.zoom img{width:100%;height:auto}
.pnav{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:8px}
.pnav button{width:44px;height:44px;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}
.count{min-width:44px;text-align:center;font-size:12px;letter-spacing:.18em;color:#3D3D3D}
.info{flex:0 1 300px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;letter-spacing:.18em}
.info h1{margin:0 0 8px;font-size:18px;font-weight:700;letter-spacing:.24em;text-decoration:underline;text-underline-offset:6px;text-transform:uppercase}
.price{margin-top:12px;font-size:15px}
.btn.wide{align-self:stretch;margin-top:8px}
.cert{margin:4px 0 0;font-size:12px;line-height:1.7;letter-spacing:.12em;color:#6B6B6B}
.lb{position:fixed;inset:0;z-index:60;background:rgba(17,17,17,.96);color:#FFF;display:flex;flex-direction:column;gap:8px;padding:12px 24px 20px}
.lb-top{display:flex;justify-content:space-between;align-items:center;height:44px;flex:none}
.lb-top span{font-size:12px;letter-spacing:.22em;color:#CFCFCF}
.lb button{border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-close{width:44px;height:44px}
.lb-main{flex-grow:1;display:flex;align-items:center;justify-content:center;gap:32px;min-height:0}
.lb-main button{width:56px;height:56px;flex:none}
.lb-main img{max-height:100%;max-width:calc(100% - 176px);object-fit:contain}
.about{max-width:1200px;margin:0 auto;padding-top:72px;padding-left:48px;padding-right:48px;align-items:start;gap:48px}
.about>img{grid-column:span 5;width:100%;aspect-ratio:4/5;object-fit:cover}
.about-text{grid-column:7/span 6;display:flex;flex-direction:column;gap:24px}
.about-text h1{margin:0;font-size:18px;font-weight:600;letter-spacing:.24em;text-decoration:underline;text-underline-offset:6px;text-transform:uppercase}
.about-text p{margin:0;font-size:15px;line-height:1.85;letter-spacing:.16em;color:#2A2A2A}
.contact{margin-top:16px;display:flex;flex-direction:column;gap:10px;font-size:13px;letter-spacing:.18em}
.contact a{text-decoration:underline;text-underline-offset:4px;align-self:flex-start}
.foot{margin-top:120px;padding-top:32px;padding-bottom:48px;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;font-size:12px;letter-spacing:.22em;color:#6B6B6B}
.foot div{display:flex;gap:28px;flex-wrap:wrap}
.foot a{color:#6B6B6B}
.nf{padding-top:80px;text-align:center;letter-spacing:.16em}
.soon{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px}
.soon p{max-width:440px;margin:32px auto 0;font-size:15px;line-height:1.8;letter-spacing:.14em;color:#3D3D3D}
@media (max-width:900px){
  .pad,.obra,.about{padding-left:20px;padding-right:20px}
  .stack{grid-template-columns:1fr;gap:24px}
  .stack>*{grid-column:1/-1 !important}
  .card{padding:20px}
  .card>img{height:auto;max-height:70vh}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 16px}
  .detail{flex-direction:column;align-items:stretch;gap:24px}
  .detail-img{width:100%}
  .lb{padding:12px}
  .lb-main{gap:4px}
  .lb-main button{width:40px}
  .lb-main img{max-width:calc(100% - 88px)}
}
@media (max-width:700px){
  .nav{display:none}
  .burger{display:flex}
  .logo{font-size:32px}
  .lang{position:static}
  .hdr{padding-top:16px;gap:12px}
}
/* Sobre mí: pestañas y contacto */
.pad>.about{padding-left:0;padding-right:0;padding-top:56px;row-gap:48px}
.about>.about-tabs{grid-column:1/-1}
@media (max-width:900px){
  .about>img{order:1}.about>.about-tabs{order:2}.about>.about-text{order:3}
  .about-tabs{flex-wrap:nowrap;gap:8px 20px;font-size:11px;letter-spacing:.18em}
  .about-tabs a{padding:0 4px}
  .pad>.about{padding-top:32px;row-gap:16px}
}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
dl.contact{margin:0;gap:6px}
dl.contact dt{margin-top:14px}
dl.contact dt:first-child{margin-top:0}
dl.contact dd{margin:0;font-size:15px;letter-spacing:.14em}
