@font-face{font-family: 'Raleway';font-style: normal;font-weight: 100 900;font-display: swap;src: url('/assets/fonts/raleway.woff2') format('woff2')}@font-face{font-family: 'Raleway Fallback';src: local('Arial');size-adjust: 98%;ascent-override: 92%;descent-override: 24%;line-gap-override: 0%}*, *::before, *::after{box-sizing: border-box;margin: 0;padding: 0}html{scroll-behavior: smooth}html, body{overflow-x: hidden;max-width: 100%}:root{--bg: #0a0a0a;--bg2: #141414;--text: #f5f5f5;--muted: #9a9a9a;--accent: #d40000;--accent-dark: #910000;--accent-text: #ff4d4d;--font: 'Raleway', 'Raleway Fallback', sans-serif;--nav-h: 66px;--max-w: 1400px}body{background: var(--bg);color: var(--text);font-family: var(--font);font-weight: 300;line-height: 1.7;-webkit-font-smoothing: antialiased}a{color: inherit;text-decoration: none}img{display: block;max-width: 100%;height: auto}picture{display: contents}#site-header{position: fixed;inset: 0 0 auto 0;z-index: 100;height: var(--nav-h);background: rgba(10,10,10,.72);backdrop-filter: blur(6px);-webkit-backdrop-filter: blur(6px);transition: background .3s ease}#site-header.scrolled{background: rgba(10,10,10,.95);backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px)}.header-inner{max-width: var(--max-w);margin: 0 auto;height: 100%;display: flex;align-items: center;justify-content: space-between;padding: 0 40px}.logo img{height: 46px;width: auto}#main-nav{display: flex;gap: 40px;align-items: center}#main-nav a{font-size: 15px;font-weight: 700;letter-spacing: 3px;text-transform: uppercase;position: relative;padding-bottom: 4px}#main-nav a::after{content: '';position: absolute;left: 0;bottom: 0;width: 0;height: 1px;background: var(--accent);transition: width .3s ease}#main-nav a:hover::after, #main-nav a.active::after{width: 100%}#menu-toggle{display: none;background: none;border: none;color: var(--text);font-size: 22px;cursor: pointer}.hero{position: relative;width: 100%;height: 100vh;min-height: 600px;overflow: hidden}.hero-img{width: 100%;height: 100%;object-fit: cover;object-position: center 20%}.hero::after{content: '';position: absolute;inset: auto 0 0 0;height: 55%;background: linear-gradient(to top, rgba(10,10,10,.9), transparent);pointer-events: none}.hero-text{position: absolute;left: 40px;bottom: 56px;z-index: 2}.hero-text h1{font-size: clamp(19px, 2.7vw, 36px);font-weight: 900;letter-spacing: 3px;text-transform: uppercase;line-height: 1.2}.hero-text p{font-size: clamp(12px, 1.5vw, 16px);font-weight: 400;letter-spacing: 4px;text-transform: uppercase;margin-top: 6px;color: rgba(245,245,245,.78)}.hero-cta{display: inline-block;margin-top: 16px;padding: 14px 36px;border: 1px solid var(--accent);color: var(--text);font-size: 11px;font-weight: 700;letter-spacing: 3px;text-transform: uppercase;transition: background .2s, color .2s}.hero-cta:hover{background: var(--accent)}.section{max-width: var(--max-w);margin: 0 auto;padding: 80px 40px}.section-title{font-size: clamp(13px, 1.5vw, 16px);font-weight: 700;letter-spacing: 6px;text-transform: uppercase;text-align: center;color: var(--muted);margin-bottom: 60px}.section-title::before{content: '';display: block;width: 40px;height: 1px;background: var(--accent);margin: 0 auto 20px}.page-title{font-size: clamp(28px, 4vw, 46px);font-weight: 900;letter-spacing: 3px;text-transform: uppercase;text-align: center;line-height: 1.1;margin-bottom: 20px}.cat-intro{max-width: 760px;margin: 0 auto 48px;text-align: center;font-size: 15px;line-height: 1.8;color: rgba(245,245,245,.7)}.skip-link{position: fixed;top: 8px;left: 8px;z-index: 2000;transform: translateY(-150%);background: var(--text);color: var(--bg);padding: 10px 16px;border-radius: 6px;font-size: 13px;font-weight: 700;transition: transform .2s}.skip-link:focus{transform: translateY(0)}:focus-visible{outline: 2px solid #fff;outline-offset: 2px}.bio{display: grid;grid-template-columns: 1fr 1.2fr;gap: 80px;align-items: center}.bio-img{position: relative}.bio-img img{width: 100%;aspect-ratio: 2/3;object-fit: cover}.bio-img::before{content: '';position: absolute;inset: -20px 20px 20px -20px;border: 1px solid var(--accent);z-index: -1}.bio-text h2{font-size: clamp(24px, 3vw, 42px);font-weight: 900;letter-spacing: 2px;text-transform: uppercase;line-height: 1.2;margin-bottom: 24px}.bio-text p{font-size: 15px;line-height: 2;color: rgba(245,245,245,.7);margin-bottom: 18px}.cat-cards{display: grid;grid-template-columns: repeat(3, 1fr);gap: 8px}.cat-card{position: relative;aspect-ratio: 4/5;overflow: hidden;background: var(--bg2)}.cat-card img{width: 100%;height: 100%;object-fit: cover;transition: transform .5s ease}.cat-card:hover img{transform: scale(1.05)}.cat-card .cat-label{position: absolute;inset: 0;display: flex;align-items: center;justify-content: center;text-align: center;background: rgba(10,10,10,.62);font-size: 13px;font-weight: 700;letter-spacing: 3px;text-transform: uppercase;transition: background .3s ease;padding: 12px}.cat-card:hover .cat-label{background: rgba(212,0,0,.35)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:8px;grid-auto-rows:1px}@media (max-width: 1200px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.gallery-item{margin:0;overflow:hidden;position:relative}.gallery-item a{display: block;position: relative;overflow: hidden}.gallery-item img{width: 100%;height: auto;transition: transform .5s cubic-bezier(.25,.46,.45,.94)}.gallery-item a:hover img{transform: scale(1.04)}.gallery-item .overlay{position: absolute;inset: 0;background: rgba(212,0,0,0);transition: background .3s ease;display: flex;align-items: flex-end;padding: 16px}.gallery-item a:hover .overlay{background: rgba(212,0,0,.2)}.gallery-item .overlay-title{font-size: 11px;font-weight: 700;letter-spacing: 2px;text-transform: uppercase;opacity: 0;transform: translateY(8px);transition: opacity .3s ease, transform .3s ease}.gallery-item a:hover .overlay-title, .gallery-item a:focus-visible .overlay-title{opacity: 1;transform: translateY(0)}@media (hover: none){.gallery-item .overlay{background: transparent}.gallery-item .overlay-title{opacity: 0}}.cat-filters{display: flex;flex-wrap: wrap;gap: 8px;justify-content: center;margin-bottom: 60px}.cat-filters a{font-size: 10px;font-weight: 700;letter-spacing: 3px;text-transform: uppercase;padding: 13px 18px;min-height: 44px;display: inline-flex;align-items: center;border: 1px solid rgba(255,255,255,.15);transition: border-color .2s, color .2s}.cat-filters a:hover, .cat-filters a.active{border-color: var(--accent);color: var(--accent-text)}.work-page{padding-top: var(--nav-h)}
.work-hero{width: 100%;max-height: 95vh;overflow: hidden;background: var(--bg2)}.work-hero img{width: 100%;max-height: 95vh;object-fit: contain;margin: 0 auto}.work-info{max-width: 800px;margin: 0 auto;padding: 60px 40px}.breadcrumb{font-size: 11px;letter-spacing: 2px;text-transform: uppercase;color: var(--muted);margin-bottom: 24px}.breadcrumb a{color: var(--accent-text)}.breadcrumb span{margin: 0 8px}.work-info h1{font-size: clamp(24px, 4vw, 48px);font-weight: 900;letter-spacing: 3px;text-transform: uppercase;line-height: 1.1;margin-bottom: 16px}.work-info figure{margin: 0}.work-body{font-size: 16px;line-height: 1.8;color: rgba(245,245,245,.85);margin-bottom: 16px}.work-info .work-caption{font-size: 14px;color: var(--muted);margin-bottom: 20px}.work-terms{font-size: 12px;color: var(--muted);margin-bottom: 32px;letter-spacing: .3px}.work-terms span{text-transform: uppercase;letter-spacing: 1.5px;font-size: 10px;color: var(--accent-text);margin-right: 6px}.btn-back{display: inline-block;font-size: 11px;font-weight: 700;letter-spacing: 3px;text-transform: uppercase;padding: 12px 24px;border: 1px solid rgba(255,255,255,.2);transition: border-color .2s, color .2s}.btn-back:hover{border-color: var(--accent);color: var(--accent-text)}.work-nav{display: flex;justify-content: space-between;gap: 16px;margin-top: 40px;padding-top: 24px;border-top: 1px solid rgba(255,255,255,.08);font-size: 12px;letter-spacing: 1px;text-transform: uppercase}.work-nav a{color: var(--muted);transition: color .2s;max-width: 48%}.work-nav a:hover{color: var(--accent-text)}.work-nav-next{text-align: right;margin-left: auto}.related{max-width: var(--max-w);margin: 0 auto;padding: 40px 40px 80px}.related .section-title{margin-bottom: 32px}.related-grid{display: grid;grid-template-columns: repeat(4, 1fr);gap: 8px}@media (max-width: 900px){.related-grid{grid-template-columns: repeat(3, 1fr)}}@media (max-width: 600px){.related-grid{grid-template-columns: repeat(2, 1fr)}.related{padding: 32px 24px 64px}}.about-page{max-width: 820px}.about-title{font-size: clamp(28px, 4vw, 48px);font-weight: 900;letter-spacing: 2px;text-transform: uppercase;line-height: 1.1;margin: 8px 0 24px}.about-intro{font-size: 19px;line-height: 1.7;color: var(--text);margin-bottom: 40px}.about-h2{font-size: clamp(18px, 2.4vw, 26px);font-weight: 800;letter-spacing: 1px;margin: 36px 0 14px}.about-p{font-size: 16px;line-height: 1.9;color: rgba(245,245,245,.8);margin-bottom: 16px}.about-portrait{margin: 0 0 24px;max-width: 320px}.about-portrait img{width: 100%;height: auto;border: 1px solid var(--line, rgba(255,255,255,.1))}@media (min-width: 760px){.about-portrait{float: right;width: 300px;margin: 0 0 24px 40px}}.about-cta{display: flex;flex-wrap: wrap;gap: 16px;margin-top: 44px;clear: both}.about-cta .hero-cta{margin-top: 0}.contact-grid{display: grid;grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));gap: 40px;text-align: center;max-width: 900px;margin: 0 auto}.contact-block h3{font-size: 10px;font-weight: 700;letter-spacing: 4px;text-transform: uppercase;color: var(--accent-text);margin-bottom: 12px}.contact-block p, .contact-block a{font-size: 18px;font-weight: 300}.contact-page-grid{text-align: center;margin-top: 8px}.contact-page-grid .contact-block h2{font-size: 11px;font-weight: 700;letter-spacing: 4px;text-transform: uppercase;color: var(--accent-text);margin-bottom: 12px}.contact-page-grid .contact-note{font-size: 14px;font-weight: 300;line-height: 1.7;color: var(--muted);margin-top: 8px}.contact-page-grid .hero-cta{margin-top: 10px}.contact-page-grid .hero-cta[aria-disabled="true"]{opacity: .55}.contact-block a.email{color: var(--accent-text)}#llamada-footer{display: inline-block;margin-top: 8px;padding: 14px 40px;background: var(--accent);color: #fff;font-family: var(--font);font-size: 12px;font-weight: 700;letter-spacing: 3px;text-transform: uppercase;border: none;cursor: pointer;transition: background .2s}#llamada-footer:hover:not([aria-disabled="true"]){background: var(--accent-dark)}#llamada-footer[aria-disabled="true"]{background: #333;cursor: not-allowed;opacity: .5}#horario-aviso{font-size: 12px;color: var(--muted);margin-top: 12px}footer{border-top: 1px solid rgba(255,255,255,.06);padding: 56px 40px;text-align: center}.footer-nav, .footer-legal{display: flex;flex-wrap: wrap;gap: 18px;justify-content: center}.footer-nav{margin-bottom: 28px}.footer-nav a{font-size: 11px;letter-spacing: 2px;text-transform: uppercase;color: var(--muted);display: inline-flex;align-items: center;min-height: 44px;padding: 0 6px}.footer-nav a:hover{color: var(--text)}.footer-social{display: flex;gap: 24px;justify-content: center;margin-bottom: 32px}.footer-social a{font-size: 11px;letter-spacing: 2px;text-transform: uppercase;color: var(--accent-text)}.footer-social a:hover{color: var(--text)}.footer-copy{font-size: 11px;letter-spacing: 1px;color: var(--muted);margin-bottom: 18px}.footer-legal{margin-bottom: 16px}.footer-legal a{font-size: 10px;letter-spacing: 2px;text-transform: uppercase;color: var(--muted);display: inline-flex;align-items: center;min-height: 44px;padding: 0 6px}.footer-legal a:hover{color: var(--text)}.footer-rights{font-size: 10px;color: var(--muted);max-width: 620px;margin: 0 auto;line-height: 1.8}#lightbox{display: flex;flex-direction: column;gap: 14px;position: fixed;inset: 0;z-index: 1000;background: rgba(0,0,0,.97);align-items: center;justify-content: center;visibility: hidden;opacity: 0;pointer-events: none;transition: opacity .25s ease, visibility .25s ease}#lightbox.active{visibility: visible;opacity: 1;pointer-events: auto}#lightbox-img{max-width: 90vw;max-height: 82vh;object-fit: contain}#lightbox-close{position: absolute;top: 16px;right: 16px;background: none;border: none;color: rgba(255,255,255,.6);font-size: 36px;cursor: pointer;line-height: 1;transition: color .2s;min-width: 48px;min-height: 48px;display: flex;align-items: center;justify-content: center}#lightbox-close:hover{color: var(--accent-text)}#lightbox-view{color: var(--accent-text);text-decoration: underline;font-size: 15px;font-weight: 600;letter-spacing: .3px;padding: 4px 8px}#lightbox-view:hover{color: #fff}#lightbox-view[hidden]{display: none}.legal-page{max-width: 800px;margin: 0 auto;padding: 120px 40px 80px}.legal-page h1{font-size: 32px;font-weight: 900;letter-spacing: 2px;text-transform: uppercase;margin-bottom: 40px}.legal-page h2{font-size: 18px;font-weight: 800;letter-spacing: .5px;margin: 32px 0 12px}.legal-page p{font-size: 14px;color: rgba(245,245,245,.75);line-height: 2;margin-bottom: 14px}.legal-page ul{list-style: none;margin: 0 0 16px;padding: 0}.legal-page li{font-size: 14px;color: rgba(245,245,245,.75);line-height: 1.9;padding-left: 16px;position: relative}.legal-page li::before{content: '—';position: absolute;left: 0;color: var(--accent-text)}.legal-page a{color: var(--accent-text)}.error-actions{display: flex;gap: 16px;justify-content: center;flex-wrap: wrap;margin-top: 32px}.error-actions .hero-cta{margin-top: 0}.cookie-banner{position: fixed;left: 16px;right: 16px;bottom: 16px;z-index: 1500;display: flex;flex-wrap: wrap;align-items: center;gap: 14px;justify-content: center;background: var(--bg2);border: 1px solid var(--line, rgba(255,255,255,.12));border-radius: 12px;padding: 16px 20px;box-shadow: 0 8px 30px rgba(0,0,0,.5);max-width: 760px;margin: 0 auto}.cookie-banner[hidden]{display: none}.cookie-text{font-size: 13px;line-height: 1.6;color: rgba(245,245,245,.85);flex: 1;min-width: 240px;margin: 0}.cookie-text a{color: var(--accent-text)}.cookie-btn{background: var(--text);color: var(--bg);border: none;cursor: pointer;padding: 11px 26px;min-height: 44px;border-radius: 8px;font-family: var(--font);font-size: 12px;font-weight: 700;letter-spacing: 1.5px;text-transform: uppercase;transition: background .2s}.cookie-btn:hover{background: #fff}@media (max-width: 768px){.cookie-banner{bottom: 124px}}.mobile-bar{display: none}.mobile-bar-info{background: rgba(10,10,10,.97);color: var(--text);text-align: center;font-size: 11px;line-height: 1.4;letter-spacing: .3px;padding: 8px 14px}.mobile-bar-info strong{color: #4bbf7a;letter-spacing: 1px;white-space: nowrap}.mobile-bar-btns{display: grid;grid-template-columns: 1fr 1fr;gap: 8px;padding: 8px 10px 10px;background: rgba(10,10,10,.97)}.mb-btn{display: flex;align-items: center;justify-content: center;min-height: 44px;border-radius: 8px;font-size: 13px;font-weight: 700;letter-spacing: 1px;text-transform: uppercase}.mb-call{background: #15683a;color: #fff}.mb-call.is-closed, .mb-call[aria-disabled="true"]{background: #2a2a2a;color: var(--muted);cursor: not-allowed}.mb-email{background: var(--accent-dark);color: #fff}@media (max-width: 900px){.header-inner{padding: 0 20px}#site-header,#site-header.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none}#menu-toggle{display: block;position: relative;z-index: 2}.logo{position: relative;z-index: 2}#main-nav{display: none;position: fixed;top: 0;right: 0;bottom: 0;left: 0;height: auto;background: rgba(10,10,10,.98);flex-direction: column;align-items: center;justify-content: center;gap: 32px}#main-nav.open{display: flex}#main-nav a{font-size: 18px}.bio{grid-template-columns: 1fr;gap: 40px}.cat-cards{grid-template-columns: repeat(2, 1fr)}.hero-text{left: 24px;right: 24px;bottom: 64px}}@media (max-width: 768px){.section{padding: 64px 24px}.work-info{padding: 48px 24px}.legal-page{padding: 110px 24px 80px}footer{padding: 48px 24px}.footer-nav, .footer-legal{gap: 14px}.mobile-bar{display: block;position: fixed;left: 0;right: 0;bottom: 0;z-index: 200;box-shadow: 0 -2px 16px rgba(0,0,0,.55);border-top: 1px solid rgba(255,255,255,.08)}body{padding-bottom: 116px}.hero-text{bottom: 193px}}@media (max-width: 480px){.cat-cards{grid-template-columns: 1fr}.section{padding: 56px 18px}.hero{min-height: 520px}.hero-text h1{letter-spacing: 3px}.bio-img::before{display: none}.work-hero img{max-height: 80vh}}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}*, *::before, *::after{animation-duration: .001ms !important;animation-iteration-count: 1 !important;transition-duration: .001ms !important}.cat-card:hover img, .gallery-item a:hover img{transform: none}}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cookie-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}
.cookie-table th,.cookie-table td{border:1px solid var(--line,rgba(255,255,255,.15));padding:8px 10px;text-align:left}
.cookie-table th{background:var(--bg2,rgba(255,255,255,.05));font-weight:700}
.footer-cookie-link{background:none;border:none;padding:0;cursor:pointer;color:inherit;font:inherit;text-decoration:underline}
.footer-cookie-link:hover{color:var(--accent-text)}

/* Flechas de navegación del lightbox */
#lightbox-prev,#lightbox-next{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:0;background:rgba(0,0,0,.45);border:none;color:#fff;font-size:32px;line-height:1;cursor:pointer;z-index:2;transition:background .2s}
#lightbox-prev{left:10px}
#lightbox-next{right:10px}
#lightbox-prev:hover,#lightbox-next:hover{background:rgba(0,0,0,.72)}
@media (max-width:600px){#lightbox-prev,#lightbox-next{width:42px;height:42px;font-size:28px;background:rgba(0,0,0,.55)}}
/* Barra de navegación superior de la ficha */
.work-topnav{position:sticky;top:var(--nav-h);z-index:50;display:flex;align-items:center;gap:12px;background:rgba(10,10,10,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:12px 24px;border-bottom:1px solid rgba(255,255,255,.08);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.work-topnav a{color:rgba(245,245,245,.85);transition:color .2s;white-space:nowrap}
.work-topnav a:hover{color:var(--accent-text)}
.work-topnav .wt-back{margin:0 auto;color:#fff}
.work-topnav .wt-off{opacity:.3;white-space:nowrap}
@media (max-width:600px){.work-topnav{font-size:10px;letter-spacing:1px;padding:10px 14px;gap:8px}}

/* Wordmark junto al logo en el header */
.logo a{display:flex;align-items:center;gap:12px}
.logo-text{color:#fff;font-weight:800;letter-spacing:2px;font-size:15px;text-transform:uppercase;white-space:nowrap;line-height:1}
@media (max-width:600px){.logo-text{font-size:12px;letter-spacing:1px;gap:8px}}
@media (max-width:380px){.logo-text{display:none}}
