/*
Theme Name: Benedicto Moya Minimal
Author: Benedicto Moya
Description: Portfolio audiovisual. Reel, realización, motion graphics, música, IA y contacto. Montserrat y Open Sans incluidas.
Version: 2.0.4
Requires PHP: 7.4
Text Domain: benedicto-moya-minimal
*/
:root{color-scheme:dark;--page:#222;--side:#141414;--text:#c8c8c8;--muted:#929292}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font:16px Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible,video:focus-visible{outline:2px solid white;outline-offset:5px}.skip{position:fixed;top:-60px;left:20px;z-index:20;background:#fff;color:#111;padding:10px}.skip:focus{top:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--side);padding:57px 18px 32px;display:flex;flex-direction:column;z-index:10}.wordmark{border:1px solid #bbb;padding:12px 10px;font-size:24px;font-weight:400;letter-spacing:-1px;text-align:center;white-space:nowrap}nav{margin-top:49px;display:flex;flex-direction:column;gap:19px}nav a{text-transform:uppercase;font-size:14px;line-height:1.35;width:fit-content;transition:color .2s}nav a:hover,nav a[aria-current=page]{color:white}nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.sidebar-bottom{margin-top:auto;font-size:13px;color:var(--muted);line-height:1.7;padding-top:40px}.social{display:flex;gap:15px;margin-top:20px;font-size:13px}.social a:hover{color:#fff}main{margin-left:238px;min-height:100svh;padding:96px 44px 22px 28px;display:flex;flex-direction:column}#content{flex:1}figure{margin:0}.reel video{display:block;width:100%;max-height:76vh;background:#161616;aspect-ratio:16/9;object-fit:contain}figcaption{font-size:13px;color:var(--muted);font-style:italic;line-height:1.5;margin-top:9px}footer{text-align:right;color:var(--muted);font-size:12px;margin-top:70px}.menu-toggle{display:none}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 25px}.project{display:block}.project img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:opacity .3s}.project:hover img{opacity:.75}.project h2{font-size:14px;font-weight:400;text-transform:uppercase;margin:11px 0 5px}.project p{font-size:12px;color:var(--muted);margin:0}.page-title{font-size:14px;text-transform:uppercase;font-weight:400;letter-spacing:.04em;margin:0 0 32px}.info{max-width:850px;line-height:1.8}.info h1,.contact h1{font-size:clamp(32px,4vw,60px);font-weight:400;letter-spacing:-.035em;line-height:1.12;margin:0 0 40px}.info p{max-width:620px}.contact{padding-top:10vh}.contact>a{font-size:clamp(19px,3vw,42px);border-bottom:1px solid #888;word-break:break-word}.contact p{margin-top:36px;color:var(--muted)}.detail h1{font-size:22px;font-weight:400;margin:24px 0 12px}.back{display:inline-block;margin-bottom:28px;font-size:14px}.player{aspect-ratio:16/9;width:100%;background:#111;border:0;display:block}.detail p{max-width:740px;line-height:1.7}.detail .source{display:inline-block;margin-top:20px;text-decoration:underline;font-size:14px} @media(min-width:1700px){.sidebar{width:270px}.wordmark{font-size:27px}main{margin-left:270px;padding:96px 5vw 30px 40px}}@media(max-width:760px){.sidebar{position:sticky;top:0;width:100%;padding:20px;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.wordmark{font-size:22px;padding:9px 12px}.menu-toggle{display:block;border:0;background:transparent;padding:12px 0 12px 20px;font-size:14px}nav{display:none;width:100%;margin:32px 0 20px;gap:22px}.sidebar.open nav{display:flex}.sidebar-bottom{display:none}main{margin:0;padding:35px 20px 20px;min-height:calc(100svh - 88px)}.gallery{grid-template-columns:1fr;gap:32px}.reel video{max-height:none}footer{margin-top:60px}.contact{padding-top:8vh}.info h1{margin-bottom:28px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gallery-view{padding:16px 16px 22px}.gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.project{position:relative;grid-column:span 7;overflow:hidden;background:#181818}.project:nth-child(5n+2),.project:nth-child(5n+3){grid-column:span 5}.project:nth-child(5n+4){grid-column:span 7}.project:nth-child(5n){grid-column:span 12}.project img{height:100%;min-height:220px;aspect-ratio:1.72;object-fit:cover}.project:nth-child(5n) img{aspect-ratio:2.4}.project-caption{position:absolute;inset:auto 0 0;padding:48px 22px 22px;background:linear-gradient(transparent,rgba(0,0,0,.8));opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}.project:hover .project-caption,.project:focus-visible .project-caption{opacity:1;transform:none}.project-caption h2{font-size:16px;color:white;line-height:1.5;margin:0 0 4px}.project-caption span{font-size:12px;color:#bbb}.info .intro{font-size:24px;line-height:1.4;margin-bottom:36px}.text-link{display:inline-block;margin-top:28px;border-bottom:1px solid #777}.reel-wrap{background:#161616}.reel video{min-height:250px}.reel figcaption{padding-top:2px}@media(hover:none){.project-caption{opacity:1;transform:none;padding:36px 16px 16px}}@media(max-width:760px){.gallery-view{padding:12px 12px 20px}.gallery{grid-template-columns:1fr;gap:12px}.project,.project:nth-child(n){grid-column:auto}.project img,.project:nth-child(n) img{aspect-ratio:16/9;min-height:0}.project-caption h2{font-size:14px}.reel video{min-height:0}.info .intro{font-size:21px}} 
/* Typography and contact composition matched to the supplied reference. */
body{font-family:'Open Sans',Arial,sans-serif}.wordmark,nav,.page-title,.project h2,.info h1,.detail h1,.contact-column h2,.contact-column h3{font-family:Montserrat,Arial,sans-serif}nav a{font-weight:300}.wordmark{font-size:21px;letter-spacing:-1px}.contact-view{padding:clamp(110px,18vh,220px) 40px 24px}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.contact-column{min-width:0}.contact-column h2{display:flex;align-items:center;justify-content:center;background:#fff;color:#222;font-size:16px;font-weight:500;text-transform:uppercase;line-height:1.4;min-height:54px;margin:0 0 32px;padding:15px 10px;text-align:center}.contact-column h3{font-size:14px;font-weight:400;text-transform:uppercase;margin:0;line-height:1.6}.contact-block{margin-bottom:26px;font-size:16px;line-height:1.45}.contact-block p{margin:0;color:#969696}.contact-block a{display:block;color:#969696;overflow-wrap:anywhere}.contact-block a:hover{color:#eee}.contact-block em{display:block;color:#969696;margin-bottom:2px}.contact-field{margin:0 0 29px}.contact-field label{font-size:16px;display:block;line-height:1.5}.contact-field input,.contact-field textarea{font:inherit;color:#ccc;width:100%;background:transparent;border:0;border-bottom:1px solid #bbb;border-radius:0;display:block;padding:4px 0 9px;min-height:28px;outline-offset:5px}.contact-field textarea{resize:vertical;min-height:49px}.contact-submit{width:100%;background:transparent;border:1px solid #ccc;border-radius:0;text-transform:uppercase;font-weight:600;font-size:14px;min-height:48px;margin-top:16px;padding:10px;cursor:pointer;transition:background .2s,color .2s}.contact-submit:hover{background:white;color:#222}.form-note{font-size:12px;line-height:1.6;color:#999;margin:12px 0}.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:1px solid white}@media(min-width:1700px){.wordmark{font-size:24px}.contact-view{padding:clamp(150px,20vh,250px) 5vw 30px 40px}.contact-grid{gap:32px}.contact-column h2{min-height:57px}}@media(max-width:1100px) and (min-width:761px){.contact-view{padding:90px 24px 24px}.contact-grid{gap:35px;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-column:last-child{grid-column:1/-1}}@media(max-width:760px){.wordmark{font-size:21px}.contact-view{padding:42px 20px 24px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-column h2{margin-bottom:28px}.contact-block{margin-bottom:24px}.contact-field{margin-bottom:25px}.contact-submit{margin-top:10px}} 

body.admin-bar .sidebar{top:32px}@media(max-width:782px){body.admin-bar .sidebar{top:46px}}

.project-body{margin-top:32px}.project-row{display:flex;flex-wrap:wrap;gap:28px;margin:28px 0}.project-column{flex:var(--column) 1 calc(var(--column)*100% - 28px);min-width:0}.project-column>.project-row{margin:0}.project-body .player{margin:0 0 26px}.project-body h2,.project-body h3,.project-body h4{font-family:Montserrat,sans-serif;font-weight:400;line-height:1.4;margin:24px 0 14px}.project-body h2{font-size:26px}.project-body h3{font-size:22px}.project-body h4{font-size:18px}.project-text{line-height:1.8;overflow-wrap:anywhere}.project-text p{max-width:none}.project-text a{text-decoration:underline}.project-space{height:24px}.project-image{display:block;border:0;padding:0;background:transparent;width:100%;cursor:zoom-in}.project-body img{max-width:100%;height:auto;display:block}.project-gallery{width:100%;min-width:0;margin:24px 0}.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.gallery-slide{flex:0 0 100%;width:100%;scroll-snap-align:start;background:transparent;border:0;padding:0;cursor:zoom-in}.gallery-slide img{width:100%;max-height:80vh;object-fit:contain;margin:auto}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:24px;padding:14px}.gallery-controls button{background:transparent;border:1px solid #777;min-width:44px;min-height:44px;cursor:pointer}.gallery-controls span{font-size:14px}.image-dialog{border:0;padding:50px 16px 16px;background:#141414;color:white;max-width:96vw;max-height:96vh}.image-dialog::backdrop{background:rgba(0,0,0,.92)}.image-dialog img{max-width:90vw;max-height:82vh;object-fit:contain}.close-image{position:absolute;right:16px;top:10px;background:none;border:0;padding:8px;cursor:pointer}@media(max-width:760px){.project-row{display:block}.project-column{margin:24px 0}.project-body h2{font-size:22px}.project-body h3{font-size:20px}}

/* Editable design controls. */
.sidebar nav a{font-size:var(--bm-menu-size,14px)}.info p,.project-text,.contact-block,.contact-field{font-size:var(--bm-body-size,16px)}.gallery{gap:var(--bm-gallery-gap,16px)}

.project-navigation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;width:100%;margin:48px 0 0;padding-top:24px;border-top:1px solid #555}
.project-navigation a{display:flex;flex-direction:column;gap:10px;width:auto;text-transform:none;padding:12px 0}
.project-navigation span{font-size:13px;color:var(--muted)}
.project-navigation strong{font-size:18px;font-weight:400;line-height:1.45;overflow-wrap:anywhere}
.project-navigation .project-next{grid-column:2;text-align:right;align-items:flex-end}
.project-navigation a:hover strong{color:#fff}
@media(max-width:760px){.project-navigation{display:grid;gap:16px}.project-navigation strong{font-size:16px}}

.info.info-with-portrait{max-width:1200px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.8fr);gap:clamp(32px,5vw,80px);align-items:start}
.info-copy{min-width:0}.info-portrait{margin:0}.info-portrait img{display:block;width:100%;height:auto}
@media(max-width:900px){.info.info-with-portrait{grid-template-columns:1fr}.info-portrait{max-width:460px}}

.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-submit:disabled{opacity:.6;cursor:wait}
